Changes in directory llvm/test/Transforms/GVNPRE:
extractelement.ll added (r1.1) insertelement.ll added (r1.1) shufflevector.ll added (r1.1) --- Log message: Add tests for performing GVNPRE on the three vector-specific instructions. --- Diffs of the changes: (+54 -0) extractelement.ll | 18 ++++++++++++++++++ insertelement.ll | 18 ++++++++++++++++++ shufflevector.ll | 18 ++++++++++++++++++ 3 files changed, 54 insertions(+) Index: llvm/test/Transforms/GVNPRE/extractelement.ll diff -c /dev/null llvm/test/Transforms/GVNPRE/extractelement.ll:1.1 *** /dev/null Tue Jun 26 23:06:42 2007 --- llvm/test/Transforms/GVNPRE/extractelement.ll Tue Jun 26 23:06:32 2007 *************** *** 0 **** --- 1,18 ---- + ; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre + + define i32 @extract() { + entry: ; preds = %cond_false, %entry + %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 > + br i1 true, label %cond_true, label %cond_false + + cond_true: + br label %end + + cond_false: + %a = extractelement <2 x i32> %foo, i32 0 + br label %end + + end: + %b = extractelement <2 x i32> %foo, i32 0 + ret i32 %b + } Index: llvm/test/Transforms/GVNPRE/insertelement.ll diff -c /dev/null llvm/test/Transforms/GVNPRE/insertelement.ll:1.1 *** /dev/null Tue Jun 26 23:06:55 2007 --- llvm/test/Transforms/GVNPRE/insertelement.ll Tue Jun 26 23:06:32 2007 *************** *** 0 **** --- 1,18 ---- + ; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre + + define i32 @extract() { + entry: ; preds = %cond_false, %entry + %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 > + br i1 true, label %cond_true, label %cond_false + + cond_true: + br label %end + + cond_false: + %a = insertelement <2 x i32> %foo, i32 0, i32 3 + br label %end + + end: + %b = insertelement <2 x i32> %foo, i32 0, i32 3 + ret i32 0 + } Index: llvm/test/Transforms/GVNPRE/shufflevector.ll diff -c /dev/null llvm/test/Transforms/GVNPRE/shufflevector.ll:1.1 *** /dev/null Tue Jun 26 23:06:55 2007 --- llvm/test/Transforms/GVNPRE/shufflevector.ll Tue Jun 26 23:06:32 2007 *************** *** 0 **** --- 1,18 ---- + ; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre + + define i32 @extract() { + entry: ; preds = %cond_false, %entry + %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 > + br i1 true, label %cond_true, label %cond_false + + cond_true: + br label %end + + cond_false: + %a = shufflevector <2 x i32> %foo, <2 x i32> undef, <2 x i32> < i32 0, i32 1 > + br label %end + + end: + %b = shufflevector <2 x i32> %foo, <2 x i32> undef, <2 x i32> < i32 0, i32 1 > + ret i32 0 + } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits