summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2007-03-18 01:09:32 +0000
committerNick Lewycky <nicholas@mxc.ca>2007-03-18 01:09:32 +0000
commit17d20fd41e56215a2db73d19dfa864f13195db44 (patch)
tree9fb9fc99ba35b241af0f7af5a36acf4f83772044 /llvm/test
parent22f436da42e4967284f4a4d201467502d0d17f38 (diff)
downloadbcm5719-llvm-17d20fd41e56215a2db73d19dfa864f13195db44.tar.gz
bcm5719-llvm-17d20fd41e56215a2db73d19dfa864f13195db44.zip
Propagate ValueRanges across equality.
Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0. llvm-svn: 35138
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll b/llvm/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll
new file mode 100644
index 00000000000..0a45e7ce36a
--- /dev/null
+++ b/llvm/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll
@@ -0,0 +1,19 @@
+; RUN: llvm-as < %s | opt -predsimplify | llvm-dis | grep -v %c
+define void @foo(i8* %X, i8* %Y) {
+entry:
+ %A = load i8* %X
+ %B = load i8* %Y
+ %a = icmp ult i8 %B, 10
+ br i1 %a, label %cond_true, label %URB
+cond_true:
+ %b = icmp eq i8 %A, %B
+ br i1 %b, label %cond_true2, label %URB
+cond_true2:
+ %c = icmp ult i8 %A, 11
+ call i8 @bar(i1 %c)
+ ret void
+URB:
+ ret void
+}
+
+declare i8 @bar(i1)
OpenPOWER on IntegriCloud