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 | ad48e01eef196d0a19739c9109c44c4ea251a5db (patch) | |
tree | 6560ad601f795c1b0f7a08e93c448450fc69eb79 /llvm/lib/Analysis | |
parent | 95897c6a3a7e7b9a8ee085948e019df14edb6be6 (diff) | |
download | bcm5719-llvm-ad48e01eef196d0a19739c9109c44c4ea251a5db.tar.gz bcm5719-llvm-ad48e01eef196d0a19739c9109c44c4ea251a5db.zip |
Add completely hokey binary-and and binary-or operations to ConstantRange and
teach LazyValueInfo to use them.
llvm-svn: 113196
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r-- | llvm/lib/Analysis/LazyValueInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/LazyValueInfo.cpp b/llvm/lib/Analysis/LazyValueInfo.cpp index 9c3878b7759..2c25f80dbea 100644 --- a/llvm/lib/Analysis/LazyValueInfo.cpp +++ b/llvm/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: |