[PATCH] D42600: [CodeGen][Shrink-wrap]split restore point

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 02:15:06 PDT 2023


qcolombet added inline comments.


================
Comment at: llvm/lib/CodeGen/ShrinkWrap.cpp:884-885
+    return false;
+  if (!ArePointsInteresting())
+    return false;
 
----------------
sushgokh wrote:
> thegameg wrote:
> > nickdesaulniers wrote:
> > > should we still return `false` here if if `Changed == true`?
> > > 
> > > Am I reading this right? Did the previous version of `ShrinkWrap::runOnMachineFunction` never return `true`?
> > Correct, the previous version doesn't change the code, it just tells `PrologEpilogInserter` where to place the prologue/epilogue through `MachineFrameInfo`.
> > 
> > I guess here we should return true if we do any edge-splitting.
> @nickdesaulniers I think no need of returning true if Changed == true because dominance/post-dominance relations are updated after post-shrinking. Is there any other thing that needs updation ?
If we changed the CFG (or anything) we need to return true. There may be other things that we are destroying without realizing (e.g., live intervals, but that's not applicable here. The point is we don't know which analysis rely on what.)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D42600/new/

https://reviews.llvm.org/D42600



More information about the llvm-commits mailing list