llvm-6502/lib/Target/Mips
Toma Tabacu e7684db38f [mips] [IAS] Fix LW with relative label operands.
Summary:
Previously, MCSymbolRefExpr::create() was called with a StringRef of the symbol
name, which it would then search for in the Symbols StringMap (from MCContext).

However, relative labels (which are temporary symbols) are apparently not stored
in the Symbols StringMap, so we end up creating a new {$,.L}tmp symbol
({$,.L}tmp00, {$,.L}tmp10 etc.) each time we create an MCSymbolRefExpr by
passing in the symbol name as a StringRef.

Fortunately, there is a version of MCSymbolRefExpr::create() which takes an
MCSymbol* and we already have an MCSymbol* at that point, so we can just pass
that in instead of the StringRef.

I also removed the local StringRef calls to MCSymbolRefExpr::create() from
expandMemInst(), as those cases can be handled by evaluateRelocExpr() anyway.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9938

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239897 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-17 10:43:45 +00:00
..
AsmParser [mips] [IAS] Fix LW with relative label operands. 2015-06-17 10:43:45 +00:00
Disassembler [mips] Add new format for dmtc2/dmfc2 for Octeon CPUs. 2015-05-28 16:23:16 +00:00
InstPrinter MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
MCTargetDesc Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
TargetInfo [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
CMakeLists.txt
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile
MicroMips32r6InstrFormats.td [mips][microMIPS] Implement ERET and ERETNC instructions 2015-06-11 10:22:46 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPS] Implement ERET and ERETNC instructions 2015-06-11 10:22:46 +00:00
MicroMipsInstrFormats.td
MicroMipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Make usage of NOT16 by code generator 2015-03-11 20:28:31 +00:00
Mips16FrameLowering.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
Mips16FrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
Mips16HardFloat.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
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 [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match 2015-05-07 23:10:21 +00:00
Mips16ISelLowering.h
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][microMIPSr6] Implement BEQZALC, BGEZALC, BGTZALC, BLEZALC, BLTZALC and BNEZALC instructions 2015-05-27 14:19:22 +00:00
Mips64InstrInfo.td Recommit "[mips] [IAS] Add support for BNE and BEQ with an immediate operand." (r239396). 2015-06-11 10:36:10 +00:00
Mips64r6InstrInfo.td
Mips.h [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC. 2015-03-14 09:20:52 +00:00
Mips.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsAsmPrinter.h [mips] Emit the .insn directive for empty basic blocks. 2015-05-08 09:10:15 +00:00
MipsCallingConv.td Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match 2015-05-07 23:10:21 +00:00
MipsCCState.cpp
MipsCCState.h
MipsCondMov.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Do not place users of $ra in the delay slot of call instructions. 2015-05-14 13:17:56 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp [mips][FastISel] Implement bswap. 2015-06-01 16:40:45 +00:00
MipsFrameLowering.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsFrameLowering.h [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsInstrFormats.td [mips] Add new format for dmtc2/dmfc2 for Octeon CPUs. 2015-05-28 16:23:16 +00:00
MipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MipsInstrInfo.cpp [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
MipsInstrInfo.h [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
MipsInstrInfo.td Recommit "[mips] [IAS] Add support for BNE and BEQ with an immediate operand." (r239396). 2015-06-11 10:36:10 +00:00
MipsISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsISelDAGToDAG.h [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsISelLowering.cpp Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
MipsISelLowering.h Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
MipsLongBranch.cpp
MipsMachineFunction.cpp [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMachineFunction.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMCInstLower.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsOptimizePICCall.cpp
MipsOptionRecord.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MipsOs16.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
MipsRegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.h [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.td
MipsSchedule.td [mips] Add itineraries for ext and ins instructions. 2015-03-18 06:28:38 +00:00
MipsSEFrameLowering.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsSEFrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
MipsSEInstrInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEInstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
MipsSEISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelDAGToDAG.h [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelLowering.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
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
MipsSubtarget.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsSubtarget.h Rename TargetSubtargetInfo::enablePostMachineScheduler() to enablePostRAScheduler() 2015-06-13 03:42:16 +00:00
MipsTargetMachine.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsTargetMachine.h Replace string GNU Triples with llvm::Triple in TargetMachine. NFC. 2015-06-11 19:41:26 +00:00
MipsTargetObjectFile.cpp Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetObjectFile.h Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetStreamer.h [mips] [IAS] Add support for the .set softfloat/hardfloat directives. 2015-06-02 09:48:04 +00:00
MSA.txt