From 66048c2169dd8d7541eae39e5c2aa2a935fc46fa Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 2 Sep 2010 18:23:58 +0000 Subject: Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not be treated as equivalent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112843 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../CorrelatedValuePropagation/2010-09-02-Trunc.ll | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/Transforms/CorrelatedValuePropagation/2010-09-02-Trunc.ll (limited to 'test/Transforms') diff --git a/test/Transforms/CorrelatedValuePropagation/2010-09-02-Trunc.ll b/test/Transforms/CorrelatedValuePropagation/2010-09-02-Trunc.ll new file mode 100644 index 0000000..f2553dc --- /dev/null +++ b/test/Transforms/CorrelatedValuePropagation/2010-09-02-Trunc.ll @@ -0,0 +1,25 @@ +; RUN: opt -S < %s -correlated-propagation | FileCheck %s + +; CHECK: @check +define i16 @test(i32 %a, i1 %b) { +entry: + %c = icmp eq i32 %a, 0 + br i1 %c, label %left, label %right + +right: + %d = trunc i32 %a to i1 + br label %merge + +left: + br i1 %b, label %merge, label %other + +other: + ret i16 23 + +merge: + %f = phi i1 [%b, %left], [%d, %right] +; CHECK: select i1 %f, i16 1, i16 0 + %h = select i1 %f, i16 1, i16 0 +; CHECK: ret i16 %h + ret i16 %h +} \ No newline at end of file -- cgit v1.1