[PATCH] D99846: [GlobalOpt] Replace recursion with extended worklist

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 3 17:09:40 PDT 2021


jdoerfert added inline comments.


================
Comment at: llvm/lib/Transforms/IPO/GlobalOpt.cpp:336-339
       if (CE->use_empty()) {
         CE->destroyConstant();
         Changed = true;
       }
----------------
lebedev.ri wrote:
> We need to track hopefully-dead-in-the-end instrs in some vector, and delete them if they are unused.
Not totally sure what you want me to do.

TBH, I thought this would help me but it turns out some dead-constant user that are floating around prevent my global array from ever making it this far.

I'll clean up my Attributor code and get rid of my global arrays. Also need to do some value prop through another one that is not picked up IPSCCP, so might be worth to find a wholesome solution.


================
Comment at: llvm/lib/Transforms/IPO/GlobalOpt.cpp:384
         C->destroyConstant();
-        CleanupConstantGlobalUsers(V, Init, DL, GetTLI);
         return true;
       }
----------------
This return true is wrong now.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99846



More information about the llvm-commits mailing list