diff options
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineInternal.h')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineInternal.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h index 88c52e2413d..7ce5ac17451 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h +++ b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h @@ -548,10 +548,10 @@ private: ConstantInt *AndCst = nullptr); Instruction *foldFCmpIntToFPConst(FCmpInst &I, Instruction *LHSI, Constant *RHSC); - Instruction *foldICmpDivConst(ICmpInst &ICI, BinaryOperator *DivI, - ConstantInt *DivRHS); - Instruction *foldICmpShrConst(ICmpInst &ICI, BinaryOperator *DivI, - ConstantInt *DivRHS); + Instruction *foldICmpDivConstConst(ICmpInst &ICI, BinaryOperator *DivI, + ConstantInt *DivRHS); + Instruction *foldICmpShrConstConst(ICmpInst &ICI, BinaryOperator *DivI, + ConstantInt *DivRHS); Instruction *foldICmpCstShrConst(ICmpInst &I, Value *Op, Value *A, ConstantInt *CI1, ConstantInt *CI2); Instruction *foldICmpCstShlConst(ICmpInst &I, Value *Op, Value *A, @@ -560,6 +560,30 @@ private: ICmpInst::Predicate Pred); Instruction *foldICmpWithCastAndCast(ICmpInst &ICI); Instruction *foldICmpWithConstant(ICmpInst &ICI); + + Instruction *foldICmpTruncConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpAndConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpXorConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpOrConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpMulConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpShlConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpShrConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpUDivConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpDivConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpSubConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpAddConstant(ICmpInst &ICI, Instruction *LHSI, + const APInt *RHSV); + Instruction *foldICmpEqualityWithConstant(ICmpInst &ICI); Instruction *foldICmpIntrinsicWithConstant(ICmpInst &ICI); |