[PATCH] D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 4 11:39:08 PST 2020


asbirlea accepted this revision.
asbirlea added a comment.
This revision is now accepted and ready to land.

lgtm.
Looking forward to having it enabled in a future patch.



================
Comment at: llvm/lib/Transforms/Scalar/LoopSink.cpp:258
     // Replaces uses of I with IC in N
     I.replaceUsesWithIf(IC, [N](Use &U) {
       return cast<Instruction>(U.getUser())->getParent() == N;
----------------
Beyond the scope of this patch: I'm wondering if there were issues here since the AST was not updated. In LICM, the update looks something like:
```
if (CurAST)
  CurAST->copyValue(&I, C);
I.replaceAllUsesWith(C);
```


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

https://reviews.llvm.org/D90249



More information about the llvm-commits mailing list