From f2335dcb17784148c4d8dd23093ab549153cc132 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 31 Jan 2013 00:12:20 +0000 Subject: [PATCH] stripAndComputeConstantOffsets is only called on pointers; check this with an assert instead of failing and requiring callers to check for failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173998 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/InstructionSimplify.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp index d97e226c3ae..bc514574066 100644 --- a/lib/Analysis/InstructionSimplify.cpp +++ b/lib/Analysis/InstructionSimplify.cpp @@ -665,8 +665,7 @@ Value *llvm::SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, /// no constant offsets applied. static Constant *stripAndComputeConstantOffsets(const DataLayout &TD, Value *&V) { - if (!V->getType()->isPointerTy()) - return 0; + assert(V->getType()->isPointerTy()); unsigned IntPtrWidth = TD.getPointerSizeInBits(); APInt Offset = APInt::getNullValue(IntPtrWidth); @@ -701,11 +700,7 @@ static Constant *stripAndComputeConstantOffsets(const DataLayout &TD, static Constant *computePointerDifference(const DataLayout &TD, Value *LHS, Value *RHS) { Constant *LHSOffset = stripAndComputeConstantOffsets(TD, LHS); - if (!LHSOffset) - return 0; Constant *RHSOffset = stripAndComputeConstantOffsets(TD, RHS); - if (!RHSOffset) - return 0; // If LHS and RHS are not related via constant offsets to the same base // value, there is nothing we can do here. @@ -1710,11 +1705,7 @@ static Constant *computePointerICmp(const DataLayout &TD, } Constant *LHSOffset = stripAndComputeConstantOffsets(TD, LHS); - if (!LHSOffset) - return 0; Constant *RHSOffset = stripAndComputeConstantOffsets(TD, RHS); - if (!RHSOffset) - return 0; // If LHS and RHS are not related via constant offsets to the same base // value, there is nothing we can do here.