llvm-project/llvm/lib/Target/Mips
Sander de Smalen d57bba7cf8 [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference.
To accommodate frame layouts that have both fixed and scalable objects
on the stack, describing a stack location or offset using a pointer + uint64_t
is not sufficient. For this reason, we've introduced the StackOffset class,
which models both the fixed- and scalable sized offsets.

The TargetFrameLowering::getFrameIndexReference is made to return a StackOffset,
so that this can be used in other interfaces, such as to eliminate frame indices
in PEI or to emit Debug locations for variables on the stack.

This patch is purely mechanical and doesn't change the behaviour of how
the result of this function is used for fixed-sized offsets. The patch adds
various checks to assert that the offset has no scalable component, as frame
offsets with a scalable component are not yet supported in various places.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D90018
2020-11-05 11:02:18 +00:00
..
AsmParser [mips] Implement .cpadd directive 2020-03-22 23:34:32 +03:00
Disassembler CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
MCTargetDesc [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
TargetInfo CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
CMakeLists.txt
LLVMBuild.txt
MSA.txt
MicroMips32r6InstrFormats.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MicroMips32r6InstrInfo.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MicroMipsDSPInstrFormats.td
MicroMipsDSPInstrInfo.td
MicroMipsInstrFPU.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MicroMipsInstrFormats.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
MicroMipsInstrInfo.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
MicroMipsSizeReduction.cpp [NFC] Silence compiler warning [-Wmissing-braces]. 2020-02-18 10:37:12 -08:00
Mips.h
Mips.td [mips] Rename FeatureMadd4 to FeatureNoMadd4. NFC 2020-07-15 14:39:38 +03:00
Mips16FrameLowering.cpp [MC] Change MCCFIInstruction::createDefCfaOffset to cfiDefCfaOffset which does not negate Offset 2020-05-22 17:07:11 -07:00
Mips16FrameLowering.h ArrayRef'ize restoreCalleeSavedRegisters. NFCI. 2020-02-29 09:50:23 +01:00
Mips16HardFloat.cpp [AsmPrinter] De-capitalize all AsmPrinter::Emit* but EmitInstruction 2020-02-13 17:06:24 -08:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
Mips16ISelLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp ArrayRef'ize spillCalleeSavedRegisters. NFCI. 2020-02-08 12:19:23 +01:00
Mips16InstrInfo.h [NFC] unsigned->Register in storeRegTo/loadRegFromStack 2020-02-03 14:22:16 +01:00
Mips16InstrInfo.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
Mips16RegisterInfo.cpp CodeGen: More conversions to use Register 2020-04-07 18:54:36 -04:00
Mips16RegisterInfo.h [Mips] Remove unused forward declarations. NFC. 2020-04-23 15:02:18 +01:00
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td [mips] Fix sc, scs, ll, lld instructions expanding 2019-11-27 00:43:25 +03:00
Mips64InstrInfo.td [mips] Implement sle/sleu pseudo instructions 2020-03-22 23:34:31 +03:00
Mips64r6InstrInfo.td [mips] Fix sc, scs, ll, lld instructions expanding 2019-11-27 00:43:25 +03:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [XRay] Change mips to use version 2 sled (PC-relative address) 2020-09-20 17:59:57 -07:00
MipsAsmPrinter.h [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
MipsBranchExpansion.cpp [Mips] Make MipsBranchExpansion aware of BBIT family of branch 2020-03-31 09:20:51 +02:00
MipsCCState.cpp [ADT/STLExtras.h] - Add llvm::is_sorted wrapper and update callers. 2020-04-14 14:11:02 +03:00
MipsCCState.h
MipsCallLowering.cpp [SVE][NFC] Replace some TypeSize comparisons in non-AArch64 Targets 2020-10-15 09:01:21 +01:00
MipsCallLowering.h CallingConvLower.h - remove unnecessary MachineFunction.h include. NFC. 2020-09-04 12:16:48 +01:00
MipsCallingConv.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MipsCondMov.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MipsConstantIslandPass.cpp [CodeGen] Use Align in MachineConstantPool. 2020-05-12 10:06:40 -07:00
MipsDSPInstrFormats.td [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
MipsDSPInstrInfo.td [mips] Split long lines in the code. NFC 2019-11-03 00:50:52 +03:00
MipsDelaySlotFiller.cpp [NFC] Remove unused GetUnderlyingObject paramenter 2020-07-31 02:10:03 -07:00
MipsEVAInstrFormats.td
MipsEVAInstrInfo.td
MipsExpandPseudo.cpp [Mips] Fix gcc -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=Off builds after D71028 2019-12-13 16:41:08 -08:00
MipsFastISel.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsISelDAGToDAG.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
MipsISelDAGToDAG.h
MipsISelLowering.cpp [SVE][NFC] Replace some TypeSize comparisons in non-AArch64 Targets 2020-10-15 09:01:21 +01:00
MipsISelLowering.h MipsISelLowering.h - remove CCState/CCValAssign forward declarations. NFCI. 2020-09-07 18:15:26 +01:00
MipsInstrFPU.td [mips] Implement add.ps, mul.ps and sub.ps 2020-10-30 10:59:15 +03:00
MipsInstrFormats.td [mips][NFC] Remove unused instruction formats 2020-01-28 13:30:59 +01:00
MipsInstrInfo.cpp [CSInfo][MIPS] Don't describe parameters loaded by sub/super reg copy 2020-06-22 10:49:02 +02:00
MipsInstrInfo.h [CSInfo][MIPS] Describe parameter value loaded by ADDiu 2020-06-04 12:39:56 +02:00
MipsInstrInfo.td [mips] Rename FeatureMadd4 to FeatureNoMadd4. NFC 2020-07-15 14:39:38 +03:00
MipsInstructionSelector.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
MipsLegalizerInfo.cpp GlobalISel: Add generic instructions for memory intrinsics 2020-08-26 20:08:45 -04:00
MipsLegalizerInfo.h GlobalISel: Pass LegalizerHelper to custom legalize callbacks 2020-06-18 17:17:38 -04:00
MipsMCInstLower.cpp Allow negative offsets in MipsMCInstLower::LowerOperand 2019-12-04 11:30:00 +00:00
MipsMCInstLower.h Allow negative offsets in MipsMCInstLower::LowerOperand 2019-12-04 11:30:00 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [Mips] Add intrinsics for 4-byte and 8-byte MSA loads/stores. 2020-02-11 11:47:30 +01:00
MipsMTInstrFormats.td
MipsMTInstrInfo.td
MipsMachineFunction.cpp [Alignment][NFC] Migrate MachineFrameInfo::CreateStackObject to Align 2020-07-01 07:28:11 +00:00
MipsMachineFunction.h Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
MipsModuleISelDAGToDAG.cpp
MipsOptimizePICCall.cpp DomTree: Remove getChildren() accessor 2020-07-06 21:58:11 +02:00
MipsOptionRecord.h
MipsOs16.cpp
MipsPfmCounters.td
MipsPreLegalizerCombiner.cpp [Alignment][NFC] MachineMemOperand::getAlign/getBaseAlign 2020-03-27 15:49:13 +00:00
MipsRegisterBankInfo.cpp GlobalISel: Artifact combine unmerge of unmerge 2020-09-01 11:01:33 -04:00
MipsRegisterBankInfo.h [MIPS GlobalISel] RegBankSelect G_MERGE_VALUES and G_UNMERGE_VALUES 2020-02-19 10:09:52 +01:00
MipsRegisterBanks.td
MipsRegisterInfo.cpp [Alignment][NFC] Add DebugStr and operator* 2020-04-06 12:09:45 +00:00
MipsRegisterInfo.h [TargetRegisterInfo] Default trackLivenessAfterRegAlloc() to true 2020-01-19 14:20:37 -08:00
MipsRegisterInfo.td [TableGen] Drop deprecated leading # operation (NOP) and replace ## with # 2020-04-25 16:26:45 -07:00
MipsSEFrameLowering.cpp [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference. 2020-11-05 11:02:18 +00:00
MipsSEFrameLowering.h [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference. 2020-11-05 11:02:18 +00:00
MipsSEISelDAGToDAG.cpp Mips: Don't store MachineFunction in MipsFunctionInfo 2020-06-30 16:08:51 -04:00
MipsSEISelDAGToDAG.h
MipsSEISelLowering.cpp [SelectionDAG] Use Align/MaybeAlign in calls to getLoad/getStore/getExtLoad/getTruncStore. 2020-09-14 13:54:50 -07:00
MipsSEISelLowering.h
MipsSEInstrInfo.cpp [Mips] Make MipsBranchExpansion aware of BBIT family of branch 2020-03-31 09:20:51 +02:00
MipsSEInstrInfo.h [Mips] Make MipsBranchExpansion aware of BBIT family of branch 2020-03-31 09:20:51 +02:00
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h [Mips] Remove unused forward declarations. NFC. 2020-04-23 15:02:18 +01:00
MipsSchedule.td [mips] Implement add.ps, mul.ps and sub.ps 2020-10-30 10:59:15 +03:00
MipsScheduleGeneric.td [mips] Implement add.ps, mul.ps and sub.ps 2020-10-30 10:59:15 +03:00
MipsScheduleP5600.td [mips] Implement add.ps, mul.ps and sub.ps 2020-10-30 10:59:15 +03:00
MipsSubtarget.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MipsSubtarget.h [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MipsTargetMachine.cpp [GlobalISel] Enable usage of BranchProbabilityInfo in IRTranslator. 2020-09-09 14:31:12 -07:00
MipsTargetMachine.h Support addrspacecast initializers with isNoopAddrSpaceCast 2020-07-31 10:42:43 -04:00
MipsTargetObjectFile.cpp [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. 2020-05-21 15:23:29 -07:00
MipsTargetObjectFile.h [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. 2020-05-21 15:23:29 -07:00
MipsTargetStreamer.h MipsTargetStreamer.h - remove unnecessary MipsABIFlagsSection forward declaration. NFC. 2020-04-24 16:21:37 +01:00
Relocation.txt