Skip to content

Commit 2600aaa

Browse files
author
Hendrik Greving
authored
Revert "[MachineLICM] Relax overlay conservative PHI check (#67186)" (#68580)
This reverts commit 71a8d2e.
1 parent 8840da2 commit 2600aaa

11 files changed

+230
-204
lines changed

llvm/lib/CodeGen/MachineLICM.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1050,7 +1050,7 @@ bool MachineLICMBase::HasLoopPHIUse(const MachineInstr *MI,
10501050
if (UseMI.isPHI()) {
10511051
// A PHI inside the loop causes a copy because the live range of Reg is
10521052
// extended across the PHI.
1053-
if (CurLoop->getHeader() == UseMI.getParent())
1053+
if (CurLoop->contains(&UseMI))
10541054
return true;
10551055
// A PHI in an exit block can cause a copy to be inserted if the PHI
10561056
// has multiple predecessors in the loop with different values.

llvm/test/CodeGen/X86/2008-04-28-CoalescerBug.ll

+11-8
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ define void @t(ptr %depth, ptr %bop, i32 %mode) nounwind {
1515
; CHECK-NEXT: je LBB0_3
1616
; CHECK-NEXT: ## %bb.1: ## %entry
1717
; CHECK-NEXT: cmpl $1, %edx
18-
; CHECK-NEXT: jne LBB0_9
18+
; CHECK-NEXT: jne LBB0_10
1919
; CHECK-NEXT: .p2align 4, 0x90
2020
; CHECK-NEXT: LBB0_2: ## %bb2898.us
2121
; CHECK-NEXT: ## =>This Inner Loop Header: Depth=1
@@ -26,12 +26,15 @@ define void @t(ptr %depth, ptr %bop, i32 %mode) nounwind {
2626
; CHECK-NEXT: LBB0_4: ## %bb13088
2727
; CHECK-NEXT: ## =>This Inner Loop Header: Depth=1
2828
; CHECK-NEXT: testb %al, %al
29-
; CHECK-NEXT: movl $65535, %ecx ## imm = 0xFFFF
30-
; CHECK-NEXT: jne LBB0_6
31-
; CHECK-NEXT: ## %bb.5: ## %bb13101
29+
; CHECK-NEXT: jne LBB0_5
30+
; CHECK-NEXT: ## %bb.6: ## %bb13101
3231
; CHECK-NEXT: ## in Loop: Header=BB0_4 Depth=1
3332
; CHECK-NEXT: xorl %ecx, %ecx
34-
; CHECK-NEXT: LBB0_6: ## %bb13107
33+
; CHECK-NEXT: jmp LBB0_7
34+
; CHECK-NEXT: .p2align 4, 0x90
35+
; CHECK-NEXT: LBB0_5: ## in Loop: Header=BB0_4 Depth=1
36+
; CHECK-NEXT: movl $65535, %ecx ## imm = 0xFFFF
37+
; CHECK-NEXT: LBB0_7: ## %bb13107
3538
; CHECK-NEXT: ## in Loop: Header=BB0_4 Depth=1
3639
; CHECK-NEXT: movl %ecx, %edx
3740
; CHECK-NEXT: shll $16, %edx
@@ -41,11 +44,11 @@ define void @t(ptr %depth, ptr %bop, i32 %mode) nounwind {
4144
; CHECK-NEXT: subl %edx, %ecx
4245
; CHECK-NEXT: testw %cx, %cx
4346
; CHECK-NEXT: je LBB0_4
44-
; CHECK-NEXT: ## %bb.7: ## %bb13236
47+
; CHECK-NEXT: ## %bb.8: ## %bb13236
4548
; CHECK-NEXT: ## in Loop: Header=BB0_4 Depth=1
4649
; CHECK-NEXT: testb %al, %al
4750
; CHECK-NEXT: jne LBB0_4
48-
; CHECK-NEXT: ## %bb.8: ## %bb13572
51+
; CHECK-NEXT: ## %bb.9: ## %bb13572
4952
; CHECK-NEXT: ## in Loop: Header=BB0_4 Depth=1
5053
; CHECK-NEXT: movzwl %cx, %ecx
5154
; CHECK-NEXT: movl %ecx, %edx
@@ -55,7 +58,7 @@ define void @t(ptr %depth, ptr %bop, i32 %mode) nounwind {
5558
; CHECK-NEXT: shrl $16, %edx
5659
; CHECK-NEXT: movw %dx, 0
5760
; CHECK-NEXT: jmp LBB0_4
58-
; CHECK-NEXT: LBB0_9: ## %return
61+
; CHECK-NEXT: LBB0_10: ## %return
5962
; CHECK-NEXT: retq
6063
entry:
6164
switch i32 %mode, label %return [

llvm/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll

+15-14
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
3333
; CHECK-NEXT: .cfi_offset %esi, -20
3434
; CHECK-NEXT: .cfi_offset %edi, -16
3535
; CHECK-NEXT: .cfi_offset %ebx, -12
36-
; CHECK-NEXT: xorl %ebx, %ebx
37-
; CHECK-NEXT: testb %bl, %bl
36+
; CHECK-NEXT: xorl %eax, %eax
37+
; CHECK-NEXT: xorl %edi, %edi
38+
; CHECK-NEXT: testb %al, %al
3839
; CHECK-NEXT: Ltmp0:
39-
; CHECK-NEXT: ## implicit-def: $edi
40+
; CHECK-NEXT: ## implicit-def: $ebx
4041
; CHECK-NEXT: calll __Znam
4142
; CHECK-NEXT: Ltmp1:
4243
; CHECK-NEXT: ## %bb.1: ## %bb11
@@ -85,16 +86,16 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
8586
; CHECK-NEXT: jne LBB0_17
8687
; CHECK-NEXT: ## %bb.15: ## %bb49.preheader
8788
; CHECK-NEXT: ## in Loop: Header=BB0_13 Depth=2
88-
; CHECK-NEXT: movl %esi, %ecx
89-
; CHECK-NEXT: movl %ebx, %edx
90-
; CHECK-NEXT: xorl %edi, %edi
89+
; CHECK-NEXT: xorl %ecx, %ecx
90+
; CHECK-NEXT: movl %esi, %edx
91+
; CHECK-NEXT: movl %edi, %ebx
9192
; CHECK-NEXT: LBB0_16: ## %bb49
9293
; CHECK-NEXT: ## Parent Loop BB0_8 Depth=1
9394
; CHECK-NEXT: ## Parent Loop BB0_13 Depth=2
9495
; CHECK-NEXT: ## => This Inner Loop Header: Depth=3
95-
; CHECK-NEXT: incl %edi
96-
; CHECK-NEXT: addl $4, %ecx
97-
; CHECK-NEXT: decl %edx
96+
; CHECK-NEXT: incl %ecx
97+
; CHECK-NEXT: addl $4, %edx
98+
; CHECK-NEXT: decl %ebx
9899
; CHECK-NEXT: jne LBB0_16
99100
; CHECK-NEXT: LBB0_17: ## %bb57
100101
; CHECK-NEXT: ## in Loop: Header=BB0_13 Depth=2
@@ -112,7 +113,7 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
112113
; CHECK-NEXT: ## %bb.20: ## %bb61.preheader
113114
; CHECK-NEXT: ## in Loop: Header=BB0_8 Depth=1
114115
; CHECK-NEXT: movl %esi, %eax
115-
; CHECK-NEXT: movl %ebx, %ecx
116+
; CHECK-NEXT: movl %edi, %ecx
116117
; CHECK-NEXT: LBB0_21: ## %bb61
117118
; CHECK-NEXT: ## Parent Loop BB0_8 Depth=1
118119
; CHECK-NEXT: ## => This Inner Loop Header: Depth=2
@@ -126,23 +127,23 @@ define void @f(ptr nocapture %arg, ptr nocapture %arg1, ptr nocapture %arg2, ptr
126127
; CHECK-NEXT: jmp LBB0_8
127128
; CHECK-NEXT: LBB0_18: ## %bb43
128129
; CHECK-NEXT: Ltmp5:
129-
; CHECK-NEXT: movl %esi, %edi
130+
; CHECK-NEXT: movl %esi, %ebx
130131
; CHECK-NEXT: calll _OnOverFlow
131132
; CHECK-NEXT: Ltmp6:
132133
; CHECK-NEXT: jmp LBB0_3
133134
; CHECK-NEXT: LBB0_2: ## %bb29
134135
; CHECK-NEXT: Ltmp7:
135-
; CHECK-NEXT: movl %esi, %edi
136+
; CHECK-NEXT: movl %esi, %ebx
136137
; CHECK-NEXT: calll _OnOverFlow
137138
; CHECK-NEXT: Ltmp8:
138139
; CHECK-NEXT: LBB0_3: ## %bb30
139140
; CHECK-NEXT: ud2
140141
; CHECK-NEXT: LBB0_4: ## %bb20.loopexit
141142
; CHECK-NEXT: Ltmp4:
142143
; CHECK-NEXT: LBB0_9:
143-
; CHECK-NEXT: movl %esi, %edi
144+
; CHECK-NEXT: movl %esi, %ebx
144145
; CHECK-NEXT: LBB0_6: ## %bb23
145-
; CHECK-NEXT: testl %edi, %edi
146+
; CHECK-NEXT: testl %ebx, %ebx
146147
; CHECK-NEXT: addl $28, %esp
147148
; CHECK-NEXT: popl %esi
148149
; CHECK-NEXT: popl %edi

llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll

+29-2
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ define i32 @test_control_flow(ptr %p, i32 %i, i32 %j) nounwind {
137137
; 32-ALL-NEXT: # Parent Loop BB1_2 Depth=1
138138
; 32-ALL-NEXT: # => This Inner Loop Header: Depth=2
139139
; 32-ALL-NEXT: movl %edx, %eax
140-
; 32-ALL-NEXT: testl %edx, %edx
141-
; 32-ALL-NEXT: movl $0, %edx
140+
; 32-ALL-NEXT: xorl %edx, %edx
141+
; 32-ALL-NEXT: testl %eax, %eax
142142
; 32-ALL-NEXT: je .LBB1_3
143143
; 32-ALL-NEXT: # %bb.4: # %while.body.i
144144
; 32-ALL-NEXT: # in Loop: Header=BB1_2 Depth=1
@@ -148,6 +148,33 @@ define i32 @test_control_flow(ptr %p, i32 %i, i32 %j) nounwind {
148148
; 32-ALL-NEXT: xorl %eax, %eax
149149
; 32-ALL-NEXT: .LBB1_6: # %cond.end
150150
; 32-ALL-NEXT: retl
151+
;
152+
; 64-ALL-LABEL: test_control_flow:
153+
; 64-ALL: # %bb.0: # %entry
154+
; 64-ALL-NEXT: movl %esi, %eax
155+
; 64-ALL-NEXT: cmpl %edx, %esi
156+
; 64-ALL-NEXT: jle .LBB1_5
157+
; 64-ALL-NEXT: .p2align 4, 0x90
158+
; 64-ALL-NEXT: .LBB1_1: # %while.condthread-pre-split.i
159+
; 64-ALL-NEXT: # =>This Loop Header: Depth=1
160+
; 64-ALL-NEXT: # Child Loop BB1_2 Depth 2
161+
; 64-ALL-NEXT: movl (%rdi), %ecx
162+
; 64-ALL-NEXT: .p2align 4, 0x90
163+
; 64-ALL-NEXT: .LBB1_2: # %while.cond.i
164+
; 64-ALL-NEXT: # Parent Loop BB1_1 Depth=1
165+
; 64-ALL-NEXT: # => This Inner Loop Header: Depth=2
166+
; 64-ALL-NEXT: movl %ecx, %eax
167+
; 64-ALL-NEXT: xorl %ecx, %ecx
168+
; 64-ALL-NEXT: testl %eax, %eax
169+
; 64-ALL-NEXT: je .LBB1_2
170+
; 64-ALL-NEXT: # %bb.3: # %while.body.i
171+
; 64-ALL-NEXT: # in Loop: Header=BB1_1 Depth=1
172+
; 64-ALL-NEXT: lock cmpxchgl %eax, (%rdi)
173+
; 64-ALL-NEXT: jne .LBB1_1
174+
; 64-ALL-NEXT: # %bb.4:
175+
; 64-ALL-NEXT: xorl %eax, %eax
176+
; 64-ALL-NEXT: .LBB1_5: # %cond.end
177+
; 64-ALL-NEXT: retq
151178
entry:
152179
%cmp = icmp sgt i32 %i, %j
153180
br i1 %cmp, label %loop_start, label %cond.end

llvm/test/CodeGen/X86/conditional-tailcall.ll

+30-34
Original file line numberDiff line numberDiff line change
@@ -456,74 +456,70 @@ define zeroext i1 @pr31257(ptr nocapture readonly dereferenceable(8) %s) minsize
456456
; WIN64-NEXT: .LBB3_1: # %for.cond
457457
; WIN64-NEXT: # =>This Inner Loop Header: Depth=1
458458
; WIN64-NEXT: testq %rax, %rax # encoding: [0x48,0x85,0xc0]
459-
; WIN64-NEXT: je .LBB3_12 # encoding: [0x74,A]
460-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_12-1, kind: FK_PCRel_1
459+
; WIN64-NEXT: je .LBB3_11 # encoding: [0x74,A]
460+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1
461461
; WIN64-NEXT: # %bb.2: # %for.body
462462
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
463463
; WIN64-NEXT: cmpl $2, %r8d # encoding: [0x41,0x83,0xf8,0x02]
464-
; WIN64-NEXT: je .LBB3_10 # encoding: [0x74,A]
465-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1
464+
; WIN64-NEXT: je .LBB3_9 # encoding: [0x74,A]
465+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1
466466
; WIN64-NEXT: # %bb.3: # %for.body
467467
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
468468
; WIN64-NEXT: cmpl $1, %r8d # encoding: [0x41,0x83,0xf8,0x01]
469-
; WIN64-NEXT: je .LBB3_8 # encoding: [0x74,A]
470-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1
469+
; WIN64-NEXT: je .LBB3_7 # encoding: [0x74,A]
470+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_7-1, kind: FK_PCRel_1
471471
; WIN64-NEXT: # %bb.4: # %for.body
472472
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
473473
; WIN64-NEXT: testl %r8d, %r8d # encoding: [0x45,0x85,0xc0]
474-
; WIN64-NEXT: jne .LBB3_11 # encoding: [0x75,A]
475-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1
474+
; WIN64-NEXT: jne .LBB3_10 # encoding: [0x75,A]
475+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1
476476
; WIN64-NEXT: # %bb.5: # %sw.bb
477477
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
478478
; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09]
479479
; WIN64-NEXT: cmpl $43, %r9d # encoding: [0x41,0x83,0xf9,0x2b]
480480
; WIN64-NEXT: movl $1, %r8d # encoding: [0x41,0xb8,0x01,0x00,0x00,0x00]
481-
; WIN64-NEXT: je .LBB3_11 # encoding: [0x74,A]
482-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1
481+
; WIN64-NEXT: je .LBB3_10 # encoding: [0x74,A]
482+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1
483483
; WIN64-NEXT: # %bb.6: # %sw.bb
484484
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
485485
; WIN64-NEXT: cmpl $45, %r9d # encoding: [0x41,0x83,0xf9,0x2d]
486-
; WIN64-NEXT: je .LBB3_11 # encoding: [0x74,A]
487-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1
488-
; WIN64-NEXT: # %bb.7: # %if.else
489-
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
490-
; WIN64-NEXT: addl $-48, %r9d # encoding: [0x41,0x83,0xc1,0xd0]
491-
; WIN64-NEXT: cmpl $10, %r9d # encoding: [0x41,0x83,0xf9,0x0a]
492-
; WIN64-NEXT: jmp .LBB3_9 # encoding: [0xeb,A]
493-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_9-1, kind: FK_PCRel_1
494-
; WIN64-NEXT: .LBB3_8: # %sw.bb14
486+
; WIN64-NEXT: je .LBB3_10 # encoding: [0x74,A]
487+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1
488+
; WIN64-NEXT: jmp .LBB3_8 # encoding: [0xeb,A]
489+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_8-1, kind: FK_PCRel_1
490+
; WIN64-NEXT: .LBB3_7: # %sw.bb14
495491
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
496-
; WIN64-NEXT: movzbl (%rcx), %r8d # encoding: [0x44,0x0f,0xb6,0x01]
497-
; WIN64-NEXT: addl $-48, %r8d # encoding: [0x41,0x83,0xc0,0xd0]
498-
; WIN64-NEXT: cmpl $10, %r8d # encoding: [0x41,0x83,0xf8,0x0a]
499-
; WIN64-NEXT: .LBB3_9: # %if.else
492+
; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09]
493+
; WIN64-NEXT: .LBB3_8: # %if.else
500494
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
495+
; WIN64-NEXT: addl $-48, %r9d # encoding: [0x41,0x83,0xc1,0xd0]
501496
; WIN64-NEXT: movl $2, %r8d # encoding: [0x41,0xb8,0x02,0x00,0x00,0x00]
502-
; WIN64-NEXT: jb .LBB3_11 # encoding: [0x72,A]
503-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_11-1, kind: FK_PCRel_1
504-
; WIN64-NEXT: jmp .LBB3_13 # encoding: [0xeb,A]
505-
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_13-1, kind: FK_PCRel_1
506-
; WIN64-NEXT: .LBB3_10: # %sw.bb22
497+
; WIN64-NEXT: cmpl $10, %r9d # encoding: [0x41,0x83,0xf9,0x0a]
498+
; WIN64-NEXT: jb .LBB3_10 # encoding: [0x72,A]
499+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_10-1, kind: FK_PCRel_1
500+
; WIN64-NEXT: jmp .LBB3_12 # encoding: [0xeb,A]
501+
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_12-1, kind: FK_PCRel_1
502+
; WIN64-NEXT: .LBB3_9: # %sw.bb22
507503
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
508-
; WIN64-NEXT: movzbl (%rcx), %r8d # encoding: [0x44,0x0f,0xb6,0x01]
509-
; WIN64-NEXT: addl $-48, %r8d # encoding: [0x41,0x83,0xc0,0xd0]
510-
; WIN64-NEXT: cmpl $10, %r8d # encoding: [0x41,0x83,0xf8,0x0a]
504+
; WIN64-NEXT: movzbl (%rcx), %r9d # encoding: [0x44,0x0f,0xb6,0x09]
505+
; WIN64-NEXT: addl $-48, %r9d # encoding: [0x41,0x83,0xc1,0xd0]
511506
; WIN64-NEXT: movl $2, %r8d # encoding: [0x41,0xb8,0x02,0x00,0x00,0x00]
507+
; WIN64-NEXT: cmpl $10, %r9d # encoding: [0x41,0x83,0xf9,0x0a]
512508
; WIN64-NEXT: jae _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_ # TAILCALL
513509
; WIN64-NEXT: # encoding: [0x73,A]
514510
; WIN64-NEXT: # fixup A - offset: 1, value: _Z20isValidIntegerSuffixN9__gnu_cxx17__normal_iteratorIPKcSsEES3_-1, kind: FK_PCRel_1
515-
; WIN64-NEXT: .LBB3_11: # %for.inc
511+
; WIN64-NEXT: .LBB3_10: # %for.inc
516512
; WIN64-NEXT: # in Loop: Header=BB3_1 Depth=1
517513
; WIN64-NEXT: incq %rcx # encoding: [0x48,0xff,0xc1]
518514
; WIN64-NEXT: decq %rax # encoding: [0x48,0xff,0xc8]
519515
; WIN64-NEXT: jmp .LBB3_1 # encoding: [0xeb,A]
520516
; WIN64-NEXT: # fixup A - offset: 1, value: .LBB3_1-1, kind: FK_PCRel_1
521-
; WIN64-NEXT: .LBB3_12:
517+
; WIN64-NEXT: .LBB3_11:
522518
; WIN64-NEXT: cmpl $2, %r8d # encoding: [0x41,0x83,0xf8,0x02]
523519
; WIN64-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
524520
; WIN64-NEXT: # kill: def $al killed $al killed $eax
525521
; WIN64-NEXT: retq # encoding: [0xc3]
526-
; WIN64-NEXT: .LBB3_13:
522+
; WIN64-NEXT: .LBB3_12:
527523
; WIN64-NEXT: xorl %eax, %eax # encoding: [0x31,0xc0]
528524
; WIN64-NEXT: # kill: def $al killed $al killed $eax
529525
; WIN64-NEXT: retq # encoding: [0xc3]

llvm/test/CodeGen/X86/licm-nested.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; REQUIRES: asserts
2-
; RUN: llc -mtriple=x86_64-apple-darwin < %s -o /dev/null -stats -info-output-file - | grep "hoisted out of loops" | grep 7
2+
; RUN: llc -mtriple=x86_64-apple-darwin < %s -o /dev/null -stats -info-output-file - | grep "hoisted out of loops" | grep 3
33

44
; MachineLICM should be able to hoist the symbolic addresses out of
55
; the inner loops.

llvm/test/CodeGen/X86/loop-strength-reduce7.ll

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ define fastcc void @outer_loop(ptr nocapture %gfp, ptr nocapture %xr, i32 %targ_
1717
; CHECK-NEXT: LBB0_2: ## %bb28.i37
1818
; CHECK-NEXT: ## =>This Loop Header: Depth=1
1919
; CHECK-NEXT: ## Child Loop BB0_3 Depth 2
20-
; CHECK-NEXT: movl %eax, %edx
21-
; CHECK-NEXT: xorl %esi, %esi
20+
; CHECK-NEXT: xorl %edx, %edx
21+
; CHECK-NEXT: movl %eax, %esi
2222
; CHECK-NEXT: .p2align 4, 0x90
2323
; CHECK-NEXT: LBB0_3: ## %bb29.i38
2424
; CHECK-NEXT: ## Parent Loop BB0_2 Depth=1
2525
; CHECK-NEXT: ## => This Inner Loop Header: Depth=2
26-
; CHECK-NEXT: incl %esi
27-
; CHECK-NEXT: addl $12, %edx
28-
; CHECK-NEXT: cmpl $11, %esi
26+
; CHECK-NEXT: incl %edx
27+
; CHECK-NEXT: addl $12, %esi
28+
; CHECK-NEXT: cmpl $11, %edx
2929
; CHECK-NEXT: jbe LBB0_3
3030
; CHECK-NEXT: ## %bb.1: ## %bb28.i37.loopexit
3131
; CHECK-NEXT: ## in Loop: Header=BB0_2 Depth=1

0 commit comments

Comments
 (0)