aboutsummaryrefslogtreecommitdiff
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.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/Analysis/LoadVN/casts.ll b/test/Analysis/LoadVN/casts.ll
new file mode 100644
index 0000000000..462338d0d8
--- /dev/null
+++ b/test/Analysis/LoadVN/casts.ll
@@ -0,0 +1,12 @@
+; Check to make sure that Value Numbering doesn't merge casts of different
+; flavors.
+; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | 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
+}