llvm/test/CodeGen/Thumb2
Dan Gohman da65822cfc Make tail merging handle blocks with repeated predecessors correctly, and
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.

Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.

test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.

Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79338 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 15:18:18 +00:00
..
2009-07-17-CrossRegClassCopy.ll Emit cross regclass register moves for thumb2. 2009-07-16 23:26:06 +00:00
2009-07-21-ISelBug.ll Shrinkify Thumb2 r = add sp, imm. 2009-08-11 23:00:31 +00:00
2009-07-23-CPIslandBug.ll Fix up ARM constant island pass for Thumb2. 2009-07-23 18:27:47 +00:00
2009-07-30-PEICrash.ll When fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8 ones. Take that into consideration when determining stack size limit for reserving register scavenging slot. 2009-07-30 23:29:25 +00:00
2009-08-01-WrongLDRBOpc.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
2009-08-02-CoalescerBug.ll Fix a coaelescer bug. If a copy val# is extended to eliminate a non-trivially coalesced copy, and the copy kills its source register. Trim the source register's live range to the last use if possible. This fixes up kill marker to make the scavenger happy. 2009-08-03 08:41:59 +00:00
2009-08-04-CoalescerAssert.ll In thumb mode, r7 is used as frame register. This fixes pr4681. 2009-08-04 18:46:17 +00:00
2009-08-04-CoalescerBug.ll Another nasty coalescer bug (is there another kind): 2009-08-05 07:05:41 +00:00
2009-08-04-ScavengerAssert.ll Disable stack coloring with register for now. It's not able to set kill markers. 2009-08-05 07:26:17 +00:00
2009-08-04-SubregLoweringBug2.ll One more place where subreg lowering forgot to transfer undefness. 2009-08-05 01:57:22 +00:00
2009-08-04-SubregLoweringBug3.ll One more. Transfer kill of the larger register when lowering an EXTRACT_SUBREG. 2009-08-05 02:25:11 +00:00
2009-08-04-SubregLoweringBug.ll If the insert_subreg source is <undef>, insert an implicit_def instead of a copy. 2009-08-05 01:29:24 +00:00
2009-08-06-SpDecBug.ll It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing. 2009-08-07 00:34:42 +00:00
2009-08-07-CoalescerBug.ll Another coalescer bug. When a dead copy is eliminated, transfer the kill to a def of the exact register rather than a super-register. 2009-08-07 07:14:14 +00:00
2009-08-07-NeonFPBug.ll Fix support to use NEON for single precision fp math. 2009-08-07 19:30:41 +00:00
2009-08-08-ScavengerAssert.ll Simplify RegScavenger::forward a bit more. 2009-08-08 13:18:47 +00:00
2009-08-10-ISelBug.ll Handle the constantfp created during post-legalization dag combiner phase. 2009-08-10 20:25:59 +00:00
carry.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
dg.exp
frameless2.ll Turn on if-conversion for thumb2. 2009-08-15 07:59:10 +00:00
frameless.ll Leaf functions which do not save CSRs can be frameless even with -disable-fp-elim. 2009-08-14 20:48:13 +00:00
large-stack.ll It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing. 2009-08-07 00:34:42 +00:00
load-global.ll Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode. 2009-08-04 23:47:55 +00:00
mul_const.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
pic-load.ll Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode. 2009-08-04 23:47:55 +00:00
thumb2-adc.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-add2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-add3.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-add4.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-add5.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-add6.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-add.ll
thumb2-and2.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-and.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-asr2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-asr.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-bcc.ll Don't put IT instruction before conditional branches. 2009-07-11 07:26:20 +00:00
thumb2-bfc.ll Fix detection of valid BFC immediates. 2009-07-14 00:57:56 +00:00
thumb2-bic2.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-bic.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-branch.ll Also shrink immediate branches; also more assembler workarounds. 2009-08-14 18:31:44 +00:00
thumb2-call.ll Test both darwin and linux. 2009-08-02 02:54:34 +00:00
thumb2-clz.ll Thumb-2 has CLZ. 2009-06-26 20:47:43 +00:00
thumb2-cmn2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-cmn.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-cmp2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-cmp.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-eor2.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-eor.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-ifcvt1.ll Fix tests. 2009-08-15 08:23:11 +00:00
thumb2-ifcvt2.ll Make tail merging handle blocks with repeated predecessors correctly, and 2009-08-18 15:18:18 +00:00
thumb2-jtb.ll tbb / tbh instructions only branch forward, not backwards. 2009-07-29 23:20:20 +00:00
thumb2-ldm.ll Shrinkify Thumb2 load / store multiple instructions. 2009-08-11 21:11:32 +00:00
thumb2-ldr_ext.ll A few more load instructions. 2009-06-30 02:15:48 +00:00
thumb2-ldr_post.ll Thumb2 pre/post indexed loads. 2009-07-02 07:28:31 +00:00
thumb2-ldr_pre.ll Sign extending pre/post indexed loads. 2009-07-02 23:16:11 +00:00
thumb2-ldr.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-ldrb.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-ldrh.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-lsl2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-lsl.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-lsr2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-lsr3.ll Darwin assembler now supports "rrx", so remove workaround. 2009-07-30 21:38:40 +00:00
thumb2-lsr.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-mla.ll More spelling Count as count. 2009-06-26 18:35:07 +00:00
thumb2-mls.ll More spelling Count as count. 2009-06-26 18:35:07 +00:00
thumb2-mov2.ll
thumb2-mov3.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-mov4.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-mov.ll
thumb2-mul.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-mulhi.ll Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the same 2009-08-01 00:16:10 +00:00
thumb2-mvn2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-mvn.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-neg.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-orn2.ll Remove an Darwin assembler workaround. 2009-08-12 01:56:42 +00:00
thumb2-orn.ll Darwin assembler now recognizes "orn", so remove workaround. 2009-07-30 21:51:41 +00:00
thumb2-orr2.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-orr.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-pack.ll Add Thumb2 pkhbt / pkhtb. 2009-07-07 05:35:52 +00:00
thumb2-rev16.ll Add rev16 test... xfail for now 2009-07-08 16:15:06 +00:00
thumb2-rev.ll Fix revsh pattern. 2009-08-18 05:43:23 +00:00
thumb2-ror2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-ror.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-rsb2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-rsb.ll Enhance tests to include shifted-register operand testing. 2009-06-30 01:02:20 +00:00
thumb2-sbc.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-select_xform.ll Add a thumb2 pass to insert IT blocks. 2009-07-10 01:54:42 +00:00
thumb2-select.ll Split t2MOVCCs since some assemblers do not recognize mov shifted register alias with predicate. 2009-08-01 01:43:45 +00:00
thumb2-shifter.ll
thumb2-smla.ll Add some more Thumb2 multiplication instructions. 2009-07-07 01:17:28 +00:00
thumb2-smul.ll Add some more Thumb2 multiplication instructions. 2009-07-07 01:17:28 +00:00
thumb2-str_post.ll Added indexed stores. 2009-07-03 00:06:39 +00:00
thumb2-str_pre.ll Added indexed stores. 2009-07-03 00:06:39 +00:00
thumb2-str.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-strb.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-strh.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +00:00
thumb2-sub2.ll Thumb-2 tests 2009-06-29 22:25:22 +00:00
thumb2-sub4.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-sub5.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-sub.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-sxt_rot.ll Add thumb2 sign / zero extend with rotate instructions. 2009-07-03 01:43:10 +00:00
thumb2-tbb.ll Until we have a "ALIGN" pseudo instruction, have asm printer emitted a .align 2009-07-31 18:35:56 +00:00
thumb2-tbh.ll tbb / tbh instructions only branch forward, not backwards. 2009-07-29 23:20:20 +00:00
thumb2-teq2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-teq.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-tst2.ll Enable Thumb2 instruction shrinking (32-bit to 16-bit) pass. Convert a bunch of thumb2 tests to FileCheck. 2009-08-10 23:56:04 +00:00
thumb2-tst.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-uxt_rot.ll Add thumb2 sign / zero extend with rotate instructions. 2009-07-03 01:43:10 +00:00
thumb2-uxtb.ll Add thumb2 sign / zero extend with rotate instructions. 2009-07-03 01:43:10 +00:00
tls1.ll Add PIC load and store patterns for Thumb-2. 2009-07-01 00:01:13 +00:00
tls2.ll Also shrink immediate branches; also more assembler workarounds. 2009-08-14 18:31:44 +00:00