llvm-6502/test/CodeGen/Thumb
Duncan Sands 62c1d00dfd Speculatively disable Dan's commits 143177 and 143179 to see if
it fixes the dragonegg self-host (it looks like gcc is miscompiled).
Original commit messages:
Eliminate LegalizeOps' LegalizedNodes map and have it just call RAUW
on every node as it legalizes them. This makes it easier to use
hasOneUse() heuristics, since unneeded nodes can be removed from the
DAG earlier.

Make LegalizeOps visit the DAG in an operands-last order. It previously
used operands-first, because LegalizeTypes has to go operands-first, and
LegalizeTypes used to be part of LegalizeOps, but they're now split.
The operands-last order is more natural for several legalization tasks.
For example, it allows lowering code for nodes with floating-point or
vector constants to see those constants directly instead of seeing the
lowered form (often constant-pool loads). This makes some things
somewhat more complicated today, though it ought to allow things to be
simpler in the future. It also fixes some bugs exposed by Legalizing
using RAUW aggressively.

Remove the part of LegalizeOps that attempted to patch up invalid chain
operands on libcalls generated by LegalizeTypes, since it doesn't work
with the new LegalizeOps traversal order. Instead, define what
LegalizeTypes is doing to be correct, and transfer the responsibility
of keeping calls from having overlapping calling sequences into the
scheduler.

Teach the scheduler to model callseq_begin/end pairs as having a
physical register definition/use to prevent calls from having
overlapping calling sequences. This is also somewhat complicated, though
there are ways it might be simplified in the future.

This addresses rdar://9816668, rdar://10043614, rdar://8434668, and others.
Please direct high-level questions about this patch to management.

Delete #if 0 code accidentally left in.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143188 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-28 09:55:57 +00:00
..
2007-01-31-RegInfoAssert.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-02-02-JoinIntervalsCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-05-05-InvalidPushPop.ll Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
2009-06-18-ThumbCommuteMul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-07-20-TwoAddrBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-27-PEIAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-12-ConstIslandAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-12-RegInfoAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-20-ISelBug.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
2009-12-17-pre-regalloc-taildup.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +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-06-18-SibCallCrash.ll Disable sibcall optimization for Thumb1 for now since Thumb1RegisterInfo::emitEpilogue is not expecting them. 2010-06-19 01:01:32 +00:00
2010-07-01-FuncAlign.ll ARM function alignments were off by a power of two. svn 83242 changed 2010-07-01 22:26:26 +00:00
2010-07-15-debugOrdering.ll Make tests register allocation independent again. 2011-04-19 00:14:43 +00:00
2011-05-11-DAGLegalizer.ll Speculatively disable Dan's commits 143177 and 143179 to see if 2011-10-28 09:55:57 +00:00
2011-06-16-NoGPRs.ll Don't use register classes larger than TLI->getRegClassFor(VT). 2011-06-16 22:50:38 +00:00
2011-EpilogueBug.ll Spill R4 if it's going to be used to restore SP from FP. 2011-01-16 05:14:33 +00:00
asmprinter-bug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
barrier.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
dg.exp We should run these tests as well. 2009-06-24 21:36:26 +00:00
dyn-stackalloc.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
fpconv.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fpow.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
frame_thumb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
iabs.ll Reapply r141365 now that PR11107 is fixed. 2011-10-10 22:59:55 +00:00
inlineasm-imm-thumb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
inlineasm-thumb.ll Add support for the 'h' constraint. 2011-06-30 23:23:01 +00:00
ispositive.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
large-stack.ll Thumb1 had two patterns for the same load-from-constant-pool instruction. 2010-12-15 23:52:36 +00:00
ldr_ext.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
ldr_frame.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
long_shift.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
long-setcc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
long.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
mul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pop.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
push.ll Propagate the AlignStack bit in InlineAsm's to the 2010-07-02 20:16:09 +00:00
rev.ll Follow up on r127913. Fix Thumb revsh isel. rdar://9286766 2011-04-14 23:27:44 +00:00
select.ll FileCheck-ize test, and make it work on EABI hosts, like clang-native-arm-cortex-a9. 2011-06-16 02:36:32 +00:00
stack-frame.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb-imm.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
trap.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
tst_teq.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
unord.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vargs.ll Revert r141529. This is causing failures in the test-suite, like bigstack and ReedSolomon. Boo... 2011-10-11 21:40:47 +00:00