llvm-6502/lib/Target/Mips
Reed Kotler 36068aae42 Add bulk of returning of values to Mips fast-isel
Summary:
Implement the bulk of returning values in Mips fast-isel



Test Plan:
reatabi.ll

Passes test-suite at -O0,-O2 and with mips32r2 and mips32r1.





Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits, aemerson, rfuhler

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228958 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-12 21:05:12 +00:00
..
AsmParser [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
Disassembler [mips] Merge disassemblers into a single implementation. 2015-02-11 11:28:56 +00:00
InstPrinter [mips][microMIPS] MicroMIPS 16-bit unconditional branch instruction B 2015-01-21 12:39:30 +00:00
MCTargetDesc [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
TargetInfo
CMakeLists.txt MipsABIInfo class is used in different libraries. Moving the files to MCTargetDesc folder(LLVMMipsDesc library) prevents linkage errors. There are no functional changes. 2014-12-17 11:49:56 +00:00
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
MicroMipsInstrFPU.td [mips][microMIPS] Fix opcodes of MFHC1 and MTHC1 instructions. 2014-11-19 13:37:51 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
Mips16FrameLowering.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Rewrite the Mips16HardFloat pass to avoid using the Subtarget. 2015-01-06 01:12:30 +00:00
Mips16HardFloat.h Rewrite the Mips16HardFloat pass to avoid using the Subtarget. 2015-01-06 01:12:30 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Replace several 'assert(false' with 'llvm_unreachable' or fold a condition into the assert. 2015-01-05 10:15:49 +00:00
Mips16InstrInfo.h
Mips16InstrInfo.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
Mips16ISelDAGToDAG.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td [Mips][Disassembler] When disassembler meets cache/pref instructions for r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions. 2015-01-29 11:33:41 +00:00
Mips64InstrInfo.td [mips] Enable arithmetic and binary operations for the i128 data type. 2015-01-26 12:33:22 +00:00
Mips64r6InstrInfo.td
Mips.h Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
Mips.td Move the Mips target to storing the ABI in the TargetMachine rather 2015-01-26 17:33:46 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Get rid of a few calls through the subtarget to get the ABI 2015-01-29 23:27:45 +00:00
MipsAsmPrinter.h std::unique_ptrify the MCStreamer argument to createAsmPrinter 2015-01-18 20:29:04 +00:00
MipsCallingConv.td [mips] Add Mips-specific CCIf's for accessing the MipsCCState. NFC. 2014-12-08 15:40:09 +00:00
MipsCCState.cpp [mips] Fix sret arguments for N32/N64 which were accidentally broken in r221534. 2014-11-10 15:57:53 +00:00
MipsCCState.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
MipsCondMov.td [mips] Enable code generation for MIPS-III. 2014-12-12 15:16:46 +00:00
MipsConstantIslandPass.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsDelaySlotFiller.cpp Use the function template getSubtarget off of the machine function, 2015-02-02 23:03:43 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Add bulk of returning of values to Mips fast-isel 2015-02-12 21:05:12 +00:00
MipsFrameLowering.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsFrameLowering.h
MipsInstrFormats.td [mips] Add octeon branch instructions bbit0/bbit032/bbit1/bbit132 2015-01-20 16:10:51 +00:00
MipsInstrFPU.td
MipsInstrInfo.cpp Update include - this class doesn't use the target machine, but 2015-01-08 18:18:54 +00:00
MipsInstrInfo.h
MipsInstrInfo.td [mips][microMIPS] Implement CodeGen support for SW16 and LW16 instructions 2015-02-04 15:43:17 +00:00
MipsISelDAGToDAG.cpp [mips][microMIPS] Implement CodeGen support for SW16 and LW16 instructions 2015-02-04 15:43:17 +00:00
MipsISelDAGToDAG.h [mips][microMIPS] Implement CodeGen support for SW16 and LW16 instructions 2015-02-04 15:43:17 +00:00
MipsISelLowering.cpp MathExtras: Bring Count(Trailing|Leading)Ones and CountPopulation in line with countTrailingZeros 2015-02-12 15:35:40 +00:00
MipsISelLowering.h Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsLongBranch.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsMachineFunction.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsMachineFunction.h
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td
MipsOptimizePICCall.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsOptionRecord.h Move the Mips target to storing the ABI in the TargetMachine rather 2015-01-26 17:33:46 +00:00
MipsOs16.cpp
MipsOs16.h
MipsRegisterInfo.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsRegisterInfo.h
MipsRegisterInfo.td [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
MipsSchedule.td
MipsSEFrameLowering.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp Fix a couple of odd formatting issues. 2015-01-08 18:18:53 +00:00
MipsSEInstrInfo.h Remove dead variable. 2015-01-06 01:12:42 +00:00
MipsSEISelDAGToDAG.cpp [mips][microMIPS] Implement CodeGen support for SW16 and LW16 instructions 2015-02-04 15:43:17 +00:00
MipsSEISelDAGToDAG.h [mips][microMIPS] Implement CodeGen support for SW16 and LW16 instructions 2015-02-04 15:43:17 +00:00
MipsSEISelLowering.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h
MipsSubtarget.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
MipsSubtarget.h [mips] Make MipsSubtarget::hasMips*() functions consistent. NFC. 2015-02-04 15:18:11 +00:00
MipsTargetMachine.cpp [multiversion] Switch the TTI queries from TargetMachine to Subtarget 2015-02-01 14:22:17 +00:00
MipsTargetMachine.h [multiversion] Switch all of the targets over to use the 2015-02-01 13:20:00 +00:00
MipsTargetObjectFile.cpp Compute the ELF SectionKind from the flags. 2015-01-29 17:33:21 +00:00
MipsTargetObjectFile.h
MipsTargetStreamer.h Move the Mips target to storing the ABI in the TargetMachine rather 2015-01-26 17:33:46 +00:00
MSA.txt