From 70792cd4f837fbcbffb4b9fcdfd45fe60dadebac Mon Sep 17 00:00:00 2001 From: Gulfem Savrun Yeniceri Date: Wed, 10 Aug 2022 22:40:23 +0000 Subject: [PATCH] [LangRef] Add description for nocallback attribute This patch adds the description for nocallback attribute that is implemented in https://reviews.llvm.org/D90275. Differential Revision: https://reviews.llvm.org/D131628 --- llvm/docs/LangRef.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 82f23a45e9f4..1b322d30e710 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -1805,6 +1805,13 @@ example: with equivalent code based on the semantics of the built-in function, unless the call site uses the ``builtin`` attribute. This is valid at call sites and on function declarations and definitions. +``nocallback`` + This attribute indicates that the function is only allowed to jump back into + caller's module by a return or an exception, and is not allowed to jump back + by invoking a callback function, a direct, possibly transitive, external + function call, use of ``longjmp``, or other means. It is a compiler hint that + is used at module level to improve dataflow analysis, dropped during linking, + and has no effect on functions defined in the current module. ``noduplicate`` This attribute indicates that calls to the function cannot be duplicated. A call to a ``noduplicate`` function may be moved