[PATCH] D120000: [1/3] TLS loads opimization (hoist)
    Craig Topper via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Mar  7 13:26:22 PST 2022
    
    
  
craig.topper added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp:200
+  // There is unique predecessor outside the loop.
+  // Note the terminator maybe nullptr, because the PreHeader maybe an empty BB.
+  if (PreHeader)
----------------
If the Preheader exists, it isn't empty. It will always have a branch to the loop. There are no fallthroughs in IR. So the terminator will not be nullptr.
================
Comment at: llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp:239
+  tlshoist::TLSCandidate &Cand = TLSCandMap[GV];
+  if (!DT)
+    return findInsertPosInEntry(Fn, Cand);
----------------
Why would DT be null? The pass has DominatorTree as a requirement.
================
Comment at: llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp:248
+    Instruction *Pos = User.Inst;
+    if (LI)
+      if (Loop *L = LI->getLoopFor(BB)) {
----------------
Why would LI be null? The pass has it as a requirement
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120000/new/
https://reviews.llvm.org/D120000
    
    
More information about the llvm-commits
mailing list