llvm-project/llvm/lib/Target/Mips
Rafael Espindola e3a20f57d9 Fix pr24486.
This extends the work done in r233995 so that now getFragment (in addition to
getSection) also works for variable symbols.

With that the existing logic to decide if a-b can be computed works even if
a or b are variables. Given that, the expression evaluation can avoid expanding
variables as aggressively and that in turn lets the relocation code see the
original variable.

In order for this to work with the asm streamer, there is now a dummy fragment
per section. It is used to assign a section to a symbol when no other fragment
exists.

This patch is a joint work by Maxim Ostapenko andy myself.

llvm-svn: 249303
2015-10-05 12:07:05 +00:00
..
AsmParser [mips] Handling of immediates bigger than 16 bits 2015-09-28 11:11:34 +00:00
Disassembler [mips][microMIPS] Fix an invalid read for lwm32 and reserved reglist values. 2015-09-18 14:20:54 +00:00
InstPrinter MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
MCTargetDesc Fix pr24486. 2015-10-05 12:07:05 +00:00
TargetInfo [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
CMakeLists.txt Remove getDataLayout() from TargetSelectionDAGInfo (had no users) 2015-07-09 02:10:08 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
MSA.txt Revert r221048 - Test commit 2014-11-01 16:08:03 +00:00
Makefile
MicroMips32r6InstrFormats.td [mips][microMIPS] Implement CACHEE, WRPGPR and WSBH instructions 2015-10-01 12:49:27 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPS] Implement CACHEE, WRPGPR and WSBH instructions 2015-10-01 12:49:27 +00:00
MicroMips64r6InstrFormats.td [mips][microMIPS] Implement DDIV, DMOD, DDIVU and DMODU instructions 2015-08-18 14:40:43 +00:00
MicroMips64r6InstrInfo.td [mips][microMIPS] Implement DDIV, DMOD, DDIVU and DMODU instructions 2015-08-18 14:40:43 +00:00
MicroMipsInstrFPU.td [mips][sched] Split IIBranch into specific instruction classes. 2015-09-22 13:36:28 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Implement PREFX, LHUE, LBE, LBUE, LHE, LWE, SBE, SHE and SWE instructions 2015-09-16 09:14:35 +00:00
MicroMipsInstrInfo.td [mips][sched] Split IIBranch into specific instruction classes. 2015-09-22 13:36:28 +00:00
Mips.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips.td [mips][p5600] Added P5600 processor and initial scheduler. 2015-09-28 18:24:08 +00:00
Mips16FrameLowering.cpp PrologEpilogInserter: Rewrite API to determine callee save regsiters. 2015-07-14 17:17:13 +00:00
Mips16FrameLowering.h PrologEpilogInserter: Rewrite API to determine callee save regsiters. 2015-07-14 17:17:13 +00:00
Mips16HardFloat.cpp De-constify pointers to Type since they can't be modified. NFC 2015-08-01 22:20:21 +00:00
Mips16HardFloatInfo.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16HardFloatInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16ISelDAGToDAG.cpp Make TargetLowering::getPointerTy() taking DataLayout as an argument 2015-07-09 02:09:04 +00:00
Mips16ISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16ISelLowering.cpp Make TargetLowering::getPointerTy() taking DataLayout as an argument 2015-07-09 02:09:04 +00:00
Mips16ISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrFormats.td
Mips16InstrInfo.cpp [mips] Make sure that we don't adjust the stack pointer by zero amount. 2015-04-02 10:14:54 +00:00
Mips16InstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrInfo.td [mips][sched] Split IIBranch into specific instruction classes. 2015-09-22 13:36:28 +00:00
Mips16RegisterInfo.cpp Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips16RegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips32r6InstrFormats.td [mips][microMIPSr6] Implement initial mapping support 2015-04-20 12:42:08 +00:00
Mips32r6InstrInfo.td [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
Mips64InstrInfo.td [mips][sched] Split IIBranch into specific instruction classes. 2015-09-22 13:36:28 +00:00
Mips64r6InstrInfo.td [mips][microMIPS] Create microMIPS64r6 subtarget and implement DALIGN, DAUI, DAHI, DATI, DEXT, DEXTM and DEXTU instructions 2015-08-12 12:45:16 +00:00
MipsAnalyzeImmediate.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
MipsAnalyzeImmediate.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsAsmPrinter.cpp Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
MipsAsmPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsCCState.cpp De-constify pointers to Type since they can't be modified. NFC 2015-08-01 22:20:21 +00:00
MipsCCState.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsCallingConv.td Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match 2015-05-07 23:10:21 +00:00
MipsCondMov.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsConstantIslandPass.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsDelaySlotFiller.cpp Save LaneMask with livein registers 2015-09-09 18:08:03 +00:00
MipsEVAInstrFormats.td [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
MipsEVAInstrInfo.td [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
MipsFastISel.cpp FastISel: Use finishCondBranch() for ARM,Mips,PowerPC FastISel 2015-08-26 01:55:47 +00:00
MipsFrameLowering.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsFrameLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsISelDAGToDAG.cpp Make TargetLowering::getPointerTy() taking DataLayout as an argument 2015-07-09 02:09:04 +00:00
MipsISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsISelLowering.cpp Remove 'const' from some ArrayRefs. ArrayRefs are already immutable. NFC 2015-09-28 00:15:34 +00:00
MipsISelLowering.h [mips] Reserve address spaces 1-255 for software use. 2015-09-08 09:07:03 +00:00
MipsInstrFPU.td [mips][microMIPS] Fix an issue with selecting sqrt instruction in LLVM backend 2015-10-02 13:06:02 +00:00
MipsInstrFormats.td [mips] Add support for branch-likely pseudo-instructions 2015-09-15 15:06:26 +00:00
MipsInstrInfo.cpp PseudoSourceValue: Replace global manager with a manager in a machine function. 2015-08-11 23:09:45 +00:00
MipsInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsInstrInfo.td [mips][microMIPS] Implement CACHEE, WRPGPR and WSBH instructions 2015-10-01 12:49:27 +00:00
MipsLongBranch.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsMCInstLower.cpp Use MCSymbols for FastISel. 2015-06-23 12:21:54 +00:00
MipsMCInstLower.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsMSAInstrFormats.td [mips] Use PredicateControl for the MSA ASE instructions. NFC. 2015-09-24 12:10:23 +00:00
MipsMSAInstrInfo.td [mips] Use PredicateControl for the MSA ASE instructions. NFC. 2015-09-24 12:10:23 +00:00
MipsMachineFunction.cpp PseudoSourceValue: Transform the mips subclass to target independent subclasses 2015-08-11 23:23:17 +00:00
MipsMachineFunction.h PseudoSourceValue: Transform the mips subclass to target independent subclasses 2015-08-11 23:23:17 +00:00
MipsModuleISelDAGToDAG.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsOptimizePICCall.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsOptionRecord.h [mips] Add COP0 register class and use it in M[FT]C0/DM[FT]C0. 2015-06-27 15:39:19 +00:00
MipsOs16.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsRegisterInfo.cpp Targets: commonize some stack realignment code 2015-07-20 22:51:32 +00:00
MipsRegisterInfo.h Targets: commonize some stack realignment code 2015-07-20 22:51:32 +00:00
MipsRegisterInfo.td [mips] Add COP0 register class and use it in M[FT]C0/DM[FT]C0. 2015-06-27 15:39:19 +00:00
MipsSEFrameLowering.cpp [mips] Remove incorrect DebugLoc entries from prologue 2015-08-28 17:53:26 +00:00
MipsSEFrameLowering.h PrologEpilogInserter: Rewrite API to determine callee save regsiters. 2015-07-14 17:17:13 +00:00
MipsSEISelDAGToDAG.cpp [mips] Remove incorrect DebugLoc entries from prologue 2015-08-28 17:53:26 +00:00
MipsSEISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEISelLowering.cpp propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
MipsSEISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEInstrInfo.cpp [mips] Remove incorrect DebugLoc entries from prologue 2015-08-28 17:53:26 +00:00
MipsSEInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSERegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsSERegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
MipsSchedule.td [mips][p5600] Added P5600 processor and initial scheduler. 2015-09-28 18:24:08 +00:00
MipsScheduleP5600.td [mips][p5600] Added P5600 processor and initial scheduler. 2015-09-28 18:24:08 +00:00
MipsSubtarget.cpp Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
MipsSubtarget.h [mips][p5600] Added P5600 processor and initial scheduler. 2015-09-28 18:24:08 +00:00
MipsTargetMachine.cpp constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
MipsTargetMachine.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsTargetObjectFile.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
MipsTargetObjectFile.h Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
MipsTargetStreamer.h [mips][ias] Implement .cpreturn directive. 2015-09-22 10:50:09 +00:00