From 198381e542320265e1c5fed18e938db3563a45bf Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Tue, 7 Sep 2010 05:39:02 +0000 Subject: Add completely hokey binary-and and binary-or operations to ConstantRange and teach LazyValueInfo to use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113196 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/LazyValueInfo.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/Analysis/LazyValueInfo.cpp') diff --git a/lib/Analysis/LazyValueInfo.cpp b/lib/Analysis/LazyValueInfo.cpp index 9c3878b775..2c25f80dbe 100644 --- a/lib/Analysis/LazyValueInfo.cpp +++ b/lib/Analysis/LazyValueInfo.cpp @@ -602,6 +602,12 @@ LVILatticeVal LVIQuery::getBlockValue(BasicBlock *BB) { case Instruction::BitCast: Result.markConstantRange(LHSRange); break; + case Instruction::And: + Result.markConstantRange(LHSRange.binaryAnd(RHSRange)); + break; + case Instruction::Or: + Result.markConstantRange(LHSRange.binaryOr(RHSRange)); + break; // Unhandled instructions are overdefined. default: -- cgit v1.2.3