aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/LoadVN/casts.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/LoadVN/casts.ll')
-rw-r--r--test/Analysis/LoadVN/casts.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Analysis/LoadVN/casts.ll b/test/Analysis/LoadVN/casts.ll
new file mode 100644
index 0000000..3da4d57
--- /dev/null
+++ b/test/Analysis/LoadVN/casts.ll
@@ -0,0 +1,13 @@
+; Check to make sure that Value Numbering doesn't merge casts of different
+; flavors.
+; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | \
+; RUN: grep {\[sz\]ext} | wc -l | grep 2
+
+declare void %external(int)
+
+int %test_casts(short %x) {
+ %a = sext short %x to int
+ %b = zext short %x to int
+ call void %external(int %a)
+ ret int %b
+}