diff options
Diffstat (limited to 'test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll')
-rw-r--r-- | test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll | 120 |
1 files changed, 55 insertions, 65 deletions
diff --git a/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll b/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll index 56f1f99..12ba3ce 100644 --- a/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll +++ b/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll @@ -8,26 +8,24 @@ define void @add_ints_1_1_1(i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 addr ; CHECK-LABEL: @add_ints_1_1_1( ; CHECK: <4 x i32> ; CHECK: ret -entry: - br label %for.cond -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %i.0, 200 - br i1 %cmp, label %for.body, label %for.end +entry: + br label %for.body -for.body: ; preds = %for.cond - %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.0 +for.body: ; preds = %entry, %for.body + %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.01 %0 = load i32 addrspace(1)* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32 addrspace(1)* %c, i64 %i.0 + %arrayidx1 = getelementptr inbounds i32 addrspace(1)* %c, i64 %i.01 %1 = load i32 addrspace(1)* %arrayidx1, align 4 %add = add nsw i32 %0, %1 - %arrayidx2 = getelementptr inbounds i32 addrspace(1)* %a, i64 %i.0 + %arrayidx2 = getelementptr inbounds i32 addrspace(1)* %a, i64 %i.01 store i32 %add, i32 addrspace(1)* %arrayidx2, align 4 - %inc = add i64 %i.0, 1 - br label %for.cond + %inc = add i64 %i.01, 1 + %cmp = icmp ult i64 %inc, 200 + br i1 %cmp, label %for.body, label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.body ret void } @@ -35,26 +33,24 @@ define void @add_ints_as_1_0_0(i32 addrspace(1)* %a, i32* %b, i32* %c) #0 { ; CHECK-LABEL: @add_ints_as_1_0_0( ; CHECK-NOT: <4 x i32> ; CHECK: ret -entry: - br label %for.cond -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %i.0, 200 - br i1 %cmp, label %for.body, label %for.end +entry: + br label %for.body -for.body: ; preds = %for.cond - %arrayidx = getelementptr inbounds i32* %b, i64 %i.0 +for.body: ; preds = %entry, %for.body + %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %arrayidx = getelementptr inbounds i32* %b, i64 %i.01 %0 = load i32* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32* %c, i64 %i.0 + %arrayidx1 = getelementptr inbounds i32* %c, i64 %i.01 %1 = load i32* %arrayidx1, align 4 %add = add nsw i32 %0, %1 - %arrayidx2 = getelementptr inbounds i32 addrspace(1)* %a, i64 %i.0 + %arrayidx2 = getelementptr inbounds i32 addrspace(1)* %a, i64 %i.01 store i32 %add, i32 addrspace(1)* %arrayidx2, align 4 - %inc = add i64 %i.0, 1 - br label %for.cond + %inc = add i64 %i.01, 1 + %cmp = icmp ult i64 %inc, 200 + br i1 %cmp, label %for.body, label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.body ret void } @@ -62,26 +58,24 @@ define void @add_ints_as_0_1_0(i32* %a, i32 addrspace(1)* %b, i32* %c) #0 { ; CHECK-LABEL: @add_ints_as_0_1_0( ; CHECK-NOT: <4 x i32> ; CHECK: ret -entry: - br label %for.cond -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %i.0, 200 - br i1 %cmp, label %for.body, label %for.end +entry: + br label %for.body -for.body: ; preds = %for.cond - %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.0 +for.body: ; preds = %entry, %for.body + %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.01 %0 = load i32 addrspace(1)* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32* %c, i64 %i.0 + %arrayidx1 = getelementptr inbounds i32* %c, i64 %i.01 %1 = load i32* %arrayidx1, align 4 %add = add nsw i32 %0, %1 - %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.0 + %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.01 store i32 %add, i32* %arrayidx2, align 4 - %inc = add i64 %i.0, 1 - br label %for.cond + %inc = add i64 %i.01, 1 + %cmp = icmp ult i64 %inc, 200 + br i1 %cmp, label %for.body, label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.body ret void } @@ -89,26 +83,24 @@ define void @add_ints_as_0_1_1(i32* %a, i32 addrspace(1)* %b, i32 addrspace(1)* ; CHECK-LABEL: @add_ints_as_0_1_1( ; CHECK-NOT: <4 x i32> ; CHECK: ret -entry: - br label %for.cond -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %i.0, 200 - br i1 %cmp, label %for.body, label %for.end +entry: + br label %for.body -for.body: ; preds = %for.cond - %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.0 +for.body: ; preds = %entry, %for.body + %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.01 %0 = load i32 addrspace(1)* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32 addrspace(1)* %c, i64 %i.0 + %arrayidx1 = getelementptr inbounds i32 addrspace(1)* %c, i64 %i.01 %1 = load i32 addrspace(1)* %arrayidx1, align 4 %add = add nsw i32 %0, %1 - %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.0 + %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.01 store i32 %add, i32* %arrayidx2, align 4 - %inc = add i64 %i.0, 1 - br label %for.cond + %inc = add i64 %i.01, 1 + %cmp = icmp ult i64 %inc, 200 + br i1 %cmp, label %for.body, label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.body ret void } @@ -116,26 +108,24 @@ define void @add_ints_as_0_1_2(i32* %a, i32 addrspace(1)* %b, i32 addrspace(2)* ; CHECK-LABEL: @add_ints_as_0_1_2( ; CHECK-NOT: <4 x i32> ; CHECK: ret -entry: - br label %for.cond -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %i.0, 200 - br i1 %cmp, label %for.body, label %for.end +entry: + br label %for.body -for.body: ; preds = %for.cond - %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.0 +for.body: ; preds = %entry, %for.body + %i.01 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %arrayidx = getelementptr inbounds i32 addrspace(1)* %b, i64 %i.01 %0 = load i32 addrspace(1)* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32 addrspace(2)* %c, i64 %i.0 + %arrayidx1 = getelementptr inbounds i32 addrspace(2)* %c, i64 %i.01 %1 = load i32 addrspace(2)* %arrayidx1, align 4 %add = add nsw i32 %0, %1 - %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.0 + %arrayidx2 = getelementptr inbounds i32* %a, i64 %i.01 store i32 %add, i32* %arrayidx2, align 4 - %inc = add i64 %i.0, 1 - br label %for.cond + %inc = add i64 %i.01, 1 + %cmp = icmp ult i64 %inc, 200 + br i1 %cmp, label %for.body, label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.body ret void } |