|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
|
2 | 2 |
|
3 |
| -; RUN: llc -O0 -mtriple=i686-- < %s | FileCheck %s |
| 3 | +; RUN: llc -O1 -mtriple=i686-- < %s | FileCheck %s |
4 | 4 |
|
5 | 5 | ; Test that causes multiple defs of %eax.
|
6 |
| -; FIXME: The testcase hangs with -O1/2/3 enabled. |
7 | 6 | define i32 @loop1() nounwind {
|
8 | 7 | ; CHECK-LABEL: loop1:
|
9 | 8 | ; CHECK: # %bb.0: # %entry
|
10 |
| -; CHECK-NEXT: pushl %esi |
11 |
| -; CHECK-NEXT: jmp .LBB0_1 |
| 9 | +; CHECK-NEXT: .p2align 4 |
12 | 10 | ; CHECK-NEXT: .LBB0_1: # %tailrecurse
|
13 | 11 | ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
|
14 | 12 | ; CHECK-NEXT: xorl %eax, %eax
|
15 | 13 | ; CHECK-NEXT: movl $1, %edx
|
16 | 14 | ; CHECK-NEXT: #APP
|
17 | 15 | ; CHECK-NEXT: #NO_APP
|
18 |
| -; CHECK-NEXT: movl %eax, %ecx |
19 |
| -; CHECK-NEXT: movl %edx, %esi |
20 |
| -; CHECK-NEXT: jmp .LBB0_3 |
| 16 | +; CHECK-NEXT: jmp .LBB0_1 |
21 | 17 | ; CHECK-NEXT: .LBB0_2: # Inline asm indirect target
|
22 |
| -; CHECK-NEXT: # %tailrecurse.tailrecurse.backedge_crit_edge |
| 18 | +; CHECK-NEXT: # %tailrecurse.tailrecurse_crit_edge |
23 | 19 | ; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
|
24 | 20 | ; CHECK-NEXT: # Label of block must be emitted
|
25 |
| -; CHECK-NEXT: .LBB0_3: # %tailrecurse.backedge |
26 |
| -; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1 |
27 | 21 | ; CHECK-NEXT: jmp .LBB0_1
|
28 |
| -; CHECK-NEXT: .LBB0_4: # Inline asm indirect target |
| 22 | +; CHECK-NEXT: .LBB0_3: # Inline asm indirect target |
29 | 23 | ; CHECK-NEXT: # %lab2.split
|
30 | 24 | ; CHECK-NEXT: # Label of block must be emitted
|
31 | 25 | ; CHECK-NEXT: movl %edx, %eax
|
32 |
| -; CHECK-NEXT: popl %esi |
33 | 26 | ; CHECK-NEXT: retl
|
34 | 27 | entry:
|
35 | 28 | br label %tailrecurse
|
|
0 commit comments