1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib/Target/Mips
Eric Christopher a4eb9e140f Add the first backend support for on demand subtarget creation
based on the Function. This is currently used to implement
mips16 support in the mips backend via the existing module
pass resetting the subtarget.

Things to note:

a) This involved running resetTargetOptions before creating a
new subtarget so that code generation options like soft-float
could be recognized when creating the new subtarget. This is
to deal with initialization code in isel lowering that only
paid attention to the initial value.

b) Many of the existing testcases weren't using the soft-float
feature correctly. I've corrected these based on the check
values assuming that was the desired behavior.

c) The mips port now pays attention to the target-cpu and
target-features strings when generating code for a particular
function. I've removed these from one function where the
requested cpu and features didn't match the check lines in
the testcase.

llvm-svn: 218492
2014-09-26 01:44:08 +00:00
..
AsmParser [mips] Add assembler support for the .set nodsp directive. 2014-09-17 09:01:54 +00:00
Disassembler Fix left shifts of negative values in MipsDisassembler. 2014-09-02 17:49:16 +00:00
InstPrinter Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MCTargetDesc [mips] Add assembler support for the .set nodsp directive. 2014-09-17 09:01:54 +00:00
TargetInfo
CMakeLists.txt Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +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 JRADDIUSP instruction 2014-09-12 14:29:54 +00:00
MicroMipsInstrFPU.td
MicroMipsInstrInfo.td [mips][microMIPS] Implement JRADDIUSP instruction 2014-09-12 14:29:54 +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
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 Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
Mips16ISelDAGToDAG.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16ISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16ISelLowering.cpp constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +00:00
Mips16ISelLowering.h constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +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] Move 32-bit ADDiu instruction alias from Mips64InstrInfo.td to MipsInstrInfo.td. 2014-09-16 10:19:03 +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] Invert the abicalls feature bit to be noabicalls so that it's possible for -mno-abicalls to take effect. 2014-08-08 15:47:17 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsAsmPrinter.cpp [mips] Rename [gs]etCanHaveModuleDir to more natural names 2014-08-14 09:18:14 +00:00
MipsAsmPrinter.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsCallingConv.td [mips] Add CCValAssign::[ASZ]ExtUpper and CCPromoteToUpperBitsInType and handle struct's correctly on big-endian N32/N64 return values. 2014-09-25 12:15:05 +00:00
MipsCondMov.td
MipsConstantIslandPass.cpp Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MipsDelaySlotFiller.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Add mips32 r1 to the list of supported targets for Mips fast-isel 2014-09-15 20:30:25 +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 Revert: r215698 - Current implementation of c.cond.fmt instructions only accept default cc0 register... 2014-08-17 19:47:47 +00:00
MipsInstrFPU.td Revert: r215698 - Current implementation of c.cond.fmt instructions only accept default cc0 register... 2014-08-17 19:47:47 +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] Move 32-bit ADDiu instruction alias from Mips64InstrInfo.td to MipsInstrInfo.td. 2014-09-16 10:19:03 +00:00
MipsISelDAGToDAG.cpp
MipsISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsISelLowering.cpp [mips] Add CCValAssign::[ASZ]ExtUpper and CCPromoteToUpperBitsInType and handle struct's correctly on big-endian N32/N64 return values. 2014-09-25 12:15:05 +00:00
MipsISelLowering.h constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +00:00
MipsLongBranch.cpp Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MipsMachineFunction.cpp 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
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
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] Rename MipsAsmParser functions to conform to the LLVM Coding Standards. No functional changes. 2014-09-04 13:23:44 +00:00
MipsSchedule.td
MipsSEFrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsSEFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEInstrInfo.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
MipsSEInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelDAGToDAG.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsSEISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelLowering.cpp constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +00:00
MipsSEISelLowering.h constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +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 constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +00:00
MipsSubtarget.h constify the TargetMachine being passed through the Mips subtarget 2014-09-19 23:30:42 +00:00
MipsTargetMachine.cpp Add the first backend support for on demand subtarget creation 2014-09-26 01:44:08 +00:00
MipsTargetMachine.h Add the first backend support for on demand subtarget creation 2014-09-26 01:44:08 +00:00
MipsTargetObjectFile.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
MipsTargetObjectFile.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsTargetStreamer.h [mips] Add assembler support for the .set nodsp directive. 2014-09-17 09:01:54 +00:00
MSA.txt