llvm-project/llvm/lib/Target/Lanai
Meera Nakrani a3d0dce260 [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop
Changes TTI function getIntImmCostInst to take an additional Instruction parameter,
which enables us to be able to check it is part of a min(max())/max(min()) pattern that will match SSAT.
We can then mark the constant used as free to prevent it being hoisted so SSAT can still be generated.
Required minor changes in some non-ARM backends to allow for the optional parameter to be included.

Differential Revision: https://reviews.llvm.org/D87457
2020-09-22 11:54:10 +00:00
..
AsmParser [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
Disassembler
MCTargetDesc [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Lanai.h [Lanai] Remove unused forward declarations. NFC. 2020-04-22 18:26:50 +01:00
Lanai.td
LanaiAluCode.h
LanaiAsmPrinter.cpp [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
LanaiCallingConv.td
LanaiCondCode.h
LanaiDelaySlotFiller.cpp
LanaiFrameLowering.cpp [Alignment][NFC] Deprecate getMaxAlignment 2020-03-18 14:48:45 +01:00
LanaiFrameLowering.h
LanaiISelDAGToDAG.cpp
LanaiISelLowering.cpp [Alignment][NFC] Migrate the rest of backends 2020-06-08 07:17:20 +00:00
LanaiISelLowering.h
LanaiInstrFormats.td
LanaiInstrInfo.cpp [AMDGPU/MemOpsCluster] Let mem ops clustering logic also consider number of clustered bytes 2020-06-01 22:52:34 +05:30
LanaiInstrInfo.h [AMDGPU/MemOpsCluster] Let mem ops clustering logic also consider number of clustered bytes 2020-06-01 22:52:34 +05:30
LanaiInstrInfo.td
LanaiMCInstLower.cpp
LanaiMCInstLower.h [Lanai] Remove unused forward declarations. NFC. 2020-04-22 18:26:50 +01:00
LanaiMachineFunctionInfo.cpp Lanai: Remove unused method 2020-06-18 10:48:14 -04:00
LanaiMachineFunctionInfo.h Lanai: Remove unused method 2020-06-18 10:48:14 -04:00
LanaiMemAluCombiner.cpp
LanaiRegisterInfo.cpp
LanaiRegisterInfo.h
LanaiRegisterInfo.td
LanaiSchedule.td
LanaiSelectionDAGInfo.cpp [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align 2020-06-30 13:12:31 +00:00
LanaiSelectionDAGInfo.h [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align 2020-06-30 13:12:31 +00:00
LanaiSubtarget.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
LanaiSubtarget.h [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
LanaiTargetMachine.cpp
LanaiTargetMachine.h [Lanai] Remove unused forward declarations. NFC. 2020-04-22 18:26:50 +01:00
LanaiTargetObjectFile.cpp [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. 2020-05-21 15:23:29 -07:00
LanaiTargetObjectFile.h [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. 2020-05-21 15:23:29 -07:00
LanaiTargetTransformInfo.h [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop 2020-09-22 11:54:10 +00:00