[llvm] 4f5e92c - Mark gc.relocate and gc.result as readnone (try 2)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 25 14:51:06 PDT 2021
Author: Philip Reames
Date: 2021-03-25T14:50:07-07:00
New Revision: 4f5e92cc0562629ad2180b3ed2b0dad31ef7797c
URL: https://github.com/llvm/llvm-project/commit/4f5e92cc0562629ad2180b3ed2b0dad31ef7797c
DIFF: https://github.com/llvm/llvm-project/commit/4f5e92cc0562629ad2180b3ed2b0dad31ef7797c.diff
LOG: Mark gc.relocate and gc.result as readnone (try 2)
As noted in the LangRef, these are semantically readnone projections from the result value of the associated statepoint. However, it turned out we had a few latent bugs being covered up by the fact we were only marking them readonly (see PR49607 for context).
As of this change, all known issues are resolved. This is a deliberately minimal patch to make it easy to test downstream and revert with minimal change if that turns out to be necessary.
Differential Revision: https://reviews.llvm.org/D98729
Added:
Modified:
llvm/include/llvm/IR/Intrinsics.td
Removed:
################################################################################
diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td
index 801da1fa8588..d2b990691b1b 100644
--- a/llvm/include/llvm/IR/Intrinsics.td
+++ b/llvm/include/llvm/IR/Intrinsics.td
@@ -1183,11 +1183,11 @@ def int_experimental_gc_statepoint : Intrinsic<[llvm_token_ty],
ImmArg<ArgIndex<4>>]>;
def int_experimental_gc_result : Intrinsic<[llvm_any_ty], [llvm_token_ty],
- [IntrReadMem]>;
+ [IntrNoMem]>;
def int_experimental_gc_relocate : Intrinsic<[llvm_any_ty],
[llvm_token_ty, llvm_i32_ty,
llvm_i32_ty],
- [IntrReadMem, ImmArg<ArgIndex<1>>,
+ [IntrNoMem, ImmArg<ArgIndex<1>>,
ImmArg<ArgIndex<2>>]>;
//===------------------------ Coroutine Intrinsics ---------------===//
More information about the llvm-commits
mailing list