diff options
| author | Mark Heffernan <meheff@google.com> | 2014-07-23 17:31:37 +0000 |
|---|---|---|
| committer | Mark Heffernan <meheff@google.com> | 2014-07-23 17:31:37 +0000 |
| commit | e6b4ba1c41f35fccdd9dac4967cdd9bbc2074fb9 (patch) | |
| tree | 1f19eeafe25b5fb86893ddc005e5b3beb9c7d43d /llvm/test/Transforms | |
| parent | 450c23843e3cab5b168a5581e2924845dd03f346 (diff) | |
| download | bcm5719-llvm-e6b4ba1c41f35fccdd9dac4967cdd9bbc2074fb9.tar.gz bcm5719-llvm-e6b4ba1c41f35fccdd9dac4967cdd9bbc2074fb9.zip | |
In unroll pragma syntax and loop hint metadata, change "enable" forms to a new form using the string "full".
llvm-svn: 213772
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll | 10 | ||||
| -rw-r--r-- | llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll | 42 |
2 files changed, 11 insertions, 41 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll b/llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll index 39da7fa70ad..dcde9ebfbbf 100644 --- a/llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll +++ b/llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll @@ -6,9 +6,9 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -; #pragma clang loop vectorize(enable) unroll(enable) unroll_count(4) vectorize_width(8) +; #pragma clang loop vectorize(enable) unroll(full) unroll_count(4) vectorize_width(8) ; -; Unroll metadata should be replaces with unroll(disable). Vectorize +; Unroll metadata should be replaced with unroll(disable). Vectorize ; metadata should be untouched. ; ; CHECK-LABEL: @loop1( @@ -32,7 +32,7 @@ for.end: ; preds = %for.body } !1 = metadata !{metadata !1, metadata !2, metadata !3, metadata !4, metadata !5} !2 = metadata !{metadata !"llvm.loop.vectorize.enable", i1 true} -!3 = metadata !{metadata !"llvm.loop.unroll.enable", i1 true} +!3 = metadata !{metadata !"llvm.loop.unroll.full"} !4 = metadata !{metadata !"llvm.loop.unroll.count", i32 4} !5 = metadata !{metadata !"llvm.loop.vectorize.width", i32 8} @@ -60,10 +60,10 @@ for.end: ; preds = %for.body ret void } !6 = metadata !{metadata !6, metadata !7} -!7 = metadata !{metadata !"llvm.loop.unroll.enable", i1 false} +!7 = metadata !{metadata !"llvm.loop.unroll.disable"} ; CHECK: ![[LOOP_1]] = metadata !{metadata ![[LOOP_1]], metadata ![[VEC_ENABLE:.*]], metadata ![[WIDTH_8:.*]], metadata ![[UNROLL_DISABLE:.*]]} ; CHECK: ![[VEC_ENABLE]] = metadata !{metadata !"llvm.loop.vectorize.enable", i1 true} ; CHECK: ![[WIDTH_8]] = metadata !{metadata !"llvm.loop.vectorize.width", i32 8} -; CHECK: ![[UNROLL_DISABLE]] = metadata !{metadata !"llvm.loop.unroll.enable", i1 false} +; CHECK: ![[UNROLL_DISABLE]] = metadata !{metadata !"llvm.loop.unroll.disable"} ; CHECK: ![[LOOP_2]] = metadata !{metadata ![[LOOP_2]], metadata ![[UNROLL_DISABLE:.*]]} diff --git a/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll b/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll index e1b24e44b5a..1ca249d20c5 100644 --- a/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll +++ b/llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll @@ -55,11 +55,11 @@ for.end: ; preds = %for.body ret void } !1 = metadata !{metadata !1, metadata !2} -!2 = metadata !{metadata !"llvm.loop.unroll.enable", i1 false} +!2 = metadata !{metadata !"llvm.loop.unroll.disable"} ; loop64 has a high enough count that it should *not* be unrolled by ; the default unrolling heuristic. It serves as the control for the -; unroll(enable) pragma test loop64_with_.* tests below. +; unroll(full) pragma test loop64_with_.* tests below. ; ; CHECK-LABEL: @loop64( ; CHECK: store i32 @@ -83,7 +83,7 @@ for.end: ; preds = %for.body ret void } -; #pragma clang loop unroll(enable) +; #pragma clang loop unroll(full) ; Loop should be fully unrolled. ; ; CHECK-LABEL: @loop64_with_enable( @@ -106,7 +106,7 @@ for.end: ; preds = %for.body ret void } !3 = metadata !{metadata !3, metadata !4} -!4 = metadata !{metadata !"llvm.loop.unroll.enable", i1 true} +!4 = metadata !{metadata !"llvm.loop.unroll.full"} ; #pragma clang loop unroll_count(4) ; Loop should be unrolled 4 times. @@ -138,37 +138,7 @@ for.end: ; preds = %for.body !5 = metadata !{metadata !5, metadata !6} !6 = metadata !{metadata !"llvm.loop.unroll.count", i32 4} - -; #pragma clang loop unroll_count(enable) unroll_count(4) -; Loop should be unrolled 4 times. -; -; CHECK-LABEL: @loop64_with_enable_and_count4( -; CHECK: store i32 -; CHECK: store i32 -; CHECK: store i32 -; CHECK: store i32 -; CHECK-NOT: store i32 -; CHECK: br i1 -define void @loop64_with_enable_and_count4(i32* nocapture %a) { -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* %a, i64 %indvars.iv - %0 = load 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 !7 - -for.end: ; preds = %for.body - ret void -} -!7 = metadata !{metadata !7, metadata !6, metadata !4} - -; #pragma clang loop unroll_count(enable) +; #pragma clang loop unroll(full) ; Full unrolling is requested, but loop has a dynamic trip count so ; no unrolling should occur. ; @@ -261,7 +231,7 @@ for.end: ; preds = %for.body !10 = metadata !{metadata !10, metadata !11} !11 = metadata !{metadata !"llvm.loop.unroll.count", i32 1} -; #pragma clang loop unroll(enable) +; #pragma clang loop unroll(full) ; Loop has very high loop count (1 million) and full unrolling was requested. ; Loop should unrolled up to the pragma threshold, but not completely. ; |

