aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/InstCombine/cast-propagate.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/cast-propagate.ll b/test/Transforms/InstCombine/cast-propagate.ll
new file mode 100644
index 0000000000..bf1143d3e5
--- /dev/null
+++ b/test/Transforms/InstCombine/cast-propagate.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-as < cast-propagate.ll | opt -instcombine -mem2reg | llvm-dis | not grep load
+
+int %test1(uint* %P) {
+ %A = alloca uint
+ store uint 123, uint* %A
+ %Q = cast uint* %A to int* ; Cast the result of the load not the source
+ %V = load int* %Q
+ ret int %V
+}