[rs6000] PR85321 improve documentation of -mcall and -mtraceback=

Message ID 1523404195.6245.18.camel@linux.vnet.ibm.com
State New
Headers show
Series
  • [rs6000] PR85321 improve documentation of -mcall and -mtraceback=
Related show

Commit Message

Aaron Sawdey April 10, 2018, 11:49 p.m.
Another update to document -mcall- and -mtraceback= options. Cleanup to
remove -mabi={no-,}spe from the RS/6000 and PowerPC section. And a trim
to the help text for -mblock-compare-* and -mstring-compare-inline-
limit so they are not excessively long. The complete description for
those is now in invoke.texi. This is the last piece for 85321.

Testing in progress on linux-ppc64le, ok for trunk if tests are ok?

Thanks,
   Aaron

2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>

	PR target/85321
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
	-mcall= and -mtraceback. Remove options -mabi=spe and -mabi=no-spe
	from PowerPC section.
	* config/rs6000/sysv4.opt (mcall): Improve help text.
	* config/rs6000/rs6000.opt (mblock-compare-inline-limit=): Trim
	help text that is too long.
	* config/rs6000/rs6000.opt (mblock-compare-inline-loop-limit=): Trim
	help text that is too long.
	* config/rs6000/rs6000.opt (mstring-compare-inline-limit=): Trim
	help text that is too long.

Comments

Segher Boessenkool April 11, 2018, 2:09 p.m. | #1
Hi!

On Tue, Apr 10, 2018 at 06:49:55PM -0500, Aaron Sawdey wrote:
> Another update to document -mcall- and -mtraceback= options. Cleanup to
> remove -mabi={no-,}spe from the RS/6000 and PowerPC section. And a trim
> to the help text for -mblock-compare-* and -mstring-compare-inline-
> limit so they are not excessively long. The complete description for
> those is now in invoke.texi. This is the last piece for 85321.

Some comments, most total nits, but please fix the sysv4.opt problem:

> 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
> 	-mcall= and -mtraceback. Remove options -mabi=spe and -mabi=no-spe
> 	from PowerPC section.

-mcall-
-mtraceback=

> 	* config/rs6000/sysv4.opt (mcall): Improve help text.

mcall-


> --- doc/invoke.texi	(revision 259302)
> +++ doc/invoke.texi	(working copy)
> @@ -1076,7 +1076,10 @@
>  -mprioritize-restricted-insns=@var{priority} @gol
>  -msched-costly-dep=@var{dependence_type} @gol
>  -minsert-sched-nops=@var{scheme} @gol
> --mcall-sysv  -mcall-netbsd @gol
> +-mcall-aixdesc  -mcall-eabi  -mcall-freebsd  @gol
> +-mcall-linux  -mcall-netbsd  -mcall-openbsd  @gol
> +-mcall-sysv  -mcall-sysv-eabi  -mcall-sysv-noeabi @gol
> +-mtraceback=@var{traceback_type} @gol
>  -maix-struct-return  -msvr4-struct-return @gol
>  -mabi=@var{abi-type}  -msecure-plt  -mbss-plt @gol
>  -mblock-move-inline-limit=@var{num} @gol

So in xx-type we sometimes use underscores...  I wonder what is preferred.

> @@ -23957,6 +23960,12 @@
>  On System V.4 and embedded PowerPC systems compile code for the
>  OpenBSD operating system.
>  
> +@item -mtraceback=@var{traceback_type}
> +@opindex mtraceback
> +Select the type of traceback table. Valid values for @var{traceback_type}
> +are @samp{full}, @samp{part},
> +and @samp{no}.

Join the last two physical lines?

> --- config/rs6000/sysv4.opt	(revision 259301)
> +++ config/rs6000/sysv4.opt	(working copy)
> @@ -21,7 +21,7 @@
>  
>  mcall-
>  Target RejectNegative Joined Var(rs6000_abi_name)
> -Select ABI calling convention.
> +-mcall=ABI	Select ABI calling convention.

-mcall-ABI  instead.

> --- config/rs6000/rs6000.opt	(revision 259301)
> +++ config/rs6000/rs6000.opt	(working copy)
> @@ -335,15 +335,15 @@
>  
>  mblock-compare-inline-limit=
>  Target Report Var(rs6000_block_compare_inline_limit) Init(31) RejectNegative Joined UInteger Save
> -Specify the maximum number of bytes to compare inline with non-looping code. If this is set to 0, all inline expansion (non-loop and loop) of memcmp is disabled.
> +Specify the maximum number of bytes to compare inline with non-looping code.

You can make it shorter still, so it actually fits on a line in the --help
display, like

"Max number of bytes to compare without loops."

>  mblock-compare-inline-loop-limit=
>  Target Report Var(rs6000_block_compare_inline_loop_limit) Init(-1) RejectNegative Joined UInteger Save
> -Specify the maximum number of bytes to compare inline with loop code generation.  If the length is not known at compile time, memcmp will be called after this many bytes are compared. By default, a length will be picked depending on the tuning target.
> +Specify the maximum number of bytes to compare inline with loop code generation.

