llvm-project/llvm/test/CodeGen/Thumb2
Dan Gohman a41fa35992 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.

llvm-svn: 79338
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-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-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-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 We should run these tests as well. 2009-06-24 21:36:26 +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
frameless2.ll Turn on if-conversion for thumb2. 2009-08-15 07:59:10 +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-add.ll Move thumb and thumb2 tests into separate directories. 2009-06-24 06:36:07 +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-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-and2.ll Thumb-2 tests 2009-06-26 22:37:07 +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-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-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-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-bic2.ll Thumb-2 tests 2009-06-26 22:37:07 +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-cmn.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-cmn2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +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-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-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-eor2.ll Thumb-2 tests 2009-06-26 22:37:07 +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.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +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-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-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-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-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-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-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-mov.ll Move thumb and thumb2 tests into separate directories. 2009-06-24 06:36:07 +00:00
thumb2-mov2.ll Move thumb and thumb2 tests into separate directories. 2009-06-24 06:36:07 +00:00
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-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-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-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-neg.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +00:00
thumb2-orn.ll Darwin assembler now recognizes "orn", so remove workaround. 2009-07-30 21:51:41 +00:00
thumb2-orn2.ll Remove an Darwin assembler workaround. 2009-08-12 01:56:42 +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-orr2.ll Thumb-2 tests 2009-06-26 22:37:07 +00:00
thumb2-pack.ll Add Thumb2 pkhbt / pkhtb. 2009-07-07 05:35:52 +00:00
thumb2-rev.ll Fix revsh pattern. 2009-08-18 05:43:23 +00:00
thumb2-rev16.ll Add rev16 test... xfail for now 2009-07-08 16:15:06 +00:00
thumb2-ror.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +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-rsb.ll Enhance tests to include shifted-register operand testing. 2009-06-30 01:02:20 +00:00
thumb2-rsb2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-sbc.ll Shrink ADDS, ADC, RSB, and SUBS. 2009-08-12 01:49:45 +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-select_xform.ll Add a thumb2 pass to insert IT blocks. 2009-07-10 01:54:42 +00:00
thumb2-shifter.ll Move thumb and thumb2 tests into separate directories. 2009-06-24 06:36:07 +00:00
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.ll Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions. 2009-08-11 09:37:40 +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-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-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-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-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-teq.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-teq2.ll Add ".w" suffix for wide thumb-2 instructions. 2009-07-27 16:31:55 +00:00
thumb2-tst.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-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