================
@@ -10253,3 +10253,52 @@ The attribute is also supported with blocks and in
Objective-C.
}
}];
}
+
+def ConstDocs : Documentation {
+ let Category = DocCatFunction;
+ let Content = [{
+The ``const`` attribute can be applied to the declaration of a function to
signal that repeated calls to the function with the same argument values may be
safe to elide because the subsequent calls will always return the same value as
the initial call.
+
+The attribute informs the optimizer that the function cannot read or write to
memory, does not support unwinding, will return (has no infinite loops), and
that any pointer or reference arguments to the call will not be read from or
written to.
----------------
philnik777 wrote:
Yes, the first two are valid. I just think the wording was a bit unclear that
that is in fact allowed. Currently it sounds to me a bit like any interaction
with pointer or reference arguments isn't allowed.
https://github.com/llvm/llvm-project/pull/205881
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits