[PATCH] D57967: [LICM&MSSA] Limit store hoisting.

George Burgess IV via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 8 12:01:07 PST 2019


george.burgess.iv added a comment.

Thanks for this!



================
Comment at: lib/Transforms/Scalar/LICM.cpp:121
 
+static bool LocalDisablePromotion = false;
+
----------------
I don't think that this will play nicely in threaded environments (ThinLTO?)

An alternative might be to stick it into LICM as a member, then pass it to canSinkOrHoistInst as a param, though I don't know this code well enough to say whether that's the best approach


================
Comment at: lib/Transforms/Scalar/LICM.cpp:1194
+              if (const auto *MU = dyn_cast<MemoryUse>(&MA)) {
+                if (!MU->isOptimized())
+                  return false;
----------------
Why does optimizedness matter here? `MemoryUse`s should always have valid defining accesses; I imagine that a valid-but-not-fully-optimal one would be good enough as long as it points outside of the loop


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57967





More information about the llvm-commits mailing list