summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll')
-rw-r--r--llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll47
1 files changed, 12 insertions, 35 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll b/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll
index 5b405a030a1..2843e627b3c 100644
--- a/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll
+++ b/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll
@@ -108,29 +108,6 @@ for.end: ; preds = %for.body
!3 = !{!3, !4}
!4 = !{!"llvm.loop.unroll.full"}
-; #pragma clang loop unroll(full)
-; Loop should be fully unrolled, even for optsize.
-;
-; CHECK-LABEL: @loop64_with_full_optsize(
-; CHECK-NOT: br i1
-define void @loop64_with_full_optsize(i32* nocapture %a) optsize {
-entry:
- br label %for.body
-
-for.body: ; preds = %for.body, %entry
- %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
- %arrayidx = getelementptr inbounds i32, i32* %a, i64 %indvars.iv
- %0 = load i32, i32* %arrayidx, align 4
- %inc = add nsw i32 %0, 1
- store i32 %inc, i32* %arrayidx, align 4
- %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
- %exitcond = icmp eq i64 %indvars.iv.next, 64
- br i1 %exitcond, label %for.end, label %for.body, !llvm.loop !3
-
-for.end: ; preds = %for.body
- ret void
-}
-
; #pragma clang loop unroll_count(4)
; Loop should be unrolled 4 times.
;
@@ -194,14 +171,14 @@ for.end: ; preds = %for.body, %entry
; should be duplicated (original and 4x unrolled).
;
; CHECK-LABEL: @runtime_loop_with_count4(
-; CHECK: for.body
+; CHECK: for.body.prol:
; CHECK: store
+; CHECK-NOT: store
+; CHECK: br i1
+; CHECK: for.body
; CHECK: store
; CHECK: store
; CHECK: store
-; CHECK-NOT: store
-; CHECK: br i1
-; CHECK: for.body.epil:
; CHECK: store
; CHECK-NOT: store
; CHECK: br i1
@@ -310,6 +287,10 @@ for.end: ; preds = %for.body
; (original and 8x).
;
; CHECK-LABEL: @runtime_loop_with_enable(
+; CHECK: for.body.prol:
+; CHECK: store
+; CHECK-NOT: store
+; CHECK: br i1
; CHECK: for.body:
; CHECK: store i32
; CHECK: store i32
@@ -321,10 +302,6 @@ for.end: ; preds = %for.body
; CHECK: store i32
; CHECK-NOT: store i32
; CHECK: br i1
-; CHECK: for.body.epil:
-; CHECK: store
-; CHECK-NOT: store
-; CHECK: br i1
define void @runtime_loop_with_enable(i32* nocapture %a, i32 %b) {
entry:
%cmp3 = icmp sgt i32 %b, 0
@@ -351,13 +328,13 @@ for.end: ; preds = %for.body, %entry
; should be duplicated (original and 3x unrolled).
;
; CHECK-LABEL: @runtime_loop_with_count3(
-; CHECK: for.body
-; CHECK: store
-; CHECK: store
+; CHECK: for.body.prol:
; CHECK: store
; CHECK-NOT: store
; CHECK: br i1
-; CHECK: for.body.epil:
+; CHECK: for.body
+; CHECK: store
+; CHECK: store
; CHECK: store
; CHECK-NOT: store
; CHECK: br i1
OpenPOWER on IntegriCloud