diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2010-09-07 05:39:02 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2010-09-07 05:39:02 +0000 |
commit | 198381e542320265e1c5fed18e938db3563a45bf (patch) | |
tree | a98f4c5d152f298a16df53c579b2225cc3a729b5 /lib/Analysis/LazyValueInfo.cpp | |
parent | 2b6c01b40b75e363e46b3ad7c598113eb98f34fb (diff) | |
download | external_llvm-198381e542320265e1c5fed18e938db3563a45bf.zip external_llvm-198381e542320265e1c5fed18e938db3563a45bf.tar.gz external_llvm-198381e542320265e1c5fed18e938db3563a45bf.tar.bz2 |
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
Diffstat (limited to 'lib/Analysis/LazyValueInfo.cpp')
-rw-r--r-- | lib/Analysis/LazyValueInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Analysis/LazyValueInfo.cpp b/lib/Analysis/LazyValueInfo.cpp index 9c3878b..2c25f80 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: |