diff options
Diffstat (limited to 'llvm/test/CodeGen/Thumb')
-rw-r--r-- | llvm/test/CodeGen/Thumb/consthoist-physical-addr.ll | 12 | ||||
-rw-r--r-- | llvm/test/CodeGen/Thumb/pr42760.ll | 26 |
2 files changed, 21 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/Thumb/consthoist-physical-addr.ll b/llvm/test/CodeGen/Thumb/consthoist-physical-addr.ll index 83dc7939968..fbea199d2d1 100644 --- a/llvm/test/CodeGen/Thumb/consthoist-physical-addr.ll +++ b/llvm/test/CodeGen/Thumb/consthoist-physical-addr.ll @@ -10,8 +10,9 @@ define i32 @C(i32 %x, i32* nocapture %y) #0 { ; CHECK-NEXT: push {r4, r5, r7, lr} ; CHECK-NEXT: movs r2, #0 ; CHECK-NEXT: ldr r3, .LCPI0_0 -; CHECK-NEXT: b .LBB0_4 ; CHECK-NEXT: .LBB0_1: +; CHECK-NEXT: cmp r2, #128 +; CHECK-NEXT: beq .LBB0_5 ; CHECK-NEXT: movs r4, #0 ; CHECK-NEXT: str r4, [r3, #8] ; CHECK-NEXT: lsls r4, r2, #2 @@ -20,16 +21,15 @@ define i32 @C(i32 %x, i32* nocapture %y) #0 { ; CHECK-NEXT: movs r5, #1 ; CHECK-NEXT: str r5, [r3, #12] ; CHECK-NEXT: isb sy -; CHECK-NEXT: .LBB0_2: +; CHECK-NEXT: .LBB0_3: ; CHECK-NEXT: ldr r5, [r3, #12] ; CHECK-NEXT: cmp r5, #0 -; CHECK-NEXT: bne .LBB0_2 +; CHECK-NEXT: bne .LBB0_3 ; CHECK-NEXT: ldr r5, [r3, #4] ; CHECK-NEXT: str r5, [r1, r4] ; CHECK-NEXT: adds r2, r2, #1 -; CHECK-NEXT: .LBB0_4: -; CHECK-NEXT: cmp r2, #128 -; CHECK-NEXT: bne .LBB0_1 +; CHECK-NEXT: b .LBB0_1 +; CHECK-NEXT: .LBB0_5: ; CHECK-NEXT: movs r0, #0 ; CHECK-NEXT: pop {r4, r5, r7, pc} ; CHECK-NEXT: .p2align 2 diff --git a/llvm/test/CodeGen/Thumb/pr42760.ll b/llvm/test/CodeGen/Thumb/pr42760.ll index 4ba5dd48e77..fc9a18bb334 100644 --- a/llvm/test/CodeGen/Thumb/pr42760.ll +++ b/llvm/test/CodeGen/Thumb/pr42760.ll @@ -6,27 +6,31 @@ define hidden void @test() { ; CHECK: @ %bb.0: @ %entry ; CHECK-NEXT: movs r0, #1 ; CHECK-NEXT: lsls r1, r0, #2 -; CHECK-NEXT: .LBB0_1: @ %switch +; CHECK-NEXT: b .LBB0_2 +; CHECK-NEXT: .LBB0_1: @ %bb2 +; CHECK-NEXT: @ in Loop: Header=BB0_2 Depth=1 +; CHECK-NEXT: cmp r0, #0 +; CHECK-NEXT: bne .LBB0_6 +; CHECK-NEXT: .LBB0_2: @ %switch ; CHECK-NEXT: @ =>This Inner Loop Header: Depth=1 ; CHECK-NEXT: adr r2, .LJTI0_0 ; CHECK-NEXT: ldr r2, [r2, r1] ; CHECK-NEXT: mov pc, r2 -; CHECK-NEXT: @ %bb.2: +; CHECK-NEXT: @ %bb.3: ; CHECK-NEXT: .p2align 2 ; CHECK-NEXT: .LJTI0_0: -; CHECK-NEXT: .long .LBB0_5+1 +; CHECK-NEXT: .long .LBB0_6+1 ; CHECK-NEXT: .long .LBB0_4+1 +; CHECK-NEXT: .long .LBB0_6+1 ; CHECK-NEXT: .long .LBB0_5+1 -; CHECK-NEXT: .long .LBB0_3+1 -; CHECK-NEXT: .LBB0_3: @ %bb -; CHECK-NEXT: @ in Loop: Header=BB0_1 Depth=1 -; CHECK-NEXT: cmp r0, #0 -; CHECK-NEXT: bne .LBB0_5 -; CHECK-NEXT: .LBB0_4: @ %bb2 -; CHECK-NEXT: @ in Loop: Header=BB0_1 Depth=1 +; CHECK-NEXT: .LBB0_4: @ %switch +; CHECK-NEXT: @ in Loop: Header=BB0_2 Depth=1 +; CHECK-NEXT: b .LBB0_1 +; CHECK-NEXT: .LBB0_5: @ %bb +; CHECK-NEXT: @ in Loop: Header=BB0_2 Depth=1 ; CHECK-NEXT: cmp r0, #0 ; CHECK-NEXT: beq .LBB0_1 -; CHECK-NEXT: .LBB0_5: @ %dead +; CHECK-NEXT: .LBB0_6: @ %dead entry: br label %switch |