[PATCH] D67307: [MemorySSA] Do not create memoryaccesses for debug info intrinsics.

George Burgess IV via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 6 23:08:24 PDT 2019


george.burgess.iv added a comment.

Thanks for this!

+1 for a simple -disable-basicaa test please.



================
Comment at: lib/Analysis/MemorySSA.cpp:287
     case Intrinsic::assume:
+    case Intrinsic::dbg_addr:
+    case Intrinsic::dbg_declare:
----------------
this should be dynamically dead code, no? `II` is sourced from `MD`, so there has to be an existing `Def` for these. if we're special-casing elsewhere to ensure these `Def`s are never created, ...

(if you'd rather make these new cases lead to `assert(false && "debuginfo shouldn't have associated defs!");` or similar, i'm equally content with that)


================
Comment at: lib/Analysis/MemorySSA.cpp:1734
   // FIXME: Replace this special casing with a more accurate modelling of
   // assume's control dependency.
   if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I))
----------------
nit: please include a note saying something like debuginfo intrinsics may be considered clobbers when we have a nonstandard AA pipeline, so we special-case them


Repository:
  rL LLVM

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

https://reviews.llvm.org/D67307





More information about the llvm-commits mailing list