aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2008-02-14 07:15:11 +0000
committerNick Lewycky <nicholas@mxc.ca>2008-02-14 07:15:11 +0000
commitad92ac2ec9ee9a90381808657c9a79264afc0b66 (patch)
tree5e18474b909a0b8c4acd77ce555abfdbbc698445
parent8fba1d0a9ca7c11252f86d9bf33d2ae625ae0647 (diff)
downloadexternal_llvm-ad92ac2ec9ee9a90381808657c9a79264afc0b66.zip
external_llvm-ad92ac2ec9ee9a90381808657c9a79264afc0b66.tar.gz
external_llvm-ad92ac2ec9ee9a90381808657c9a79264afc0b66.tar.bz2
Testcase for PR2032.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47113 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/GVN/2008-02-13-NewPHI.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/GVN/2008-02-13-NewPHI.ll b/test/Transforms/GVN/2008-02-13-NewPHI.ll
new file mode 100644
index 0000000..d3e3251
--- /dev/null
+++ b/test/Transforms/GVN/2008-02-13-NewPHI.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -anders-aa -gvn
+; PR2032
+
+define i32 @sscal(i32 %n, double %sa1, float* %sx, i32 %incx) {
+entry:
+ %sx_addr = alloca float* ; <float**> [#uses=3]
+ store float* %sx, float** %sx_addr, align 4
+ br label %bb33
+
+bb: ; preds = %bb33
+ %tmp27 = load float** %sx_addr, align 4 ; <float*> [#uses=1]
+ store float 0.000000e+00, float* %tmp27, align 4
+ store float* null, float** %sx_addr, align 4
+ br label %bb33
+
+bb33: ; preds = %bb, %entry
+ br i1 false, label %bb, label %return
+
+return: ; preds = %bb33
+ %retval59 = load i32* null, align 4 ; <i32> [#uses=1]
+ ret i32 %retval59
+}