"Max number of bytes to compare with loops."

>  mstring-compare-inline-limit=
>  Target Report Var(rs6000_string_compare_inline_limit) Init(8) RejectNegative Joined UInteger Save
> -Specify the maximum number pairs of load instructions that should be generated inline for the compare.  If the number needed exceeds the limit, a call to strncmp will be generated instead.
> +Specify the maximum number pairs of load instructions that should be generated for inline compares.

This one is harder; that's because the actual number you set isn't so
user-friendly.

"Max number of pairs of load insns for compare without loops."


Okay for trunk with the sysv4.opt fix, and whatever polishing you want
to do.  Thanks!


Segher

Patch

Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi	(revision 259302)
+++ doc/invoke.texi	(working copy)
@@ -1076,7 +1076,10 @@ 
 -mprioritize-restricted-insns=@var{priority} @gol
 -msched-costly-dep=@var{dependence_type} @gol
 -minsert-sched-nops=@var{scheme} @gol
--mcall-sysv  -mcall-netbsd @gol
+-mcall-aixdesc  -mcall-eabi  -mcall-freebsd  @gol
+-mcall-linux  -mcall-netbsd  -mcall-openbsd  @gol
+-mcall-sysv  -mcall-sysv-eabi  -mcall-sysv-noeabi @gol
+-mtraceback=@var{traceback_type} @gol
 -maix-struct-return  -msvr4-struct-return @gol
 -mabi=@var{abi-type}  -msecure-plt  -mbss-plt @gol
 -mblock-move-inline-limit=@var{num} @gol
@@ -23957,6 +23960,12 @@ 
 On System V.4 and embedded PowerPC systems compile code for the
 OpenBSD operating system.
 
+@item -mtraceback=@var{traceback_type}
+@opindex mtraceback
+Select the type of traceback table. Valid values for @var{traceback_type}
+are @samp{full}, @samp{part},
+and @samp{no}.
+
 @item -maix-struct-return
 @opindex maix-struct-return
 Return all structures in memory (as specified by the AIX ABI)@.
@@ -23973,16 +23982,6 @@ 
 @samp{no-spe}, @samp{ibmlongdouble}, @samp{ieeelongdouble},
 @samp{elfv1}, @samp{elfv2}@.
 
-@item -mabi=spe
-@opindex mabi=spe
-Extend the current ABI with SPE ABI extensions.  This does not change
-the default ABI, instead it adds the SPE ABI extensions to the current
-ABI@.
-
-@item -mabi=no-spe
-@opindex mabi=no-spe
-Disable Book-E SPE ABI extensions for the current ABI@.
-
 @item -mabi=ibmlongdouble
 @opindex mabi=ibmlongdouble
 Change the current ABI to use IBM extended-precision long double.
Index: config/rs6000/sysv4.opt
===================================================================
--- config/rs6000/sysv4.opt	(revision 259301)
+++ config/rs6000/sysv4.opt	(working copy)
@@ -21,7 +21,7 @@ 
 
 mcall-
 Target RejectNegative Joined Var(rs6000_abi_name)
-Select ABI calling convention.
+-mcall=ABI	Select ABI calling convention.
 
 msdata=
 Target RejectNegative Joined Var(rs6000_sdata_name)
Index: config/rs6000/rs6000.opt
===================================================================
--- config/rs6000/rs6000.opt	(revision 259301)
+++ config/rs6000/rs6000.opt	(working copy)
@@ -335,15 +335,15 @@ 
 
 mblock-compare-inline-limit=
 Target Report Var(rs6000_block_compare_inline_limit) Init(31) RejectNegative Joined UInteger Save
-Specify the maximum number of bytes to compare inline with non-looping code. If this is set to 0, all inline expansion (non-loop and loop) of memcmp is disabled.
+Specify the maximum number of bytes to compare inline with non-looping code.
 
 mblock-compare-inline-loop-limit=
 Target Report Var(rs6000_block_compare_inline_loop_limit) Init(-1) RejectNegative Joined UInteger Save
-Specify the maximum number of bytes to compare inline with loop code generation.  If the length is not known at compile time, memcmp will be called after this many bytes are compared. By default, a length will be picked depending on the tuning target.
+Specify the maximum number of bytes to compare inline with loop code generation.
 
 mstring-compare-inline-limit=
 Target Report Var(rs6000_string_compare_inline_limit) Init(8) RejectNegative Joined UInteger Save
-Specify the maximum number pairs of load instructions that should be generated inline for the compare.  If the number needed exceeds the limit, a call to strncmp will be generated instead.
+Specify the maximum number pairs of load instructions that should be generated for inline compares.
 
 misel
 Target Report Mask(ISEL) Var(rs6000_isa_flags)