[PATCH] D98925: [BasicAA] Ignore @llvm.annotation when computing ModRefInfo.

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 19 00:52:23 PDT 2021


courbet updated this revision to Diff 331786.
courbet added a comment.

Rebase on test base to show diff.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98925

Files:
  llvm/lib/Analysis/BasicAliasAnalysis.cpp
  llvm/test/Transforms/InstCombine/annotation-intrinsic.ll


Index: llvm/test/Transforms/InstCombine/annotation-intrinsic.ll
===================================================================
--- llvm/test/Transforms/InstCombine/annotation-intrinsic.ll
+++ llvm/test/Transforms/InstCombine/annotation-intrinsic.ll
@@ -13,8 +13,7 @@
 ; CHECK-NEXT:  entry:
 ; CHECK-NEXT:    [[TMP0:%.*]] = load i32, i32* [[C:%.*]], align 4
 ; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.annotation.i32(i32 [[TMP0]], i8* undef, i8* undef, i32 undef)
-; CHECK-NEXT:    [[TMP2:%.*]] = load i32, i32* [[C]], align 4
-; CHECK-NEXT:    [[ADD:%.*]] = add nsw i32 [[TMP1]], [[TMP2]]
+; CHECK-NEXT:    [[ADD:%.*]] = add nsw i32 [[TMP1]], [[TMP0]]
 ; CHECK-NEXT:    ret i32 [[ADD]]
 ;
 entry:
Index: llvm/lib/Analysis/BasicAliasAnalysis.cpp
===================================================================
--- llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -942,6 +942,13 @@
   // particular memory location.
   if (isIntrinsicCall(Call, Intrinsic::assume))
     return ModRefInfo::NoModRef;
+  // The same applies to annotations.
+  if (isIntrinsicCall(Call, Intrinsic::annotation))
+    return ModRefInfo::NoModRef;
+  if (isIntrinsicCall(Call, Intrinsic::var_annotation))
+    return ModRefInfo::NoModRef;
+  if (isIntrinsicCall(Call, Intrinsic::ptr_annotation))
+    return ModRefInfo::NoModRef;
 
   // Like assumes, guard intrinsics are also marked as arbitrarily writing so
   // that proper control dependencies are maintained but they never mods any


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98925.331786.patch
Type: text/x-patch
Size: 1517 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210319/2cd52618/attachment.bin>


More information about the llvm-commits mailing list