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

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 6 16:18:12 PDT 2019


asbirlea created this revision.
asbirlea added a reviewer: george.burgess.iv.
Herald added subscribers: sanjoy.google, Prazek, aprantl.
Herald added a project: LLVM.

Do not model debuginfo intrinsics in MemorySSA.
Regularly these are non-memory modifying instructions. With -disable-basicaa, they were being modelled as Defs.


Repository:
  rL LLVM

https://reviews.llvm.org/D67307

Files:
  lib/Analysis/MemorySSA.cpp


Index: lib/Analysis/MemorySSA.cpp
===================================================================
--- lib/Analysis/MemorySSA.cpp
+++ lib/Analysis/MemorySSA.cpp
@@ -284,6 +284,10 @@
     case Intrinsic::invariant_start:
     case Intrinsic::invariant_end:
     case Intrinsic::assume:
+    case Intrinsic::dbg_addr:
+    case Intrinsic::dbg_declare:
+    case Intrinsic::dbg_label:
+    case Intrinsic::dbg_value:
       return {false, NoAlias};
     default:
       break;
@@ -1729,7 +1733,11 @@
   // FIXME: Replace this special casing with a more accurate modelling of
   // assume's control dependency.
   if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I))
-    if (II->getIntrinsicID() == Intrinsic::assume)
+    if (II->getIntrinsicID() == Intrinsic::assume ||
+        II->getIntrinsicID() == Intrinsic::dbg_addr ||
+        II->getIntrinsicID() == Intrinsic::dbg_declare ||
+        II->getIntrinsicID() == Intrinsic::dbg_label ||
+        II->getIntrinsicID() == Intrinsic::dbg_value)
       return nullptr;
 
   bool Def, Use;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67307.219197.patch
Type: text/x-patch
Size: 1041 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190906/6e67fded/attachment.bin>


More information about the llvm-commits mailing list