On 1/6/20 3:05 AM, Martin Liška wrote:
Hi.
The patch is about explanation what happens when
a target_clone function calls a function without
the attribute.
Ready for trunk?
Thanks,
Martin
gcc/ChangeLog:
2020-01-06 Martin Liska <mli...@suse.cz>
PR ipa/83411
* doc/extend.texi: Explain cloning for target_clone
attribute.
---
gcc/doc/extend.texi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 05ec62c552b..184146abd10 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -3768,6 +3768,12 @@ the @code{ifunc} attribute above) that
dynamically selects a clone
suitable for current architecture. The resolver is created only if there
is a usage of a function with @code{target_clones} attribute.
+Note that any subsequent call of a function without @code{target_clone}
+from a @code{target_clone} caller will not lead to copying
+(target clone) of the called function.
+If you want to enforce such behaviour,
+we recommend to use @code{flatter} attribute for the caller function.
+
Should that be "the @code{flatten} attribute?" (Article and
an 'n' rather than an 'r' in "flatten".)
Also, (assuming I'm reading it correctly) would the rest of
the sentence be clearer if it instead read:
we recommend declaring the calling function with the @code{flatten}
attribute?
Martin