Skip to content

Commit e98472d

Browse files
committed
Rephrase as per comments
1 parent 6df0f1d commit e98472d

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

llvm/docs/LangRef.rst

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2256,12 +2256,16 @@ For example:
22562256
behavior at runtime if the function ever does dynamically return. Annotated
22572257
functions may still raise an exception, i.a., ``nounwind`` is not implied.
22582258
``norecurse``
2259-
This function attribute indicates that the function does not participate in
2260-
recursion, either directly or through mutual recursion. At runtime it is
2261-
undefined behavior if any dynamic call stack contains this function more
2262-
than once at the same time. A function must not be marked ``norecurse`` if,
2263-
along any call path starting from its body, control may reach an external
2264-
function whose definition is not available.
2259+
This function attribute indicates that the function is not recursive and
2260+
does not participate in recursion. This means that the function never
2261+
occurs inside a cycle in the dynamic call graph.
2262+
For example:
2263+
2264+
.. code-block:: llvm
2265+
2266+
fn -> other_fn -> fn ; fn is not norecurse
2267+
other_fn -> fn -> other_fn ; fn is not norecurse
2268+
fn -> other_fn -> other_fn ; fn is norecurse
22652269

22662270
.. _langref_willreturn:
22672271

0 commit comments

Comments
 (0)