llvm-project/llvm/lib/Target/Mips
Simon Dardis 3aa8a90eff [mips] dla expansion without the at register
Previously only the superscalar scheduled expansion of the dla macro for
MIPS64 was implemented. If assembler temporary register is not available
and the optional source register is not the destination register, synthesize
the address using the naive solution of adds and shifts.

This partially resolves PR/30383.

Thanks to Sean Bruno for reporting the issue!

Reviewers: slthakur, seanbruno

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

llvm-svn: 294182
2017-02-06 12:43:46 +00:00
..
AsmParser [mips] dla expansion without the at register 2017-02-06 12:43:46 +00:00
Disassembler [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
InstPrinter Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MCTargetDesc [Mips] Fix some Include What You Use warnings; other minor fixes (NFC). 2017-02-03 23:39:33 +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
MSA.txt Revert: r286868 - Test commit 2016-11-14 19:10:56 +00:00
MicroMips32r6InstrFormats.td [mips][microMIPS] Implement LDC1, SDC1, LDC2, SDC2, LWC1, SWC1, LWC2 and SWC2 instructions and add CodeGen support 2016-07-11 07:41:56 +00:00
MicroMips32r6InstrInfo.td [mips] seb, seh instruction aliases 2016-11-22 19:17:23 +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] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MicroMipsDSPInstrFormats.td
MicroMipsDSPInstrInfo.td
MicroMipsInstrFPU.td [mips] Correct c.cond.fmt instruction definition. 2017-01-16 13:55:58 +00:00
MicroMipsInstrFormats.td [mips] Correct c.cond.fmt instruction definition. 2017-01-16 13:55:58 +00:00
MicroMipsInstrInfo.td [mips] seb, seh instruction aliases 2016-11-22 19:17:23 +00:00
Mips.h Delete dead code. NFC. 2016-06-28 14:26:39 +00:00
Mips.td [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
Mips16FrameLowering.cpp Move FrameInstructions from MachineModuleInfo to MachineFunction 2016-11-30 23:48:42 +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
Mips16ISelDAGToDAG.cpp [mips] Preparatory work for a generic scheduler 2016-08-24 13:00:47 +00:00
Mips16ISelDAGToDAG.h [mips] SelectionDAGISel subclasses now follow the optimization level. 2016-07-14 13:25:22 +00:00
Mips16ISelLowering.cpp CodeGen: Use MachineInstr& in TargetLowering, NFC 2016-06-30 22:52:52 +00:00
Mips16ISelLowering.h CodeGen: Use MachineInstr& in TargetLowering, NFC 2016-06-30 22:52:52 +00:00
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 CodeGen: Use MachineInstr& in TargetInstrInfo, NFC 2016-06-30 00:01:54 +00:00
Mips16InstrInfo.td [mips][mips16] Fix machine verifier errors about incorrect register classes on load/stores. 2016-06-16 10:20:59 +00:00
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 [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
Mips64r6InstrInfo.td [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsAsmPrinter.h [mips] Fix debug information for __thread variable 2017-01-20 17:53:30 +00:00
MipsCCState.cpp
MipsCCState.h
MipsCallingConv.td
MipsCondMov.td Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
MipsConstantIslandPass.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-30 23:21:32 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td [mips] MIPS32/64 itineraries 2016-06-14 09:35:29 +00:00
MipsDelaySlotFiller.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsEVAInstrFormats.td [mips] Add IAS support for dvp, evp 2016-10-13 12:12:56 +00:00
MipsEVAInstrInfo.td [mips] MIPS32/64 itineraries 2016-06-14 09:35:29 +00:00
MipsFastISel.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-30 23:21:32 +00:00
MipsFrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsFrameLowering.h
MipsHazardSchedule.cpp [mips] Fix compact branch hazard detection, part 2 2016-12-22 19:29:50 +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] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsISelLowering.h [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsInstrFPU.td [mips] Correct c.cond.fmt instruction definition. 2017-01-16 13:55:58 +00:00
MipsInstrFormats.td [mips] Correct c.cond.fmt instruction definition. 2017-01-16 13:55:58 +00:00
MipsInstrInfo.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
MipsInstrInfo.h Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
MipsInstrInfo.td [mips] Expansion of BEQL and BNEL with immediate operands 2017-02-02 16:13:49 +00:00
MipsLongBranch.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips][msa] Implement f16 support 2016-11-18 16:17:44 +00:00
MipsMachineFunction.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-30 23:21:32 +00:00
MipsMachineFunction.h [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-30 23:21:32 +00:00
MipsModuleISelDAGToDAG.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
MipsOptimizePICCall.cpp [mips] Do not allow -opt-bisect-limit to skip the PIC call optimization pass. 2016-10-27 15:50:36 +00:00
MipsOptionRecord.h [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
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 [mips][msa] Implement f16 support 2016-11-18 16:17:44 +00:00
MipsSEFrameLowering.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsSEFrameLowering.h [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsSEISelDAGToDAG.cpp [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsSEISelDAGToDAG.h [LLC][MIPS] Fix crash after enabling LLVM_ENABLE_EXPENSIVE_CHECKS 2017-01-04 09:34:37 +00:00
MipsSEISelLowering.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
MipsSEISelLowering.h [mips][msa] Implement f16 support 2016-11-18 16:17:44 +00:00
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
MipsSERegisterInfo.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
MipsSERegisterInfo.h
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
MipsSubtarget.cpp [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsSubtarget.h [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
MipsTargetMachine.cpp [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsTargetMachine.h [Mips] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-01 01:22:51 +00:00
MipsTargetObjectFile.cpp [mips] Fix debug information for __thread variable 2017-01-20 17:53:30 +00:00
MipsTargetObjectFile.h [mips] Fix debug information for __thread variable 2017-01-20 17:53:30 +00:00
MipsTargetStreamer.h Move instances of std::function. 2016-06-12 16:13:55 +00:00