diff options
author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2022-07-20 13:27:11 -0700 |
---|---|---|
committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2022-07-22 11:50:58 -0700 |
commit | 58e6ee0e1f1668ff9dd93e4a4084e36bc79fdf88 (patch) | |
tree | 8f7d31a8dfd1575c5e7d706a1c30f877f44ddb6e /llvm/include | |
parent | cfa6e79df30c7f9ea319d304670dcce7e9376787 (diff) | |
download | llvm-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.td | 2 |
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 ----------------------===// // |