aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
AgeCommit message (Expand)AuthorFilesLines
2023-02-10[SimplifyIndVar][NFC] Refactor Binary Operator's flag strengtheningMax Kazantsev1-3/+9
2023-01-10Reapply [Dominators] Add findNearestCommonDominator() for Instructions (NFC)Nikita Popov1-7/+2
2023-01-06Revert "[Dominator] Add findNearestCommonDominator() for Instructions (NFC)"Nikita Popov1-2/+7
2023-01-06[Dominator] Add findNearestCommonDominator() for Instructions (NFC)Nikita Popov1-7/+2
2022-12-12Transforms/Utils: llvm::Optional => std::optionalFangrui Song1-4/+5
2022-12-06[SCEVExpander] Support cost evaluation of several SCEVs with same budgetMax Kazantsev1-5/+2
2022-12-02[Transforms] Use std::nullopt instead of None (NFC)Kazu Hirata1-3/+2
2022-11-22[IndVarSimplify] Lift limitations on IV being a Phi for turn-to-invariantMax Kazantsev1-38/+14
2022-10-21[IndVars] Forget SCEV for value after simplifying condition.Florian Hahn1-0/+1
2022-10-18[IndVars] Forget SCEV for instruction and users before replacing it.Florian Hahn1-0/+1
2022-08-22[SCEV] Prove condition invariance via context, try 2Max Kazantsev1-1/+2
2022-08-19Revert "[SCEV] Prove condition invariance via context"Max Kazantsev1-2/+1
2022-08-12[SCEV] Prove condition invariance via contextMax Kazantsev1-1/+2
2022-08-09[IndVars] Eliminate redundant type cast with different sizeszhongyunde1-4/+22
2022-07-23[NFC] Switch a few uses of undef to poison as placeholders for unreachable codeNuno Lopes1-1/+1
2022-07-17[IndVars] Directly use unsigned integer induction for FPToUI/FPToSI of float ...zhongyunde1-3/+9
2022-07-14[SimplifyIndVar] Use enum class for ExtendKind. NFCCraig Topper1-39/+42
2022-07-14[SCEVExpander] Make CanonicalMode handing in isSafeToExpand() more robust (PR...Nikita Popov1-1/+1
2022-07-14[IndVars] Eliminate redundant type cast between unsigned integer and floatzhongyunde1-2/+6
2022-07-13[IndVars][NFC] Make IVOperand parameter an instructionMax Kazantsev1-10/+13
2022-07-13[SCEV][NFC] Make getStrengthenedNoWrapFlagsFromBinOp return optionalMax Kazantsev1-8/+6
2022-07-08[IndVars] Eliminate redundant type cast between integer and floatzhongyunde1-0/+37
2022-06-09[IndVarSimplify] Don't assert that terminator is not SCEVable (PR55925)Nikita Popov1-4/+0
2022-05-18[SCEV] Part 1, Serialize function calls in function arguments.NAKAMURA Takumi1-3/+4
2022-04-06Fix warnings about variables that are set but only used in debug modeMartin Storsjö1-0/+1
2022-03-01Cleanup includes: TransformsUtilsserge-sans-paille1-2/+0
2022-02-05[Transforms] Use default member initialization in SimplifyIndvar (NFC)Kazu Hirata1-2/+2
2021-11-07Put implementation details into anonymous namespaces. NFCI.Benjamin Kramer1-1/+2
2021-07-11[IndVars] Don't widen pointers in WidenIV::getWideRecurrenceEli Friedman1-1/+1
2021-06-05[NFC] Promote willNotOverflow() / getStrengthenedNoWrapFlagsFromBinOp() from ...Roman Lebedev1-69/+21
2021-06-04[IndVars] Don't forget value when inferring nowrap flagsNikita Popov1-2/+5
2021-03-22[IndVars] Sharpen context in eliminateIVComparisonMax Kazantsev1-2/+5
2021-03-19[NFC] Move function up in codeMax Kazantsev1-18/+18
2021-03-19[NFC] Factor out utility function for finding common dom of user setMax Kazantsev1-13/+21
2021-03-19[IndVars] Provide eliminateIVComparison with contextMax Kazantsev1-3/+4
2021-03-18[NFC] Use evaluatePredicate in eliminateComparisonMax Kazantsev1-6/+2
2021-01-05[SimplifyIndVar] createWideIV - make WideIVInfo arg a const ref. NFCI.Simon Pilgrim1-1/+1
2020-12-18[IndVars] Fix adding trunc instructions to unwind blocksYevgeny Rouban1-1/+1
2020-12-08[indvars] Common a bit of code [NFC]Philip Reames1-27/+11
2020-12-04Return "[IndVars] ICmpInst should not prevent IV widening"Max Kazantsev1-2/+39
2020-12-04[IndVars] Quick fix LHS/RHS bugMax Kazantsev1-0/+3
2020-12-03Revert "[IndVars] ICmpInst should not prevent IV widening"Max Kazantsev1-39/+2
2020-11-30[IndVars] ICmpInst should not prevent IV wideningMax Kazantsev1-2/+39
2020-11-27[IndVars] LCSSA Phi users should not prevent wideningMax Kazantsev1-5/+30
2020-11-25[IndVars] Use more precise context when eliminating narrowingMax Kazantsev1-1/+16
2020-11-19[NFC] Remove comment (commited ahead of time by mistake)Max Kazantsev1-3/+0
2020-11-19[NFC] Move code earlier as preparation for further changesMax Kazantsev1-16/+24
2020-11-17[NFC] Collect ext users into vector instead of finding them twiceMax Kazantsev1-9/+3
2020-11-13[NFC] Refactor loop-invariant getters to return OptionalMax Kazantsev1-5/+5
2020-11-12[IndVars] IV user should not prevent use wideningMax Kazantsev1-0/+7