Searched refs:isExact (Results 1 - 25 of 37) sorted by relevance

12

/external/llvm/include/llvm/Support/
H A DConstantFolder.h56 bool isExact = false) const {
57 return ConstantExpr::getUDiv(LHS, RHS, isExact);
60 bool isExact = false) const {
61 return ConstantExpr::getSDiv(LHS, RHS, isExact);
80 bool isExact = false) const {
81 return ConstantExpr::getLShr(LHS, RHS, isExact);
84 bool isExact = false) const {
85 return ConstantExpr::getAShr(LHS, RHS, isExact);
H A DTargetFolder.h71 Constant *CreateUDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
72 return Fold(ConstantExpr::getUDiv(LHS, RHS, isExact));
74 Constant *CreateSDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
75 return Fold(ConstantExpr::getSDiv(LHS, RHS, isExact));
93 Constant *CreateLShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
94 return Fold(ConstantExpr::getLShr(LHS, RHS, isExact));
96 Constant *CreateAShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
97 return Fold(ConstantExpr::getAShr(LHS, RHS, isExact));
H A DNoFolder.h89 bool isExact = false) const {
90 if (!isExact)
98 bool isExact = false) const {
99 if (!isExact)
126 bool isExact = false) const {
127 if (!isExact)
132 bool isExact = false) const {
133 if (!isExact)
H A DPatternMatch.h477 return PEO->isExact() && SubPattern.match(V);
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp34 bool isNUW = false, isNSW = false, isExact = false; local
41 isExact = PEO->isExact();
62 if (isExact)
63 isExact = cast<PossiblyExactOperator>(I)->isExact();
125 if (isExact) NewBinOp->setIsExact();
405 bool isNUW = false, isNSW = false, isExact = false; local
429 isExact = PEO->isExact();
[all...]
H A DInstCombineMulDivRem.cpp45 // (PowerOfTwo >>u B) --> isExact since shifting out the result would make it
57 if (I->getOpcode() == Instruction::LShr && !I->isExact()) {
199 if (SDiv->isExact()) {
451 if (I.isExact()) LShr->setIsExact();
483 if (I.isExact())
495 I.isExact());
499 I.isExact());
510 I.isExact()),
532 if (I.isExact() && RHS->getValue().isNonNegative() &&
H A DInstCombineShifts.cpp585 ShiftOp->isExact()) {
604 NewLShr->setIsExact(I.isExact());
623 NewAShr->setIsExact(I.isExact());
636 ShiftOp->isExact()) {
720 I.isExact(), TD))
748 if (!I.isExact() &&
760 I.isExact(), TD))
794 if (!I.isExact() &&
H A DInstCombineSimplifyDemanded.cpp614 if (cast<LShrOperator>(I)->isExact())
659 if (cast<AShrOperator>(I)->isExact())
683 NewVal->setIsExact(cast<BinaryOperator>(I)->isExact());
H A DInstCombineCompares.cpp816 ConstantInt *RangeSize = DivI->isExact() ? getOne(Prod) : DivRHS;
858 if (DivI->isExact())
952 (!Shr->isExact() || ShAmtVal == TypeBits - 1))
963 Builder->CreateSDiv(Shr->getOperand(0), DivCst, "", Shr->isExact()) :
964 Builder->CreateUDiv(Shr->getOperand(0), DivCst, "", Shr->isExact());
1002 if (Shr->hasOneUse() && Shr->isExact())
1337 if (ICI.isEquality() && BO->isExact() && BO->hasOneUse()) {
2478 if (!BO0->isExact() || !BO1->isExact())
H A DInstCombineSelect.cpp237 BO->setIsExact(TVI_BO->isExact());
272 BO->setIsExact(FVI_BO->isExact());
/external/llvm/unittests/Transforms/Utils/
H A DCloning.cpp140 EXPECT_FALSE(this->clone(SDiv)->isExact());
143 EXPECT_TRUE(this->clone(SDiv)->isExact());
/external/llvm/unittests/ADT/
H A DAPFloatTest.cpp351 bool isExact = false; local
356 .convertToInteger(result, APFloat::rmTowardZero, &isExact));
357 EXPECT_TRUE(isExact);
362 .convertToInteger(result, APFloat::rmTowardZero, &isExact));
363 EXPECT_FALSE(isExact);
368 .convertToInteger(result, APFloat::rmTowardZero, &isExact));
369 EXPECT_FALSE(isExact);
374 .convertToInteger(result, APFloat::rmTowardZero, &isExact));
375 EXPECT_FALSE(isExact);
381 .convertToInteger(result, APFloat::rmTowardZero, &isExact));
[all...]
/external/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h97 Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
104 Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
/external/llvm/include/llvm/
H A DIRBuilder.h605 bool isExact = false) {
608 return Insert(Folder.CreateUDiv(LC, RC, isExact), Name);
609 if (!isExact)
617 bool isExact = false) {
620 return Insert(Folder.CreateSDiv(LC, RC, isExact), Name);
621 if (!isExact)
677 bool isExact = false) {
680 return Insert(Folder.CreateLShr(LC, RC, isExact), Name);
681 if (!isExact)
686 bool isExact
[all...]
H A DConstants.h855 static Constant *getUDiv(Constant *C1, Constant *C2, bool isExact = false);
856 static Constant *getSDiv(Constant *C1, Constant *C2, bool isExact = false);
866 static Constant *getLShr(Constant *C1, Constant *C2, bool isExact = false);
867 static Constant *getAShr(Constant *C1, Constant *C2, bool isExact = false);
H A DOperator.h143 /// isExact - Test whether this division is known to be exact, with
145 bool isExact() const { function in class:llvm::PossiblyExactOperator
H A DInstrTypes.h360 /// isExact - Determine whether the exact flag is set.
361 bool isExact() const;
/external/llvm/lib/Support/
H A DAPFloat.cpp1985 bool *isExact) const
1993 *isExact = false;
2004 *isExact = !sign;
2080 *isExact = true;
2090 The *isExact output tells whether the result is exact, in the sense
2098 roundingMode rounding_mode, bool *isExact) const
2103 isExact);
2131 roundingMode rounding_mode, bool *isExact) const
2136 parts.data(), bitWidth, result.isSigned(), rounding_mode, isExact);
/external/llvm/lib/Analysis/
H A DInstructionSimplify.cpp1259 static Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact, argument
1277 Value *llvm::SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact, argument
1281 return ::SimplifyLShrInst(Op0, Op1, isExact, Query (TD, TLI, DT),
1287 static Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, argument
1309 Value *llvm::SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, argument
1313 return ::SimplifyAShrInst(Op0, Op1, isExact, Query (TD, TLI, DT),
2150 if (!LBO->isExact() || !RBO->isExact())
2697 return SimplifyLShrInst(LHS, RHS, /*isExact*/false, Q, MaxRecurse);
2699 return SimplifyAShrInst(LHS, RHS, /*isExact*/fals
[all...]
H A DConstantFolding.cpp1203 bool isExact = false; local
1208 &isExact);
/external/llvm/lib/CodeGen/SelectionDAG/
H A DFastISel.cpp194 bool isExact; local
196 APFloat::rmTowardZero, &isExact);
197 if (isExact) {
393 cast<BinaryOperator>(I)->isExact() &&
/external/llvm/lib/VMCore/
H A DConstants.cpp1955 Constant *ConstantExpr::getUDiv(Constant *C1, Constant *C2, bool isExact) { argument
1957 isExact ? PossiblyExactOperator::IsExact : 0);
1960 Constant *ConstantExpr::getSDiv(Constant *C1, Constant *C2, bool isExact) { argument
1962 isExact ? PossiblyExactOperator::IsExact : 0);
2000 Constant *ConstantExpr::getLShr(Constant *C1, Constant *C2, bool isExact) { argument
2002 isExact ? PossiblyExactOperator::IsExact : 0);
2005 Constant *ConstantExpr::getAShr(Constant *C1, Constant *C2, bool isExact) { argument
2007 isExact ? PossiblyExactOperator::IsExact : 0);
/external/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp222 bool isExact = false; local
228 &isExact) != APFloat::opOK || !isExact)
/external/clang/lib/AST/
H A DStmtProfile.cpp283 ID.AddBoolean(S->isExact());
/external/clang/lib/Sema/
H A DSemaChecking.cpp3810 if (FLL->isExact())
3814 if (FLR->isExact())
4464 bool isExact = false; local
4469 llvm::APFloat::rmTowardZero, &isExact)
4470 == llvm::APFloat::opOK && isExact)

Completed in 345 milliseconds

12