llvm/test/CodeGen/Mips
Akira Hatanaka 27ba61df9f Insert instructions to the entry basic block which initializes the global
pointer register. 


This is the first of the series of patches which clean up the way global pointer
register is used. The patches will make the following improvements:

- Make $gp an allocatable temporary register rather than reserving it.
- Use a virtual register as the global pointer register and let the register
  allocator decide which register to assign to it or whether spill/reloads are
  needed.
- Make sure $gp is valid at the entry of a called function, which is necessary
  for functions using lazy binding.
- Remove the need for emitting .cprestore and .cpload directives.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156671 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-12 00:17:17 +00:00
..
2008-06-05-Carry.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-03-SRet.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-06-fadd64.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-07-Float2Int.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-07-FPExtend.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-07-IntDoubleConvertions.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-15-InternalConstant.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-15-SmallSection.ll Remove +. 2011-09-21 17:43:48 +00:00
2008-07-16-SignExtInReg.ll 64-bit sign extension in register instructions. 2012-01-24 21:41:09 +00:00
2008-07-22-Cstpool.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-23-fpcmp.ll Added support for FP conditional move instructions and fixed bugs in handling of FP comparisons. 2011-03-31 18:26:17 +00:00
2008-07-29-icmp.ll Added support for FP conditional move instructions and fixed bugs in handling of FP comparisons. 2011-03-31 18:26:17 +00:00
2008-07-31-fcopysign.ll Custom-lower FCOPYSIGN nodes. 2011-05-25 19:32:07 +00:00
2008-08-01-AsmInline.ll Have getRegForInlineAsmConstraint return the correct register class when target 2012-01-04 02:45:01 +00:00
2008-08-03-fabs64.ll Drop support for Allegrex. Allegrex implements a variant of Mips2. 2011-09-09 19:00:51 +00:00
2008-08-03-ReturnDouble.ll Unbreak test, Bruno please check. 2009-11-19 07:18:49 +00:00
2008-08-04-Bitconvert.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-08-06-Alloca.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-08-07-CC.ll Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
2008-08-07-FPRound.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-08-08-bswap.ll Drop support for Allegrex. Allegrex implements a variant of Mips2. 2011-09-09 19:00:51 +00:00
2008-08-08-ctlz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2008-10-13-LegalizerBug.ll
2008-11-10-xint_to_fp.ll Remove the no longer existent psp triple from a test. 2012-03-08 21:22:27 +00:00
2009-11-16-CstPoolLoad.ll Fix LowerConstantPool to produce instructions with the correct relocation 2012-04-04 18:26:12 +00:00
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
2010-07-20-Switch.ll Do not use $gp as a dedicated global register if the target ABI is not O32. 2012-04-25 01:24:52 +00:00
2010-11-09-CountLeading.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2010-11-09-Mul.ll Fix test cases. 2011-09-09 23:14:58 +00:00
2011-05-26-BranchKillsVreg.ll Fix PR10046 by updating LiveVariables kill info when splitting live ranges. 2011-05-29 20:10:28 +00:00
addc.ll Add a testcase for the addc improvements introduced some commits ago. Patch by Akira Hatanaka 2011-03-09 21:05:32 +00:00
alloca.ll Fix test cases. 2011-09-09 23:14:58 +00:00
analyzebranch.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
atomic.ll Do not replace operands of pseudo instructions with register $zero. 2012-05-11 23:22:18 +00:00
blockaddr.ll Fix LowerBlockAddress to produce instructions with the correct relocation 2012-04-04 18:22:53 +00:00
br-jmp.ll Test case for r146432 by Jack Carter. 2011-12-12 22:41:39 +00:00
brdelayslot.ll Fill delay slot with useful instructions. Modified from Sparc's version of delay 2011-09-29 23:52:13 +00:00
bswap.ll Test case for r147017. 2011-12-20 23:58:36 +00:00
buildpairextractelementf64.ll Make tests register allocation independent again. 2011-04-19 00:14:43 +00:00
cmov.ll Add another peephole pattern for conditional moves. 2012-05-09 02:29:29 +00:00
constantfp0.ll Test case for 137484 2011-08-12 18:12:06 +00:00
cprestore.ll Fix test case. 2012-03-28 00:25:01 +00:00
divrem.ll Improve div/rem node handling on mips. Patch by Akira Hatanaka 2011-03-04 21:03:24 +00:00
double2int.ll Fix test cases. 2011-09-09 23:14:58 +00:00
eh.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
extins.ll Change names for MIPS "generic" processors defined in Mips.td to match what GNU 2011-11-29 23:08:41 +00:00
fabs.ll Emit abs.s or abs.d only if -enable-no-nans-fp-math is supplied by user. 2012-04-11 22:49:04 +00:00
fcopysign-f32-f64.ll Fix bugs in lowering of FCOPYSIGN nodes. 2012-04-11 22:13:04 +00:00
fcopysign.ll Fix bugs in lowering of FCOPYSIGN nodes. 2012-04-11 22:13:04 +00:00
fmadd1.ll Add definitions of floating point multiply add/sub and negative multiply 2012-02-25 00:21:52 +00:00
fneg.ll Revert changes that were accidentally committed. 2012-04-11 23:19:55 +00:00
fp-indexed-ls.ll Fix bugs which were introduced when support for base+index floating point loads 2012-03-01 22:12:30 +00:00
fp-spill-reload.ll Make register FP allocatable if the compiled function does not have dynamic 2012-05-09 01:38:13 +00:00
fpbr.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
frame-address.ll Drop support for Mips1 and Mips2. 2011-09-09 20:45:50 +00:00
frem.ll Expand FREM. 2012-03-29 18:43:11 +00:00
global-address.ll Add lines in global-address.ll to test N32 and N64 code generation. 2012-04-06 20:23:36 +00:00
global-pointer-reg.ll Add an option to use a virtual register as the global base register instead of 2012-02-24 22:34:47 +00:00
gprestore.ll Remove LLVM IR metadata in test case committed in r130847. 2011-05-04 18:28:36 +00:00
i64arg.ll Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
imm.ll Add a test case for r146900. 2011-12-19 20:24:28 +00:00
indirectcall.ll jalr should use t9 ($25) for indirect calls regardless of the relocation model 2011-12-09 01:45:12 +00:00
inlineasm64.ll Have getRegForInlineAsmConstraint return the correct register class when target 2012-01-04 02:45:01 +00:00
inlineasm_constraint.ll Use regular expression to match register names. 2012-05-11 23:00:40 +00:00
inlineasm-cnstrnt-bad-I-1.ll Add support for the 'I' inline asm constraint. Also add tests 2012-05-07 03:13:32 +00:00
inlineasm-cnstrnt-bad-J.ll Support the 'J' constraint. 2012-05-07 03:13:42 +00:00
inlineasm-cnstrnt-bad-K.ll Add support for the inline asm constraint 'K'. 2012-05-07 05:46:29 +00:00
inlineasm-cnstrnt-bad-L.ll Add support for the 'L' inline asm constraint. 2012-05-07 05:46:37 +00:00
inlineasm-cnstrnt-bad-N.ll Add support for the 'N' inline asm constraint. 2012-05-07 05:46:43 +00:00
inlineasm-cnstrnt-bad-O.ll Add support for the 'O' constraint. 2012-05-07 05:46:48 +00:00
inlineasm-cnstrnt-bad-P.ll Add support for the 'P' constraint. 2012-05-07 06:25:02 +00:00
inlineasm-cnstrnt-bad-r-1.ll Add support for the 'I' inline asm constraint. Also add tests 2012-05-07 03:13:32 +00:00
inlineasm-cnstrnt-reg64.ll Add support for the 'I' inline asm constraint. Also add tests 2012-05-07 03:13:32 +00:00
inlineasm-cnstrnt-reg.ll Add support for the 'l' constraint. 2012-05-07 06:25:15 +00:00
inlineasm-operand-code.ll Add support for the 'X' inline asm operand modifier. 2012-05-10 21:48:22 +00:00
inlineasmmemop.ll Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
internalfunc.ll Fix test cases. 2011-09-09 23:14:58 +00:00
largeimm1.ll Add testcase for r127032 2011-03-04 20:48:39 +00:00
largeimmprinting.ll Modify MipsFrameLowering::emitPrologue and emitEpilogue. 2012-01-25 04:12:04 +00:00
lit.local.cfg Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
madd-msub.ll Remove unnecessary checking of register operands. 2011-09-30 19:18:24 +00:00
mips64-fp-indexed-ls.ll Fix bugs which were introduced when support for base+index floating point loads 2012-03-01 22:12:30 +00:00
mips64countleading.ll Expand 64-bit CTLZ nodes if target architecture does not support it. Add test 2011-12-21 00:20:27 +00:00
mips64directive.ll 64-bit data directive. 2011-12-20 22:52:19 +00:00
mips64ext.ll Pattern for f32 to i64 conversion. 2012-01-24 22:05:25 +00:00
mips64extins.ll Add definitions of 64-bit extract and insert instrucions and make 2011-12-05 21:26:34 +00:00
mips64fpimm0.ll Add code in MipsDAGToDAGISel for selecting constant +0.0. 2011-12-20 22:25:50 +00:00
mips64fpldst.ll Reapply 154038 without the failing test. 2012-04-04 22:16:36 +00:00
mips64imm.ll Lower 64-bit immediates using MipsAnalyzeImmediate that has just been added. 2012-01-25 03:01:35 +00:00
mips64instrs.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
mips64intldst.ll Reapply 154038 without the failing test. 2012-04-04 22:16:36 +00:00
mips64lea.ll Test case for r147232. 2011-12-24 03:05:43 +00:00
mips64muldiv.ll Add function MipsDAGToDAGISel::SelectMULT and factor out code that generates 2011-12-20 23:10:57 +00:00
mips64shift.ll Remove definitions of double word shift plus 32 instructions. Assembler or 2011-12-19 19:44:09 +00:00
mipslopat.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
o32_cc_byval.ll Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
o32_cc_vararg.ll Drop support for Mips1 and Mips2. 2011-09-09 20:45:50 +00:00
o32_cc.ll Fix test cases. 2011-09-09 23:14:58 +00:00
private.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
rotate.ll Change names for MIPS "generic" processors defined in Mips.td to match what GNU 2011-11-29 23:08:41 +00:00
select.ll Fix test cases. 2011-09-09 23:14:58 +00:00
shift-parts.ll Expand 64-bit shifts if target ABI is O32. 2012-05-09 00:55:21 +00:00
swzero.ll Fix bug in zero-store peephole pattern reported in pr11615. 2011-12-21 00:31:10 +00:00
tls.ll Insert instructions to the entry basic block which initializes the global 2012-05-12 00:17:17 +00:00
unalignedload.ll Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
weak.ll Define WeakRefDirective. 2011-05-25 23:30:30 +00:00
zeroreg.ll Test case for r152280, r152285 and r152290. 2012-03-08 03:32:42 +00:00