[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