llvm-6502/lib/Target/Mips
Akira Hatanaka b4b4fa80ba [mips] Expand pseudo instructions before they are emitted in
MipsCodeEmitter.cpp.

JALR and NOP are expanded by function emitPseudoExpansionLowering, which is not
called when the old JIT is used.

This fixes the following tests which have been failing on
llvm-mips-linux builder:

LLVM :: ExecutionEngine__2003-01-04-LoopTest.ll
LLVM :: ExecutionEngine__2003-05-06-LivenessClobber.ll
LLVM :: ExecutionEngine__2003-06-04-bzip2-bug.ll
LLVM :: ExecutionEngine__2005-12-02-TailCallBug.ll
LLVM :: ExecutionEngine__2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
LLVM :: ExecutionEngine__hello2.ll
LLVM :: ExecutionEngine__stubs.ll
LLVM :: ExecutionEngine__test-branch.ll
LLVM :: ExecutionEngine__test-call.ll
LLVM :: ExecutionEngine__test-common-symbols.ll
LLVM :: ExecutionEngine__test-loadstore.ll
LLVM :: ExecutionEngine__test-loop.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174912 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-11 22:35:40 +00:00
..
AsmParser This patch implements parsing the .word 2013-01-25 01:31:34 +00:00
Disassembler This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
InstPrinter This patch that sets the EmitAlias flag in td files 2013-02-05 08:32:10 +00:00
MCTargetDesc This patch that sets the Mips ELF header flag for 2013-02-05 09:30:03 +00:00
TargetInfo Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CMakeLists.txt Remove edis - the enhanced disassembler. Fixes PR14654. 2012-12-19 19:55:47 +00:00
LLVMBuild.txt Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Makefile Remove edis - the enhanced disassembler. Fixes PR14654. 2012-12-19 19:55:47 +00:00
Mips16FrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Mips16FrameLowering.h Properly save and restore RA and Mips16 callee save registers S0,S1 2012-09-21 01:08:16 +00:00
Mips16InstrFormats.td Add basic ability to setup call frame, and make procedure calls. 2012-07-23 23:45:54 +00:00
Mips16InstrInfo.cpp When Mips16 frames grow large, the immediate field may exceed the maximum 2013-02-08 03:57:41 +00:00
Mips16InstrInfo.h When Mips16 frames grow large, the immediate field may exceed the maximum 2013-02-08 03:57:41 +00:00
Mips16InstrInfo.td Add the 16 bit version of addiu. To the assembler, the 16 and 32 bit are the 2013-02-08 21:42:56 +00:00
Mips16RegisterInfo.cpp When Mips16 frames grow large, the immediate field may exceed the maximum 2013-02-08 03:57:41 +00:00
Mips16RegisterInfo.h [mips] 80 columns. 2013-01-04 19:38:05 +00:00
Mips64InstrInfo.td [mips] Add definition of JALR instruction which has two register operands. Change the 2013-02-07 19:48:00 +00:00
Mips.h Add long branch expansion pass for MIPS. 2012-06-14 01:19:35 +00:00
Mips.td This patch that sets the Mips ELF header flag for 2013-02-05 09:30:03 +00:00
MipsAnalyzeImmediate.cpp Fix integer undefined behavior due to signed left shift overflow in LLVM. 2012-08-24 23:29:28 +00:00
MipsAnalyzeImmediate.h Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
MipsAsmPrinter.cpp [mips] Make NOP a pseudo instruction and expand it to "sll $zero, $zero, 0". 2013-02-06 21:50:15 +00:00
MipsAsmPrinter.h This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsCallingConv.td Use the methods and classes that were added to simplify LowerCall and 2012-10-27 00:29:43 +00:00
MipsCodeEmitter.cpp [mips] Expand pseudo instructions before they are emitted in 2013-02-11 22:35:40 +00:00
MipsCondMov.td [mips] Refactor conditional move instructions. 2013-01-04 19:16:38 +00:00
MipsDelaySlotFiller.cpp [mips] Make Filler a class and reduce indentation. 2013-02-07 21:32:32 +00:00
MipsDSPInstrFormats.td [mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass 2012-12-20 04:20:09 +00:00
MipsDSPInstrInfo.td [mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass 2012-12-20 04:20:09 +00:00
MipsFrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsFrameLowering.h [mips] Add function MipsFrameLowering::estimateStackSize. 2012-11-02 21:10:22 +00:00
MipsInstrFormats.td [mips] Add definition of JALR instruction which has two register operands. Change the 2013-02-07 19:48:00 +00:00
MipsInstrFPU.td [mips] Set flag neverHasSideEffects flag on some of the floating point instructions. 2013-01-25 00:20:39 +00:00
MipsInstrInfo.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
MipsInstrInfo.h Make function loadImmediate a member of MipsSEInstrInfo and change it to return 2012-08-23 00:21:05 +00:00
MipsInstrInfo.td Add the 16 bit version of addiu. To the assembler, the 16 and 32 bit are the 2013-02-08 21:42:56 +00:00
MipsISelDAGToDAG.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsISelLowering.cpp [mips] Do not use function CC_MipsN_VarArg unless the function being analyzed 2013-02-05 21:18:11 +00:00
MipsISelLowering.h [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsJITInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsJITInfo.h Classic JIT is still being supported by MIPS, along with MCJIT. 2012-12-03 23:11:12 +00:00
MipsLongBranch.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
MipsMachineFunction.cpp [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsMachineFunction.h [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsMCInstLower.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
MipsMCInstLower.h MIPS DSP: add code necessary for pseudo instruction lowering. 2012-09-27 01:59:07 +00:00
MipsRegisterInfo.cpp [PEI] Pass the frame index operand number to the eliminateFrameIndex function. 2013-01-31 20:02:54 +00:00
MipsRegisterInfo.h [PEI] Pass the frame index operand number to the eliminateFrameIndex function. 2013-01-31 20:02:54 +00:00
MipsRegisterInfo.td This is a resubmittal. For some reason it broke the bots yesterday 2013-01-17 00:28:20 +00:00
MipsRelocations.h remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSchedule.td remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSEFrameLowering.cpp [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsSEFrameLowering.h [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsSEInstrInfo.cpp [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsSEInstrInfo.h [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsSelectionDAGInfo.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsSelectionDAGInfo.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00
MipsSERegisterInfo.cpp [mips] Lower EH_RETURN. 2013-01-30 00:26:49 +00:00
MipsSERegisterInfo.h [mips] Stop reserving register AT and use register scavenger when a scratch 2012-11-03 00:05:43 +00:00
MipsSubtarget.cpp This patch that sets the Mips ELF header flag for 2013-02-05 09:30:03 +00:00
MipsSubtarget.h This patch that sets the Mips ELF header flag for 2013-02-05 09:30:03 +00:00
MipsTargetMachine.cpp Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MipsTargetMachine.h Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MipsTargetObjectFile.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsTargetObjectFile.h This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00