llvm-project/llvm/lib/Target/RISCV
Craig Topper 79016f6eef [RISCV] Refine the heuristics for our custom (mul (and X, C2), C1) isel.
Prefer to use SLLI instead of zext.w/zext.h in more cases. SLLI
might be better for compression.
2022-07-14 18:24:10 -07:00
..
AsmParser [RISCV] Implement support for the Zicbop extension 2022-06-28 12:43:26 +01:00
Disassembler Rename `MCFixedLenDisassembler.h` as `MCDecoderOps.h` 2022-05-15 08:44:58 +08:00
MCTargetDesc [CodeGen] Move instruction predicate verification to emitInstruction 2022-07-14 09:33:28 +01:00
TargetInfo
CMakeLists.txt [RISCV] Add a RISCV specific CodeGenPrepare pass. 2022-07-14 10:20:59 -07:00
RISCV.h [RISCV] Add a RISCV specific CodeGenPrepare pass. 2022-07-14 10:20:59 -07:00
RISCV.td [RISCV] Make TuneSiFive7 depend on TuneNoDefaultUnroll instead of listing it for every SiFive7 CPU 2022-07-14 15:57:30 -07:00
RISCVAsmPrinter.cpp [CodeGen] Move instruction predicate verification to emitInstruction 2022-07-14 09:33:28 +01:00
RISCVCallLowering.cpp
RISCVCallLowering.h
RISCVCallingConv.td
RISCVCodeGenPrepare.cpp [RISCV] Add a RISCV specific CodeGenPrepare pass. 2022-07-14 10:20:59 -07:00
RISCVExpandAtomicPseudoInsts.cpp [RISCV] Update comments about getInstSizeInBytes hard-coding the number of bytes. 2022-01-28 09:51:49 -08:00
RISCVExpandPseudoInsts.cpp [RISCV] Fixing undefined physical register issue when subreg liveness tracking enabled. 2022-06-15 16:23:39 +08:00
RISCVFrameLowering.cpp [RISCV] Add early-exit to RVV stack computation. NFCI. 2022-07-13 08:50:08 +01:00
RISCVFrameLowering.h [RISCV] Add early-exit to RVV stack computation. NFCI. 2022-07-13 08:50:08 +01:00
RISCVGatherScatterLowering.cpp [RISCV] Don't require loop simplify form in RISCVGatherScatterLowering. 2022-06-10 13:00:20 -07:00
RISCVISelDAGToDAG.cpp [RISCV] Refine the heuristics for our custom (mul (and X, C2), C1) isel. 2022-07-14 18:24:10 -07:00
RISCVISelDAGToDAG.h [RISCV] Remove doPeepholeLoadStoreADDI. 2022-07-11 10:44:33 -07:00
RISCVISelLowering.cpp [RISCV] Fold (sra (sext_inreg (shl X, C1), i32), C2) -> (sra (shl X, C1+32), C2+32). 2022-07-13 14:34:17 -07:00
RISCVISelLowering.h [RISCV] Exploit fact that vscale is always power of two to replace urem sequence 2022-07-13 10:54:47 -07:00
RISCVInsertVSETVLI.cpp Revert "[RISCV] Avoid changing etype for splat of 0 or -1" 2022-06-29 10:27:02 -07:00
RISCVInstrFormats.td [RISCV] Support mask policy for RVV IR intrinsics. 2022-03-22 01:19:16 -07:00
RISCVInstrFormatsC.td
RISCVInstrFormatsV.td [RISCV] Remove Zvamo Extention 2021-12-20 10:28:39 +08:00
RISCVInstrInfo.cpp [RISCV] Add a scavenge spill slot when use ADDI to compute scalable stack offset 2022-07-03 20:18:13 +08:00
RISCVInstrInfo.h [RISCV] Add a scavenge spill slot when use ADDI to compute scalable stack offset 2022-07-03 20:18:13 +08:00
RISCVInstrInfo.td [RISCV] Add ADDI instr for computing FrameIndex address 2022-07-04 22:13:35 +08:00
RISCVInstrInfoA.td [RISCV] Reduce scalar load/store isel patterns to a single ComplexPattern. NFCI 2022-06-03 09:00:17 -07:00
RISCVInstrInfoC.td
RISCVInstrInfoD.td [RISCV] Add more patterns for FNMADD 2022-06-04 12:31:45 +08:00
RISCVInstrInfoF.td [RISCV] Add more patterns for FNMADD 2022-06-04 12:31:45 +08:00
RISCVInstrInfoM.td [RISCV] Add isCommutable to ADD/ADDW/MUL/AND/OR/XOR/MIN/MAX/CLMUL 2022-04-25 10:53:41 -07:00
RISCVInstrInfoV.td [RISCV] Add scheduling resources for vector segment instructions. 2022-07-12 22:51:58 -07:00
RISCVInstrInfoVPseudos.td [RISCV] Remove true_mask patterns for VRGATHERE16.. 2022-06-21 11:59:37 -07:00
RISCVInstrInfoVSDPatterns.td [RISCV] Increase complexity of RVV element extraction patterns 2022-07-11 10:53:15 +08:00
RISCVInstrInfoVVLPatterns.td [RISCV] Mark fminnum_vl and fmaxnum_vl as commutable. 2022-07-08 10:19:09 -07:00
RISCVInstrInfoZb.td [RISCV] Move some SHXADD matching cases into a ComplexPattern. NFC 2022-07-03 21:57:05 -07:00
RISCVInstrInfoZfh.td [RISCV] Add more patterns for FNMADD 2022-06-04 12:31:45 +08:00
RISCVInstrInfoZicbo.td [RISCV] Implement support for the Zicbop extension 2022-06-28 12:43:26 +01:00
RISCVInstrInfoZk.td [RISCV] Adjust some comments. 2022-02-01 22:53:54 +08:00
RISCVInstructionSelector.cpp [Target] Remove redundant member initialization (NFC) 2022-01-06 22:01:44 -08:00
RISCVLegalizerInfo.cpp
RISCVLegalizerInfo.h
RISCVMCInstLower.cpp [RISCV] Move some methods out of RISCVInstrInfo and into RISCV namespace. 2022-06-12 10:47:21 -07:00
RISCVMachineFunctionInfo.cpp llvm-reduce: Add cloning of target MachineFunctionInfo 2022-06-07 10:14:48 -04:00
RISCVMachineFunctionInfo.h llvm-reduce: Add cloning of target MachineFunctionInfo 2022-06-07 10:14:48 -04:00
RISCVMacroFusion.cpp [RISCV] Add macrofusion infrastructure and one example usage. 2022-06-23 08:38:39 -07:00
RISCVMacroFusion.h [RISCV] Add macrofusion infrastructure and one example usage. 2022-06-23 08:38:39 -07:00
RISCVMakeCompressible.cpp [RISCV] Fix wrong register rename for store value during make-compressible optimization 2022-07-08 18:07:17 +08:00
RISCVMergeBaseOffset.cpp [RISCV] Teach RISCVMergeBaseOffset to handle read-modify-write of a global. 2022-06-28 11:46:24 -07:00
RISCVRedundantCopyElimination.cpp [RISCV] Implement a basic version of AArch64RedundantCopyElimination pass. 2022-02-04 10:43:46 -08:00
RISCVRegisterBankInfo.cpp [Target] Apply clang-tidy fixes for readability-redundant-member-init (NFC) 2022-03-27 22:22:37 -07:00
RISCVRegisterBankInfo.h [nfc][codegen] Move RegisterBank[Info].h under CodeGen 2022-03-01 21:53:25 -08:00
RISCVRegisterBanks.td
RISCVRegisterInfo.cpp [RISCV] Add a scavenge spill slot when use ADDI to compute scalable stack offset 2022-07-03 20:18:13 +08:00
RISCVRegisterInfo.h [RISCV] Set CostPerUse to 1 iff RVC is enabled 2022-01-21 14:44:26 +08:00
RISCVRegisterInfo.td [RISCV] Add llvm.read.register support for vlenb 2022-05-13 09:12:02 -07:00
RISCVSExtWRemoval.cpp [RISCV] transform MI to W variant to remove sext.w 2022-04-22 10:59:26 -07:00
RISCVSchedRocket.td [RISCV] Add schedule class for Zbp extension and Zbr extension 2022-03-01 07:35:59 +00:00
RISCVSchedSiFive7.td [RISCV] Add schedule class for Zbp extension and Zbr extension 2022-03-01 07:35:59 +00:00
RISCVSchedule.td
RISCVScheduleB.td [RISCV] Add schedule class for Zbp extension and Zbr extension 2022-03-01 07:35:59 +00:00
RISCVScheduleV.td [RISCV] Add scheduling resources for vector segment instructions. 2022-07-12 22:51:58 -07:00
RISCVSubtarget.cpp [RISCV] Disable subregister liveness by default 2022-07-14 17:04:10 +01:00
RISCVSubtarget.h [RISCV] Rename getMin/MaxVLen to getArchMin/MaxVlen and make protected [nfc] 2022-06-28 15:54:40 -07:00
RISCVSystemOperands.td [RISCV] Initially support the K-extension instructions on the LLVM MC layer 2022-01-24 14:45:35 +08:00
RISCVTargetMachine.cpp [RISCV] Add a RISCV specific CodeGenPrepare pass. 2022-07-14 10:20:59 -07:00
RISCVTargetMachine.h [RISCV] Store/restore RISCVMachineFunctionInfo into MIR YAML file 2022-04-08 11:55:48 +08:00
RISCVTargetObjectFile.cpp
RISCVTargetObjectFile.h
RISCVTargetTransformInfo.cpp [RISCV] Fix mistake in RISCVTTIImpl::getIntImmCostInst. 2022-07-14 16:42:35 -07:00
RISCVTargetTransformInfo.h [LoopVectorize] Add option to use active lane mask for loop control flow 2022-07-11 13:46:55 +01:00