diff options
author | Paul Redmond <paul.redmond@intel.com> | 2013-05-28 20:00:34 +0000 |
---|---|---|
committer | Paul Redmond <paul.redmond@intel.com> | 2013-05-28 20:00:34 +0000 |
commit | 5fdf836ba417a9813a352b25d39ae0c8b9bc281d (patch) | |
tree | 97e09ebec24621e099df3907703f93d5a16c009f /llvm/test/Transforms/LoopVectorize/X86 | |
parent | 9d406f4ec7dfa7da99a5d3160b02f724df34a4be (diff) | |
download | bcm5719-llvm-5fdf836ba417a9813a352b25d39ae0c8b9bc281d.tar.gz bcm5719-llvm-5fdf836ba417a9813a352b25d39ae0c8b9bc281d.zip |
Add support for llvm.vectorizer metadata
- llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic
by making the root of additional loop metadata.
- Loop::isAnnotatedParallel now looks for llvm.loop and associated
llvm.mem.parallel_loop_access
- document llvm.loop and update llvm.mem.parallel_loop_access
- add support for llvm.vectorizer.width and llvm.vectorizer.unroll
- document llvm.vectorizer.* metadata
- add utility class LoopVectorizerHints for getting/setting loop metadata
- use llvm.vectorizer.width=1 to indicate already vectorized instead of
already_vectorized
- update existing tests that used llvm.loop.parallel and
llvm.vectorizer.already_vectorized
Reviewed by: Nadav Rotem
llvm-svn: 182802
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/X86')
3 files changed, 5 insertions, 5 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll b/llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll index 47a5e7aee4c..30579cebb1b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll @@ -21,7 +21,7 @@ for.end.us: ; preds = %for.body3.us %indvars.iv.next34 = add i64 %indvars.iv33, 1 %lftr.wideiv35 = trunc i64 %indvars.iv.next34 to i32 %exitcond36 = icmp eq i32 %lftr.wideiv35, %m - br i1 %exitcond36, label %for.end15, label %for.body3.lr.ph.us, !llvm.loop.parallel !5 + br i1 %exitcond36, label %for.end15, label %for.body3.lr.ph.us, !llvm.loop !5 for.body3.us: ; preds = %for.body3.us, %for.body3.lr.ph.us %indvars.iv29 = phi i64 [ 0, %for.body3.lr.ph.us ], [ %indvars.iv.next30, %for.body3.us ] @@ -35,7 +35,7 @@ for.body3.us: ; preds = %for.body3.us, %for. %indvars.iv.next30 = add i64 %indvars.iv29, 1 %lftr.wideiv31 = trunc i64 %indvars.iv.next30 to i32 %exitcond32 = icmp eq i32 %lftr.wideiv31, %m - br i1 %exitcond32, label %for.end.us, label %for.body3.us, !llvm.loop.parallel !4 + br i1 %exitcond32, label %for.end.us, label %for.body3.us, !llvm.loop !4 for.body3.lr.ph.us: ; preds = %for.end.us, %entry %indvars.iv33 = phi i64 [ %indvars.iv.next34, %for.end.us ], [ 0, %entry ] diff --git a/llvm/test/Transforms/LoopVectorize/X86/parallel-loops-after-reg2mem.ll b/llvm/test/Transforms/LoopVectorize/X86/parallel-loops-after-reg2mem.ll index f904a8e0b11..2c47fcb4d38 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/parallel-loops-after-reg2mem.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/parallel-loops-after-reg2mem.ll @@ -35,7 +35,7 @@ for.body: ; preds = %for.body.for.body_c %indvars.iv.next.reload = load i64* %indvars.iv.next.reg2mem %lftr.wideiv = trunc i64 %indvars.iv.next.reload to i32 %exitcond = icmp eq i32 %lftr.wideiv, 512 - br i1 %exitcond, label %for.end, label %for.body.for.body_crit_edge, !llvm.loop.parallel !3 + br i1 %exitcond, label %for.end, label %for.body.for.body_crit_edge, !llvm.loop !3 for.body.for.body_crit_edge: ; preds = %for.body %indvars.iv.next.reload2 = load i64* %indvars.iv.next.reg2mem diff --git a/llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll b/llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll index 3f1a071e69f..681a815d32a 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll @@ -65,7 +65,7 @@ for.body: ; preds = %for.body, %entry store i32 %2, i32* %arrayidx2, align 4, !llvm.mem.parallel_loop_access !3 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 %exitcond = icmp eq i32 %lftr.wideiv, 512 - br i1 %exitcond, label %for.end, label %for.body, !llvm.loop.parallel !3 + br i1 %exitcond, label %for.end, label %for.body, !llvm.loop !3 for.end: ; preds = %for.body ret void @@ -98,7 +98,7 @@ for.body: ; preds = %for.body, %entry store i32 %2, i32* %arrayidx2, align 4, !llvm.mem.parallel_loop_access !6 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 %exitcond = icmp eq i32 %lftr.wideiv, 512 - br i1 %exitcond, label %for.end, label %for.body, !llvm.loop.parallel !6 + br i1 %exitcond, label %for.end, label %for.body, !llvm.loop !6 for.end: ; preds = %for.body ret void |