llvm/lib/Target/Mips
Simon Dardis 4ec176ab25 [mips][ias] Handle more complicated expressions for memory operands
This patch teaches ias for mips to handle expressions such as
(8*4)+(8*31)($sp). Such expression typically occur from the expansion
of multiple macro definitions.

This partially resolves PR/30383.

Thanks to Sean Bruno for reporting the issue!

Reviewers: zoran.jovanovic, vkalintiris

Differential Revision: https://reviews.llvm.org/D24667


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284485 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-18 15:17:17 +00:00
..
AsmParser [mips][ias] Handle more complicated expressions for memory operands 2016-10-18 15:17:17 +00:00
Disassembler [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
InstPrinter Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MCTargetDesc Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
TargetInfo Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
CMakeLists.txt
LLVMBuild.txt
MicroMips32r6InstrFormats.td
MicroMips32r6InstrInfo.td [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
MicroMips64r6InstrFormats.td [mips][microMIPS] Implement DBITSWAP, DLSA and LWUPC and add tests for AUI instructions 2016-09-08 07:41:43 +00:00
MicroMips64r6InstrInfo.td [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
MicroMipsDSPInstrFormats.td
MicroMipsDSPInstrInfo.td
MicroMipsInstrFormats.td Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MicroMipsInstrFPU.td Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
MicroMipsInstrInfo.td [mips] Preparatory work for a generic scheduler 2016-08-24 13:00:47 +00:00
Mips16FrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Use StringRef instead of raw pointers in MCAsmInfo/MCInstrInfo APIs (NFC) 2016-10-01 06:46:33 +00:00
Mips16InstrInfo.h
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp [mips] Preparatory work for a generic scheduler 2016-08-24 13:00:47 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp
Mips16ISelLowering.h
Mips16RegisterInfo.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td [mips] Add IAS support for dvp, evp 2016-10-13 12:12:56 +00:00
Mips32r6InstrInfo.td [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
Mips64InstrInfo.td Target: Remove unused patterns and transforms. NFC. 2016-10-07 00:30:49 +00:00
Mips64r6InstrInfo.td [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
Mips.h
Mips.td [mips] interAptiv based generic schedule model 2016-09-01 14:53:53 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
MipsAsmPrinter.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsCallingConv.td
MipsCCState.cpp
MipsCCState.h
MipsCondMov.td Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsConstantIslandPass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsDelaySlotFiller.cpp Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsEVAInstrFormats.td [mips] Add IAS support for dvp, evp 2016-10-13 12:12:56 +00:00
MipsEVAInstrInfo.td
MipsFastISel.cpp [mips][FastISel] Instantiate the MipsFastISel class only for targets that support FastISel. 2016-10-18 13:05:42 +00:00
MipsFrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsFrameLowering.h
MipsHazardSchedule.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsInstrFormats.td Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsInstrFPU.td Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
MipsInstrInfo.cpp Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
MipsInstrInfo.h Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
MipsInstrInfo.td [mips] Fix sync instruction definition 2016-10-18 14:42:13 +00:00
MipsISelDAGToDAG.cpp [mips] Clang generates unaligned offset for MSA instruction st.d 2016-08-01 06:46:20 +00:00
MipsISelDAGToDAG.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsISelLowering.cpp [mips][FastISel] Instantiate the MipsFastISel class only for targets that support FastISel. 2016-10-18 13:05:42 +00:00
MipsISelLowering.h Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsLongBranch.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsMachineFunction.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsMachineFunction.h
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td Target: Remove unused patterns and transforms. NFC. 2016-10-07 00:30:49 +00:00
MipsOptimizePICCall.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsOptionRecord.h
MipsOs16.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsRegisterInfo.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsRegisterInfo.h
MipsRegisterInfo.td Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsSchedule.td Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
MipsScheduleGeneric.td Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
MipsScheduleP5600.td Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
MipsSEFrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsSEInstrInfo.h Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsSEISelDAGToDAG.cpp Fixed MSVC out of range shift warning 2016-08-01 09:40:38 +00:00
MipsSEISelDAGToDAG.h [mips] Clang generates unaligned offset for MSA instruction st.d 2016-08-01 06:46:20 +00:00
MipsSEISelLowering.cpp [mips] Disable tail calls temporarily 2016-09-27 13:15:54 +00:00
MipsSEISelLowering.h
MipsSERegisterInfo.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsSERegisterInfo.h
MipsSubtarget.cpp
MipsSubtarget.h
MipsTargetMachine.cpp Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp Move the Mangler from the AsmPrinter down to TLOF and clean up the 2016-09-16 07:33:15 +00:00
MipsTargetObjectFile.h Move the Mangler from the AsmPrinter down to TLOF and clean up the 2016-09-16 07:33:15 +00:00
MipsTargetStreamer.h
MSA.txt