Hi!
On Thu, Aug 25, 2022 at 01:50:28PM +0800, Kewen.Lin wrote:
> --- a/gcc/config/rs6000/rs6000-internal.h
> +++ b/gcc/config/rs6000/rs6000-internal.h
> @@ -183,10 +183,15 @@ extern tree rs6000_fold_builtin (tree fndecl
> ATTRIBUTE_UNUSED,
> tree *args ATTRIBUTE_UNUSED,
> bool ignore ATTRIBUTE_UNUSED);
>
> +extern void rs6000_print_patchable_function_entry (FILE *,
> + unsigned HOST_WIDE_INT,
> + bool);
> +
> extern bool rs6000_passes_float;
> extern bool rs6000_passes_long_double;
> extern bool rs6000_passes_vector;
> extern bool rs6000_returns_struct;
> extern bool cpu_builtin_p;
>
> +
> #endif
No new random empty lines please.
> + point would be 2, 6 and 14. It's possible to support those
> + other counts of nops by not making a local entry point, but
> + we don't have clear user cases for them, so leave them
"use cases"
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -16717,9 +16717,13 @@ the area size or to remove it completely on a single
> function.
> If @code{N=0}, no pad location is recorded.
>
> The NOP instructions are inserted at---and maybe before, depending on
> -@var{M}---the function entry address, even before the prologue.
> +@var{M}---the function entry address, even before the prologue. On
> +PowerPC with the ELFv2 ABI, for one function with dual entry points,
> +the local entry point is taken as the function entry for generation.
I think "the local entry point is this function entry address" is a bit
clearer.
> -The maximum value of @var{N} and @var{M} is 65535.
> +The maximum value of @var{N} and @var{M} is 65535. On PowerPC with the
> +ELFv2 ABI, for one function with dual entry points, the supported values
> +for @var{M} are 0, 2, 6 and 14.
"for a function"
Okay for trunk with those trivial chnges. Thanks!
Segher