[PATCH] D65377: [FunctionAttrs] Annotate intrinsics with nosync
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 30 20:38:53 PDT 2019
jdoerfert added a comment.
I annotated some missing no-syncs when I realized you need to rebase to get the `willreturn` changes. Almost everything that is `willreturn` should be `nosync` too (except the mem* stuff).
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:323
def int_vaend : Intrinsic<[], [llvm_ptr_ty], [], "llvm.va_end">;
//===------------------- Garbage Collection Intrinsics --------------------===//
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:567
[IntrNoMem, IntrSpeculatable, Commutative]
>;
----------------
min/max `no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:580
[IntrNoMem, IntrSpeculatable, ImmArg<1>, ImmArg<2>, ImmArg<3>]>,
GCCBuiltin<"__builtin_object_size">;
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:585
let IntrProperties = [IntrInaccessibleMemOnly] in {
def int_experimental_constrained_fadd : Intrinsic<[ llvm_anyfloat_ty ],
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:714
def int_expect : Intrinsic<[llvm_anyint_ty],
[LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem]>;
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:720
// None of these intrinsics accesses memory at all.
let IntrProperties = [IntrNoMem, IntrSpeculatable] in {
def int_bswap: Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>]>;
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:730
let IntrProperties = [IntrNoMem, IntrSpeculatable, ImmArg<1>] in {
def int_ctlz : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, llvm_i1_ty]>;
----------------
`no-sync`
================
Comment at: llvm/include/llvm/IR/Intrinsics.td:1043
-
+ [], "llvm.clear_cache">;
// Intrinsic to detect whether its argument is a constant.
def int_is_constant : Intrinsic<[llvm_i1_ty], [llvm_any_ty], [IntrNoMem], "llvm.is.constant">;
----------------
unrelated.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65377/new/
https://reviews.llvm.org/D65377
More information about the llvm-commits
mailing list