File tree Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments