aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
AgeCommit message (Expand)AuthorFilesLines
2025-06-10[IndVars] Teach widenLoopCompare to use sext if narrow IV is positive and oth...Craig Topper1-4/+10
2025-05-02[IndVarSimplify] Set samesign when converting signed comparison to unsigned c...Craig Topper1-0/+1
2025-04-25SimplifyIndVar: Use use_empty instead of hasNUses(0) (#137346)Matt Arsenault1-1/+1
2025-04-17[DebugInfo][IndVarSimplify] Propagate source loc when simplifying rem (#135399)Stephen Tozer1-0/+1
2025-04-11[IndVarSimplify] Handle the case where both operands are the same when wideni...Yingwei Zheng1-0/+3
2025-02-06SimplifyIndVar: teach widenLoopCompare about samesign (#125851)Ramkumar Ramachandra1-2/+3
2025-01-31IndVarSimplify: thread CmpPredicate to SCEV (NFC) (#125240)Ramkumar Ramachandra1-4/+4
2024-12-13PatternMatch: migrate to CmpPredicate (#118534)Ramkumar Ramachandra1-5/+3
2024-10-03Fix LLVM_ENABLE_ABI_BREAKING_CHECKS macro check: use #if instead of #ifdef (#...Mehdi Amini1-1/+1
2024-09-06[IndVars] Avoid repeated hash lookups (NFC) (#107513)Kazu Hirata1-4/+2
2024-08-28[IndVars] Check if WideInc available before trying to use itNikita Popov1-11/+17
2024-08-03[SCEV] Use const SCEV * explicitly in more places.Florian Hahn1-5/+5
2024-07-10[DebugInfo][SimplifyIndVar] Missing debug location updates for overflow/satur...Sudharsan Veeravalli1-0/+2
2024-07-02[DebugInfo][SimplifyIndVar] Fix missing debug locations for div/rem instructi...Sudharsan Veeravalli1-0/+3
2024-06-24Revert "[IR][NFC] Update IRBuilder to use InsertPosition (#96497)"Stephen Tozer1-2/+3
2024-06-24[IR][NFC] Update IRBuilder to use InsertPosition (#96497)Stephen Tozer1-3/+2
2024-06-24[IndVars] Make pushIVUsers() a member function (NFC)Nikita Popov1-10/+13
2024-04-18[IR] Drop poison-generating return attributes when necessary (#89138)Andreas Jonson1-1/+1
2024-04-16[IndVars] Mark truncs as nuw/nsw (#88686)Nikita Popov1-18/+22
2024-04-12[Passes] Run SimpleLoopUnswitch after introducing invariant branches. (#81271)Florian Hahn1-6/+14
2024-03-14[IndVars] Support shl by constant and or disjoint in getExtendedOperandRecurr...Craig Topper1-17/+85
2024-03-04[RemoveDIs] Reapply 3fda50d3915, insert instructions using iteratorsJeremy Morse1-7/+7
2024-02-29Revert "[NFC][RemoveDIs] Bulk update utilities to insert with iterators"Jeremy Morse1-7/+7
2024-02-29[NFC][RemoveDIs] Bulk update utilities to insert with iteratorsJeremy Morse1-7/+7
2024-02-21[SimplifyIndVar] LCSSA form is destroyed by simplifyLoopIVs, preserve it (#78...Vedant Paranjape1-0/+12
2024-02-20[IndVars] Recompute flags if needed in widenIVUse of IV increment. (#82352)Florian Hahn1-11/+19
2024-02-10[IndVars] Preserve flags of narrow IV inc if replacing with wider inc. (#80446)Florian Hahn1-0/+21
2024-02-05[IndVarSimplify] Fix poison-safety when reusing instructions (#80458)Nikita Popov1-2/+16
2024-01-19Fix typo "widended"Jay Foad1-1/+1
2023-12-22[IndVars] Avoid unnecessary truncate for zext nneg useNikita Popov1-1/+1
2023-12-22[IndVars] Move "using namespace" to top-level scope (NFC)Nikita Popov1-4/+1
2023-12-01[NFC][indvars] Remove unused code in WidenIV::widenLoopCompare (#73506)Wenju He1-4/+0
2023-11-08[IndVars] Add check of loop invariant for trunc instructions (#71072)Markos Horro1-2/+3
2023-11-07[indvars] Always fallback to truncation if AddRec widening fails (#70967)Philip Reames1-51/+56
2023-11-03Revert "[IndVars] Generate zext nneg when locally obvious"Philip Reames1-19/+0
2023-11-03[indvars] Restructure getExtendedOperandRecurrence [nfc]Philip Reames1-19/+20
2023-11-03[indvars] Support known positive extends in getExtendedOperandRecurrence (#70...Philip Reames1-1/+16
2023-11-03[IndVars] Generate zext nneg when locally obviousPhilip Reames1-0/+19
2023-10-31[IndVars] Use IRBuilder in eliminateTrunc [nfc-ish] (#70836)Philip Reames1-5/+6
2023-10-20Fix build warning caused by mixed signed/unsigned compare (#69797)Andy Kaylor1-3/+3
2023-10-20Update SimplifyIndVar.cpp (#69760)Andy Kaylor1-1/+1
2023-09-11[NFC][RemoveDIs] Use iterators over inst-pointers when using IRBuilderJeremy Morse1-2/+4
2023-08-22[IndVars] Don't assume backedge value is instruction (PR64891)Nikita Popov1-7/+9
2023-06-03[IndVars] Add check of loop invariant for indirect usezhongyunde1-0/+8
2023-05-31[IndVars] Check expansion safety in makeIVComparisonInvariant() (PR62992)Nikita Popov1-2/+4
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