[PATCH] D29624: [DSE] Basic MemorySSA-backed global DSE

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 7 18:43:33 PST 2017


efriedma added a comment.

Very nice code.



================
Comment at: lib/Transforms/Scalar/DeadStoreElimination.cpp:1259
+              (TLI->has(LibFunc_strncat) &&
+               FnName == TLI->getName(LibFunc_strncat)))
+            return MemoryLocation::getForArgument(ImmutableCallSite(I), 0,
----------------
This is the old way to call TLI; see, for example, r294028.


================
Comment at: lib/Transforms/Scalar/DeadStoreElimination.cpp:1586
+    for (; Res.State <= WalkResult::NextPhi;
+         Res = Walker.walkNext(Res.MA, Cand)) {
+      if (auto *Def = dyn_cast<MemoryDef>(Res.MA)) {
----------------
I think we need some sort of iteration limit here to avoid quadratic compile-time for large basic blocks with lots of mayalias stores.


Repository:
  rL LLVM

https://reviews.llvm.org/D29624





More information about the llvm-commits mailing list