Expand Up
@@ -58,7 +58,7 @@ do.end:
; CHECK: br label %while.body3.us
; CHECK: [[REM:%[^ ]+]] = phi i32 [ %N, %while.cond1.preheader.us ], [ [[LOOP_DEC:%[^ ]+]], %while.body3.us ]
; CHECK: [[LOOP_DEC]] = call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 [[REM]], i32 1)
; CHECK: [[LOOP_DEC]] = call i32 @llvm.loop.decrement.reg.i32(i32 [[REM]], i32 1)
; CHECK: [[CMP:%[^ ]+]] = icmp ne i32 [[LOOP_DEC]], 0
; CHECK: br i1 [[CMP]], label %while.body3.us, label %while.cond1.while.end_crit_edge.us
Expand Down
Expand Up
@@ -105,7 +105,7 @@ while.end7:
; CHECK-LABEL: pre_existing
; CHECK: llvm.set.loop.iterations
; CHECK-NOT: llvm.set.loop.iterations
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0, i32 1)
; CHECK: call i32 @llvm.loop.decrement.reg.i32(i32 %0, i32 1)
; CHECK-NOT: call i32 @llvm.loop.decrement.reg
define i32 @pre_existing (i32 %n , i32* nocapture %p , i32* nocapture readonly %q ) {
entry:
Expand All
@@ -120,7 +120,7 @@ while.body: ; preds = %while.body, %entry
%1 = load i32 , i32* %q.addr.05 , align 4
%incdec.ptr1 = getelementptr inbounds i32 , i32* %p.addr.04 , i32 1
store i32 %1 , i32* %p.addr.04 , align 4
%2 = call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0 , i32 1 )
%2 = call i32 @llvm.loop.decrement.reg.i32 (i32 %0 , i32 1 )
%3 = icmp ne i32 %2 , 0
br i1 %3 , label %while.body , label %while.end
Expand All
@@ -131,7 +131,7 @@ while.end: ; preds = %while.body
; CHECK-LABEL: pre_existing_test_set
; CHECK: call i1 @llvm.test.set.loop.iterations
; CHECK-NOT: llvm.set{{.*}}.loop.iterations
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0, i32 1)
; CHECK: call i32 @llvm.loop.decrement.reg.i32(i32 %0, i32 1)
; CHECK-NOT: call i32 @llvm.loop.decrement.reg
define i32 @pre_existing_test_set (i32 %n , i32* nocapture %p , i32* nocapture readonly %q ) {
entry:
Expand All
@@ -149,7 +149,7 @@ while.body: ; preds = %while.body, %entry
%1 = load i32 , i32* %q.addr.05 , align 4
%incdec.ptr1 = getelementptr inbounds i32 , i32* %p.addr.04 , i32 1
store i32 %1 , i32* %p.addr.04 , align 4
%2 = call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0 , i32 1 )
%2 = call i32 @llvm.loop.decrement.reg.i32 (i32 %0 , i32 1 )
%3 = icmp ne i32 %2 , 0
br i1 %3 , label %while.body , label %while.end
Expand All
@@ -161,7 +161,7 @@ while.end: ; preds = %while.body
; CHECK-NOT: llvm.set.loop.iterations
; CHECK: while.cond1.preheader.us:
; CHECK: call void @llvm.set.loop.iterations.i32(i32 %N)
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0, i32 1)
; CHECK: call i32 @llvm.loop.decrement.reg.i32(i32 %0, i32 1)
; CHECK: br i1
; CHECK-NOT: call i32 @llvm.loop.decrement
define void @pre_existing_inner (i32* nocapture %A , i32 %N ) {
Expand All
@@ -182,7 +182,7 @@ while.body3.us:
%arrayidx.us = getelementptr inbounds i32 , i32* %A , i32 %add.us
store i32 %add.us , i32* %arrayidx.us , align 4
%inc.us = add nuw i32 %j.019.us , 1
%1 = call i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 %0 , i32 1 )
%1 = call i32 @llvm.loop.decrement.reg.i32 (i32 %0 , i32 1 )
%2 = icmp ne i32 %1 , 0
br i1 %2 , label %while.body3.us , label %while.cond1.while.end_crit_edge.us
Expand Down
Expand Up
@@ -278,7 +278,7 @@ exit:
; CHECK: br label %for.body
; CHECK: for.body:
; CHECK: for.inc:
; CHECK: [[LOOP_DEC:%[^ ]+]] = call i32 @llvm.loop.decrement.reg.i32.i32.i32
; CHECK: [[LOOP_DEC:%[^ ]+]] = call i32 @llvm.loop.decrement.reg.i32(
; CHECK: [[CMP:%[^ ]+]] = icmp ne i32 [[LOOP_DEC]], 0
; CHECK: br i1 [[CMP]], label %for.body, label %for.cond.cleanup
define i32 @search (i8* nocapture readonly %c , i32 %N ) {
Expand Down
Expand Up
@@ -323,7 +323,7 @@ for.inc: ; preds = %sw.bb, %sw.bb1, %fo
; CHECK-LABEL: unroll_inc_int
; CHECK: call void @llvm.set.loop.iterations.i32(i32 %N)
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (
; CHECK: call i32 @llvm.loop.decrement.reg.i32(
; TODO: We should be able to support the unrolled loop body.
; CHECK-UNROLL-LABEL: unroll_inc_int
Expand Down
Expand Up
@@ -361,7 +361,7 @@ for.body:
; CHECK-LABEL: unroll_inc_unsigned
; CHECK: call i1 @llvm.test.set.loop.iterations.i32(i32 %N)
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (
; CHECK: call i32 @llvm.loop.decrement.reg.i32(
; CHECK-LLC-LABEL: unroll_inc_unsigned:
; CHECK-LLC: wls lr, r3, [[EXIT:.LBB[0-9_]+]]
Expand Down
Expand Up
@@ -405,7 +405,7 @@ for.body:
; CHECK-LABEL: unroll_dec_int
; CHECK: call void @llvm.set.loop.iterations.i32(i32 %N)
; CHECK: call i32 @llvm.loop.decrement.reg.i32.i32.i32 (
; CHECK: call i32 @llvm.loop.decrement.reg.i32(
; TODO: An unnecessary register is being held to hold COUNT, lr should just
; be used instead.
Expand Down
Expand Up
@@ -449,5 +449,5 @@ for.body:
declare void @llvm.set.loop.iterations.i32 (i32 ) #0
declare i1 @llvm.test.set.loop.iterations.i32 (i32 ) #0
declare i32 @llvm.loop.decrement.reg.i32.i32.i32 (i32 , i32 ) #0
declare i32 @llvm.loop.decrement.reg.i32 (i32 , i32 ) #0