diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2007-03-18 01:09:32 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2007-03-18 01:09:32 +0000 |
commit | 17d20fd41e56215a2db73d19dfa864f13195db44 (patch) | |
tree | 9fb9fc99ba35b241af0f7af5a36acf4f83772044 /llvm/test | |
parent | 22f436da42e4967284f4a4d201467502d0d17f38 (diff) | |
download | bcm5719-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.ll | 19 |
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) |