[PATCH] D110939: [PHIElimination] Update LiveVariables after handling an unspillable terminator

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 5 06:12:35 PDT 2021


foad added inline comments.


================
Comment at: llvm/lib/CodeGen/PHIElimination.cpp:465-471
+      // Update LiveVariables.
+      if (LV) {
+        LiveVariables::VarInfo &SrcVI = LV->getVarInfo(SrcReg);
+        LiveVariables::VarInfo &IncomingVI = LV->getVarInfo(IncomingReg);
+        IncomingVI.AliveBlocks = std::move(SrcVI.AliveBlocks);
+        SrcVI.AliveBlocks.clear();
+      }
----------------
MatzeB wrote:
> As far as I can tell, the other code here that creates COPYs etc. does not bother creating a information for `IncomingReg`. So maybe we should do the same here and just concern ourself with dropping the old info?
> As far as I can tell, the other code here that creates COPYs etc. does not bother creating a information for `IncomingReg`.

There is certainly some existing code that updates LV info for IncomingReg, though I haven't looked at it in detail.

> So maybe we should do the same here and just concern ourself with dropping the old info?

That only fixes the "Block should not be in AliveBlocks" errors, not the "Block missing from AliveBlocks" errors.




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D110939



More information about the llvm-commits mailing list