diff options
author | Dan Gohman <gohman@apple.com> | 2009-04-21 00:55:22 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-04-21 00:55:22 +0000 |
commit | fb17fd2cdf35f8ad0b9e0e7e1b06a186fce442f8 (patch) | |
tree | 2ca73473b56aaf7d31dcf51ce61d7b21e51da553 /lib/Analysis | |
parent | b7ef72963b2215ca23c27fa8ea777bada06994d0 (diff) | |
download | external_llvm-fb17fd2cdf35f8ad0b9e0e7e1b06a186fce442f8.zip external_llvm-fb17fd2cdf35f8ad0b9e0e7e1b06a186fce442f8.tar.gz external_llvm-fb17fd2cdf35f8ad0b9e0e7e1b06a186fce442f8.tar.bz2 |
Move some assertion checks so they can do more complete checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69643 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 151ea74..2a6cc50 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -201,10 +201,6 @@ SCEVTruncateExpr::SCEVTruncateExpr(const SCEVHandle &op, const Type *ty) assert((Op->getType()->isInteger() || isa<PointerType>(Op->getType())) && (Ty->isInteger() || isa<PointerType>(Ty)) && "Cannot truncate non-integer value!"); - assert((!Op->getType()->isInteger() || !Ty->isInteger() || - Op->getType()->getPrimitiveSizeInBits() > - Ty->getPrimitiveSizeInBits()) && - "This is not a truncating conversion!"); } SCEVTruncateExpr::~SCEVTruncateExpr() { @@ -255,8 +251,6 @@ SCEVSignExtendExpr::SCEVSignExtendExpr(const SCEVHandle &op, const Type *ty) assert((Op->getType()->isInteger() || isa<PointerType>(Op->getType())) && (Ty->isInteger() || isa<PointerType>(Ty)) && "Cannot sign extend non-integer value!"); - assert(Op->getType()->getPrimitiveSizeInBits() < Ty->getPrimitiveSizeInBits() - && "This is not an extending conversion!"); } SCEVSignExtendExpr::~SCEVSignExtendExpr() { @@ -654,6 +648,10 @@ SCEVHandle SCEVAddRecExpr::evaluateAtIteration(SCEVHandle It, //===----------------------------------------------------------------------===// SCEVHandle ScalarEvolution::getTruncateExpr(const SCEVHandle &Op, const Type *Ty) { + assert(getTargetData().getTypeSizeInBits(Op->getType()) > + getTargetData().getTypeSizeInBits(Ty) && + "This is not a truncating conversion!"); + if (SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) return getUnknown( ConstantExpr::getTrunc(SC->getValue(), Ty)); @@ -702,6 +700,10 @@ SCEVHandle ScalarEvolution::getZeroExtendExpr(const SCEVHandle &Op, } SCEVHandle ScalarEvolution::getSignExtendExpr(const SCEVHandle &Op, const Type *Ty) { + assert(getTargetData().getTypeSizeInBits(Op->getType()) < + getTargetData().getTypeSizeInBits(Ty) && + "This is not an extending conversion!"); + if (SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) { const Type *IntTy = Ty; if (isa<PointerType>(IntTy)) IntTy = getTargetData().getIntPtrType(); |