llvm-6502/lib/Target/Mips
Vasileios Kalintiris 7db2065236 [mips] Enable code generation for MIPS-III.
Summary:
This commit enables the MIPS-III target and adds support for code
generation of SELECT nodes. We have to use pseudo-instructions with
custom inserters for these nodes as MIPS-III CPUs do not have
conditional-move instructions.

Depends on D6212

Reviewers: dsanders

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224128 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12 15:16:46 +00:00
..
AsmParser [mips][microMIPS] Implement SWM16 and LWM16 instructions 2014-11-27 18:28:59 +00:00
Disassembler The andi16, addiusp and jraddiusp micromips instructions were missing dedicated decoder methods in MipsDisassembler.cpp to properly decode immediate operands. These methods are added together with corresponding tests. 2014-12-01 11:12:04 +00:00
InstPrinter [mips][microMIPS] Implement SWM16 and LWM16 instructions 2014-11-27 18:28:59 +00:00
MCTargetDesc test commit (spelling correction) 2014-12-09 06:31:07 +00:00
TargetInfo
CMakeLists.txt [mips] Move MipsCCState to a separate file and clang-formatted it. 2014-11-07 14:24:31 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Implement SWM16 and LWM16 instructions 2014-11-27 18:28:59 +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 CodeGen support for LI16 instruction. 2014-12-11 13:56:23 +00:00
Mips16FrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16FrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16HardFloat.cpp Fix more instances of -Wsentinel on Windows with s/NULL/nullptr/ 2014-11-20 23:51:47 +00:00
Mips16HardFloat.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16InstrFormats.td Fix a whole bunch of binary literals which were the wrong size. All were being silently zero extended to the correct width. 2014-08-07 05:46:54 +00:00
Mips16InstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
Mips16InstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16InstrInfo.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
Mips16ISelDAGToDAG.cpp Remove a bunch of unnecessary typecasts to 'const TargetRegisterClass *' 2014-11-21 05:58:21 +00:00
Mips16ISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16ISelLowering.cpp Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
Mips16ISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
Mips16RegisterInfo.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16RegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips32r6InstrFormats.td Fix bit initializer which was one bit too long, but worked so long as we silently dropped the leading 0 2014-07-31 01:43:54 +00:00
Mips32r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips64InstrInfo.td [mips] Promote i32 arguments to i64 for the N32/N64 ABI and fix <64-bit structs... 2014-11-07 16:54:21 +00:00
Mips64r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips.h Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
Mips.td [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsABIInfo.cpp [mips] Remove MipsCC::reservedArgArea() in favour of MipsABIInfo::GetCalleeAllocdArgSizeInBytes(). NFC. 2014-11-07 15:03:53 +00:00
MipsABIInfo.h [mips] Remove MipsCC::reservedArgArea() in favour of MipsABIInfo::GetCalleeAllocdArgSizeInBytes(). NFC. 2014-11-07 15:03:53 +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 Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsAsmPrinter.cpp [mips][micromips] Implement SWM32 and LWM32 instructions 2014-11-19 16:44:02 +00:00
MipsAsmPrinter.h [mips][micromips] Implement SWM32 and LWM32 instructions 2014-11-19 16:44:02 +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 [mips] Promote i32 arguments to i64 for the N32/N64 ABI and fix <64-bit structs... 2014-11-07 16:54:21 +00:00
MipsCondMov.td [mips] Enable code generation for MIPS-III. 2014-12-12 15:16:46 +00:00
MipsConstantIslandPass.cpp [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsDelaySlotFiller.cpp [mips][micromips] Use call instructions with short delay slots 2014-11-25 10:50:00 +00:00
MipsDSPInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsDSPInstrInfo.td
MipsFastISel.cpp Fix build of Mips code with MSVC by using our macro instead of __attribute__((unused)) directly 2014-11-14 00:39:33 +00:00
MipsFrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsInstrFormats.td [mips] Add synci instruction. 2014-11-27 17:28:10 +00:00
MipsInstrFPU.td [mips] Move COP2 & COP3 load/store instructions from MipsInstrFPU.td to MipsInstrInfo.td. NFC. 2014-11-04 21:45:16 +00:00
MipsInstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsInstrInfo.td [mips] Support SELECT nodes for targets that don't have conditional-move instructions. 2014-12-12 14:41:37 +00:00
MipsISelDAGToDAG.cpp Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsISelLowering.cpp [mips] Enable code generation for MIPS-III. 2014-12-12 15:16:46 +00:00
MipsISelLowering.h [mips] Support SELECT nodes for targets that don't have conditional-move instructions. 2014-12-12 14:41:37 +00:00
MipsLongBranch.cpp [mips][microMIPS] This patch implements functionality in MIPS delay slot 2014-11-21 22:04:35 +00:00
MipsMachineFunction.cpp Remove a bunch of unnecessary typecasts to 'const TargetRegisterClass *' 2014-11-21 05:58:21 +00:00
MipsMachineFunction.h Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:48:02 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsModuleISelDAGToDAG.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsModuleISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsMSAInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsMSAInstrInfo.td [mips] Rename MipsAsmParser functions to conform to the LLVM Coding Standards. No functional changes. 2014-09-04 13:23:44 +00:00
MipsOptimizePICCall.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsOptionRecord.h Make some helpers static or move into the llvm namespace. 2014-09-03 21:04:12 +00:00
MipsOs16.cpp
MipsOs16.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsRegisterInfo.cpp [mips] Initial implementation of -mabicalls/-mno-abicalls. 2014-08-08 10:01:29 +00:00
MipsRegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsRegisterInfo.td [mips][microMIPS] Implement disassembler support for 16-bit instructions LBU16, LHU16, LW16, SB16, SH16 and SW16 2014-11-26 18:56:38 +00:00
MipsSchedule.td
MipsSEFrameLowering.cpp [mips] Account for endianess when expanding BuildPairF64/ExtractElementF64 nodes. 2014-10-16 15:41:51 +00:00
MipsSEFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEInstrInfo.cpp [mips][microMIPS] This patch implements functionality in MIPS delay slot 2014-11-21 22:04:35 +00:00
MipsSEInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelDAGToDAG.cpp Remove a bunch of unnecessary typecasts to 'const TargetRegisterClass *' 2014-11-21 05:58:21 +00:00
MipsSEISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelLowering.cpp Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsSEISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSERegisterInfo.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsSERegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSubtarget.cpp [mips] Enable code generation for MIPS-III. 2014-12-12 15:16:46 +00:00
MipsSubtarget.h [mips] Add preliminary support for the MIPS II target. 2014-11-11 11:43:55 +00:00
MipsTargetMachine.cpp Enable MachineVerifier in debug mode for X86, ARM, AArch64, Mips. 2014-12-11 23:18:03 +00:00
MipsTargetMachine.h Add out of line virtual destructors to all LLVMTargetMachine subclasses 2014-11-20 23:37:18 +00:00
MipsTargetObjectFile.cpp [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsTargetObjectFile.h [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsTargetStreamer.h [mips] Rename emit and parse functions for the .cpload assembler directive. NFC. 2014-10-01 14:53:19 +00:00
MSA.txt Revert r221048 - Test commit 2014-11-01 16:08:03 +00:00