|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/IR/Instruction.h 356 bool isExact() const;
References
lib/Analysis/ScalarEvolution.cpp 3891 } else if (isa<PossiblyExactOperator>(I) && I->isExact())
lib/Analysis/ScalarEvolutionExpander.cpp 200 if (isa<PossiblyExactOperator>(I) && I->isExact())
lib/CodeGen/SelectionDAG/FastISel.cpp 635 cast<BinaryOperator>(I)->isExact() && isPowerOf2_64(Imm)) {
lib/IR/Instruction.cpp 277 setIsExact(isExact() & PE->isExact());
lib/Target/AArch64/AArch64FastISel.cpp 4938 if (cast<BinaryOperator>(I)->isExact()) {
lib/Transforms/InstCombine/InstCombineAddSub.cpp 1905 BO->setIsExact(cast<BinaryOperator>(Op1)->isExact());
lib/Transforms/InstCombine/InstCombineCompares.cpp 2170 if (Cmp.isEquality() && Shr->isExact() && Shr->hasOneUse() &&
2190 bool IsExact = Shr->isExact();
2241 if (Shr->isExact())
2372 APInt RangeSize = Div->isExact() ? APInt(C2->getBitWidth(), 1) : *C2;
2413 if (Div->isExact())
3982 if (I.isSigned() || !BO0->isExact() || !BO1->isExact())
3982 if (I.isSigned() || !BO0->isExact() || !BO1->isExact())
3987 if (!I.isEquality() || !BO0->isExact() || !BO1->isExact())
3987 if (!I.isEquality() || !BO0->isExact() || !BO1->isExact())
3992 if (!BO0->isExact() || !BO1->isExact())
3992 if (!BO0->isExact() || !BO1->isExact())
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp 79 if (I->getOpcode() == Instruction::LShr && !I->isExact()) {
316 if (Div->isExact()) {
718 NewDiv->setIsExact(I.isExact());
744 BO->setIsExact(I.isExact());
852 if (I.isExact())
876 if (I.isExact())
974 bool IsExact = I.isExact() && match(Op0, m_Exact(m_Value()));
1075 if (I.isExact() && Op1C->isNonNegative() && Op1C->isPowerOf2()) {
1104 BO->setIsExact(I.isExact());
1113 Builder.CreateSDiv(X, Y, I.getName(), I.isExact()));
1122 BO->setIsExact(I.isExact());
1132 BO->setIsExact(I.isExact());
lib/Transforms/InstCombine/InstCombineSelect.cpp 567 bool IsExact = Ashr->isExact() && cast<Instruction>(TrueVal)->isExact();
567 bool IsExact = Ashr->isExact() && cast<Instruction>(TrueVal)->isExact();
lib/Transforms/InstCombine/InstCombineShifts.cpp 128 NewShift->setIsExact(Sh0->isExact() && Sh1->isExact());
128 NewShift->setIsExact(Sh0->isExact() && Sh1->isExact());
968 if (Value *V = SimplifyLShrInst(I.getOperand(0), I.getOperand(1), I.isExact(),
1007 NewLShr->setIsExact(I.isExact());
1011 Value *NewLShr = Builder.CreateLShr(X, ShiftDiff, "", I.isExact());
1078 if (!I.isExact() &&
1166 if (Value *V = SimplifyAShrInst(I.getOperand(0), I.getOperand(1), I.isExact(),
1201 NewAShr->setIsExact(I.isExact());
1232 if (!I.isExact() &&
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp 571 LShr->setIsExact(cast<BinaryOperator>(I)->isExact());
957 if (cast<BinaryOperator>(Shr)->isExact())
lib/Transforms/InstCombine/InstCombineVectorOps.cpp 1245 New->setIsExact(BO->isExact());
lib/Transforms/Instrumentation/PoisonChecking.cpp 155 if (I.isExact()) {
164 if (I.isExact()) {
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp 652 BinOp->setIsExact(Instr->isExact());
689 BO->setIsExact(SDI->isExact());
712 BO->setIsExact(SDI->isExact());
lib/Transforms/Utils/SimplifyIndVar.cpp 147 if (UseInst->isExact() &&
307 UDiv->setIsExact(SDiv->isExact());
778 if (!Shr->isExact() && IVRange.getUnsignedMin().uge(*C)) {
unittests/IR/InstructionsTest.cpp 607 ASSERT_TRUE(UI->isExact());
609 ASSERT_FALSE(UI->isExact());
615 ASSERT_TRUE(ShrI->isExact());
617 ASSERT_FALSE(ShrI->isExact());
unittests/Transforms/Utils/CloningTest.cpp 155 EXPECT_FALSE(this->clone(SDiv)->isExact());
158 EXPECT_TRUE(this->clone(SDiv)->isExact());