summaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
AgeCommit message (Expand)Author
2022-12-06[SCEVExpander] Support cost evaluation of several SCEVs with same budgetMax Kazantsev
2022-12-02[Transforms] Use std::nullopt instead of None (NFC)Kazu Hirata
2022-11-22[IndVarSimplify] Lift limitations on IV being a Phi for turn-to-invariantMax Kazantsev
2022-10-21[IndVars] Forget SCEV for value after simplifying condition.Florian Hahn
2022-10-18[IndVars] Forget SCEV for instruction and users before replacing it.Florian Hahn
2022-08-22[SCEV] Prove condition invariance via context, try 2Max Kazantsev
2022-08-19Revert "[SCEV] Prove condition invariance via context"Max Kazantsev
2022-08-12[SCEV] Prove condition invariance via contextMax Kazantsev
2022-08-09[IndVars] Eliminate redundant type cast with different sizeszhongyunde
2022-07-23[NFC] Switch a few uses of undef to poison as placeholders for unreachable codeNuno Lopes
2022-07-17[IndVars] Directly use unsigned integer induction for FPToUI/FPToSI of float ...zhongyunde
2022-07-14[SimplifyIndVar] Use enum class for ExtendKind. NFCCraig Topper
2022-07-14[SCEVExpander] Make CanonicalMode handing in isSafeToExpand() more robust (PR...Nikita Popov
2022-07-14[IndVars] Eliminate redundant type cast between unsigned integer and floatzhongyunde
2022-07-13[IndVars][NFC] Make IVOperand parameter an instructionMax Kazantsev
2022-07-13[SCEV][NFC] Make getStrengthenedNoWrapFlagsFromBinOp return optionalMax Kazantsev
2022-07-08[IndVars] Eliminate redundant type cast between integer and floatzhongyunde
2022-06-09[IndVarSimplify] Don't assert that terminator is not SCEVable (PR55925)Nikita Popov
2022-05-18[SCEV] Part 1, Serialize function calls in function arguments.NAKAMURA Takumi
2022-04-06Fix warnings about variables that are set but only used in debug modeMartin Storsjö
2022-03-01Cleanup includes: TransformsUtilsserge-sans-paille
2022-02-05[Transforms] Use default member initialization in SimplifyIndvar (NFC)Kazu Hirata
2021-11-07Put implementation details into anonymous namespaces. NFCI.Benjamin Kramer
2021-07-11[IndVars] Don't widen pointers in WidenIV::getWideRecurrenceEli Friedman
2021-06-05[NFC] Promote willNotOverflow() / getStrengthenedNoWrapFlagsFromBinOp() from ...Roman Lebedev
2021-06-04[IndVars] Don't forget value when inferring nowrap flagsNikita Popov
2021-03-22[IndVars] Sharpen context in eliminateIVComparisonMax Kazantsev
2021-03-19[NFC] Move function up in codeMax Kazantsev
2021-03-19[NFC] Factor out utility function for finding common dom of user setMax Kazantsev
2021-03-19[IndVars] Provide eliminateIVComparison with contextMax Kazantsev
2021-03-18[NFC] Use evaluatePredicate in eliminateComparisonMax Kazantsev
2021-01-05[SimplifyIndVar] createWideIV - make WideIVInfo arg a const ref. NFCI.Simon Pilgrim
2020-12-18[IndVars] Fix adding trunc instructions to unwind blocksYevgeny Rouban
2020-12-08[indvars] Common a bit of code [NFC]Philip Reames
2020-12-04Return "[IndVars] ICmpInst should not prevent IV widening"Max Kazantsev
2020-12-04[IndVars] Quick fix LHS/RHS bugMax Kazantsev
2020-12-03Revert "[IndVars] ICmpInst should not prevent IV widening"Max Kazantsev
2020-11-30[IndVars] ICmpInst should not prevent IV wideningMax Kazantsev
2020-11-27[IndVars] LCSSA Phi users should not prevent wideningMax Kazantsev
2020-11-25[IndVars] Use more precise context when eliminating narrowingMax Kazantsev
2020-11-19[NFC] Remove comment (commited ahead of time by mistake)Max Kazantsev
2020-11-19[NFC] Move code earlier as preparation for further changesMax Kazantsev
2020-11-17[NFC] Collect ext users into vector instead of finding them twiceMax Kazantsev
2020-11-13[NFC] Refactor loop-invariant getters to return OptionalMax Kazantsev
2020-11-12[IndVars] IV user should not prevent use wideningMax Kazantsev
2020-11-12[IndVars] Recognize 'sub nuw' expressed as 'add' for wideningMax Kazantsev
2020-11-05[IndVarSimplify][SimplifyIndVar] Move WidenIV to Utils/SimplifyIndVar. NFCI.Sjoerd Meijer
2020-10-14Revert "Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but a...Roman Lebedev
2020-10-12Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/t...Roman Lebedev
2020-10-12Revert 1c021c64c "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but...Hans Wennborg