aboutsummaryrefslogtreecommitdiff
path: root/llvm/include
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2022-07-20 13:27:11 -0700
committerArnold Schwaighofer <aschwaighofer@apple.com>2022-07-22 11:50:58 -0700
commit58e6ee0e1f1668ff9dd93e4a4084e36bc79fdf88 (patch)
tree8f7d31a8dfd1575c5e7d706a1c30f877f44ddb6e /llvm/include
parentcfa6e79df30c7f9ea319d304670dcce7e9376787 (diff)
downloadllvm-58e6ee0e1f1668ff9dd93e4a4084e36bc79fdf88.zip
llvm-58e6ee0e1f1668ff9dd93e4a4084e36bc79fdf88.tar.gz
llvm-58e6ee0e1f1668ff9dd93e4a4084e36bc79fdf88.tar.bz2
llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want it to be cse'd accross async suspends
An async suspend models the split between two partial async functions. `llvm.swift.async.context.addr ` will have a different value in the two partial functions so it is not correct to generally CSE the instruction. rdar://97336162 Differential Revision: https://reviews.llvm.org/D130201
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/IR/Intrinsics.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td
index cb14c08..c523e37 100644
--- a/llvm/include/llvm/IR/Intrinsics.td
+++ b/llvm/include/llvm/IR/Intrinsics.td
@@ -495,7 +495,7 @@ def int_objc_arc_annotation_bottomup_bbend : Intrinsic<[],
// Returns the location of the Swift asynchronous context (usually stored just
// before the frame pointer), and triggers the creation of a null context if it
// would otherwise be unneeded.
-def int_swift_async_context_addr : Intrinsic<[llvm_ptrptr_ty], [], [IntrNoMem]>;
+def int_swift_async_context_addr : Intrinsic<[llvm_ptrptr_ty], [], []>;
//===--------------------- Code Generator Intrinsics ----------------------===//
//