The ARC front end presently has a large number of options that are
explicitly deprecated, either by the "Warn" option or by being
documented as such in the GCC manual.  The manual text has documented
a long list of obsolete options with a warning that they will be removed
completely in a future release since at least GCC 5, 10+ years ago.
Some of documented options have, in fact, already been deleted.

This patch does *not* delete the remaining obsolete options, but only
marks them as "Undocumented" in the .opt file and removes the
documentation to reduce clutter in the manual.

gcc/ChangeLog
        PR other/122243
        * config/arc/arc.opt: Mark -mbig-endian, -mlittle-endian,
        -mmixed-code, -mno-mpy, -margonaut, -munalign-prob-threshold=,
        -mannotate-align, -malign-call, -mRcq, -mRcw, -mbbit-peephole,
        -mcompact-casesi, -mq-class, -mexpand-adddi, -mcrc, -mdsp-packa,
        -mdvbf, -mtelephony, -mrtsc, -EB, -EL, -mrla, -mEA, and
        -multcost= as "Undocumented".
        * doc/invoke.texi: Remove documentation for the above options.
        plus -mmac-d16 and -mmac-24 (which were already marked as
        "Undocumented").  Likewise remove documentation for
        -mbarrel_shifter, -mdpfp_compact, -mdpfp_fast, -mdsp_packa,
        -mmac_24, -mmac_d16, -mspfp_compact, and -mspfp_fast, which
        had already been deleted from arc.opt at some point.
---
 gcc/config/arc/arc.opt |  55 +++++++------
 gcc/doc/invoke.texi    | 179 ++---------------------------------------
 2 files changed, 38 insertions(+), 196 deletions(-)

diff --git a/gcc/config/arc/arc.opt b/gcc/config/arc/arc.opt
index 6da08383b76..381a8b036e2 100644
--- a/gcc/config/arc/arc.opt
+++ b/gcc/config/arc/arc.opt
@@ -21,12 +21,14 @@
 HeaderInclude
 config/arc/arc-opts.h
 
+@c Formerly documented as deprecated; use configure options instead.
 mbig-endian
-Target RejectNegative Mask(BIG_ENDIAN)
+Target RejectNegative Mask(BIG_ENDIAN) Undocumented
 Compile code for big endian mode.
 
+@c Formerly documented as deprecated; use configure options instead.
 mlittle-endian
-Target RejectNegative InverseMask(BIG_ENDIAN)
+Target RejectNegative InverseMask(BIG_ENDIAN) Undocumented
 Compile code for little endian mode.  This is the default.
 
 mno-cond-exec
@@ -136,7 +138,7 @@ Target Mask(CODE_DENSITY)
 Enable code density instructions for ARCv2.
 
 mmixed-code
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 ; We use an explict definition for the negative form because that is the
@@ -166,7 +168,7 @@ Target Mask(MUL64_SET)
 Generate mul64 and mulu64 instructions.
 
 mno-mpy
-Target Mask(NOMPY_SET) Warn(%qs is deprecated)
+Target Mask(NOMPY_SET) Undocumented Warn(%qs is deprecated)
 Do not generate mpy instructions for ARC700.
 
 mea
@@ -205,8 +207,9 @@ mspfp-fast
 Target Mask(SPFP_FAST_SET)
 FPX: Generate Single Precision FPX (fast) instructions.
 
+; Formerly documented as deprecated, "obsolete FPX"
 margonaut
-Target Mask(ARGONAUT_SET)
+Target Mask(ARGONAUT_SET) Undocumented
 FPX: Enable Argonaut ARC CPU Double Precision Floating Point extensions.
 
 mdpfp
@@ -292,7 +295,7 @@ Target Mask(MULMAC_32BY16_SET)
 Generate 32x16 multiply and mac instructions.
 
 munalign-prob-threshold=
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 mmedium-calls
@@ -300,20 +303,20 @@ Target Var(TARGET_MEDIUM_CALLS) 
Init(TARGET_MMEDIUM_CALLS_DEFAULT)
 Don't use less than 25 bit addressing range for calls.
 
 mannotate-align
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 malign-call
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 mRcq
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 
 mRcw
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 
@@ -322,7 +325,7 @@ Target Var(TARGET_EARLY_CBRANCHSI)
 Enable pre-reload use of cbranchsi pattern.
 
 mbbit-peephole
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 mcase-vector-pcrel
@@ -330,30 +333,30 @@ Target Var(TARGET_CASE_VECTOR_PC_RELATIVE)
 Use pc-relative switch case tables - this enables case table shortening.
 
 mcompact-casesi
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable compact casesi pattern.
 
 mq-class
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable 'q' instruction alternatives.
 
 mexpand-adddi
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Expand adddi3 and subdi3 at rtl generation time into add.f / adc etc.
 
 
 ; Flags used by the assembler, but for which we define preprocessor
 ; macro symbols as well.
 mcrc
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable variable polynomial CRC extension.
 
 mdsp-packa
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable DSP 3.1 Pack A extensions.
 
 mdvbf
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable dual viterbi butterfly extension.
 
 mmac-d16
@@ -363,7 +366,7 @@ mmac-24
 Target Undocumented Warn(%qs is deprecated)
 
 mtelephony
-Target RejectNegative Warn(%qs is deprecated)
+Target RejectNegative Undocumented Warn(%qs is deprecated)
 Enable Dual and Single Operand Instructions for Telephony.
 
 mxy
@@ -380,15 +383,17 @@ Target
 Enable swap byte ordering extension instruction.
 
 mrtsc
-Target Warn(%qs is deprecated)
+Target Undocumented Warn(%qs is deprecated)
 Enable 64-bit Time-Stamp Counter extension instruction.
 
+; Formerly documented as deprecated.
 EB
-Target
+Target Undocumented
 Pass -EB option through to linker.
 
+; Formerly documented as deprecated.
 EL
-Target
+Target Undocumented
 Pass -EL option through to linker.
 
 marclinux
@@ -399,9 +404,8 @@ marclinux_prof
 Target
 Pass -marclinux_prof option through to linker.
 
-;; lra is still unproven for ARC, so allow to fall back to reload with 
-mno-lra.
 mlra
-Target Ignore
+Target Ignore Undocumented
 Does nothing.  Preserved for backward compatibility.
 
 mlra-priority-none
@@ -419,10 +423,11 @@ Reduce priority for r0..r3 / r12..r15 with 
TARGET_REGISTER_PRIORITY.
 ; backward-compatibility aliases, translated by DRIVER_SELF_SPECS
 
 mEA
-Target
+Target Undocumented
 
 multcost=
-Target RejectNegative Joined
+Target RejectNegative Joined Undocumented
+
 
 matomic
 Target Mask(ATOMIC)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 0d223c4d78f..aa1282f9551 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -925,20 +925,20 @@ Objective-C and Objective-C++ Dialects}.
 @gccoptlist{-mbarrel-shifter  -mjli-always
 -mcpu=@var{cpu}  -mA6  -mARC600  -mA7  -mARC700
 -mdpfp  -mdpfp-compact  -mdpfp-fast  -mno-dpfp-lrsr
--mea  -mno-mpy  -mmul32x16  -mmul64  -matomic
+-mea  -mmul32x16  -mmul64  -matomic
 -mnorm  -mspfp  -mspfp-compact  -mspfp-fast  -msimd  -msoft-float  -mswap
--mcrc  -mdsp-packa  -mdvbf  -mlock  -mmac-d16  -mmac-24  -mrtsc  -mswape
--mtelephony  -mxy  -misize  -mannotate-align  -marclinux  -marclinux_prof
+-mlock  -mswape
+-mxy  -misize  -marclinux  -marclinux_prof
 -mlong-calls  -mmedium-calls  -msdata  -mirq-ctrl-saved
 -mrgf-banked-regs  -mlpc-width=@var{width}  -G @var{num}
 -mvolatile-cache  -mtp-regno=@var{regno}
--malign-call  -mauto-modify-reg  -mbbit-peephole  -mno-brcc
--mcase-vector-pcrel  -mcompact-casesi  -mno-cond-exec  -mearly-cbranchsi
--mexpand-adddi  -mindexed-loads  -mlra  -mlra-priority-none
+-mauto-modify-reg  -mno-brcc
+-mcase-vector-pcrel  -mno-cond-exec  -mearly-cbranchsi
+-mindexed-loads  -mlra-priority-none
 -mlra-priority-compact -mlra-priority-noncompact  -mmillicode
--mmixed-code  -mq-class  -mRcq  -mRcw  -msize-level=@var{level}
+-msize-level=@var{level}
 -mtune=@var{cpu}  -mmultcost=@var{num}  -mcode-density-frame
--munalign-prob-threshold=@var{probability}  -mmpy-option=@var{multo}
+-mmpy-option=@var{multo}
 -mdiv-rem  -mcode-density  -mll64  -mfpu=@var{fpu}  -mrf16  -mbranch-index}
 
 @emph{ARM Options} (@ref{ARM Options})
@@ -23587,12 +23587,6 @@ Generate extended arithmetic instructions.  Currently 
only
 @code{divaw}, @code{adds}, @code{subs}, and @code{sat16} are
 supported.  Only valid for @option{-mcpu=ARC700}.
 
-@opindex mno-mpy
-@opindex mmpy
-@item -mno-mpy
-Do not generate @code{mpy}-family instructions for ARC700.  This option is
-deprecated.
-
 @opindex mmul32x16
 @item -mmul32x16
 Generate 32x16-bit multiply and multiply-accumulate instructions.
@@ -23840,17 +23834,6 @@ define preprocessor macro symbols.
 @c Flags used by the assembler, but for which we define preprocessor
 @c macro symbols as well.
 @table @gcctabopt
-@opindex mdsp-packa
-@item -mdsp-packa
-Passed down to the assembler to enable the DSP Pack A extensions.
-Also sets the preprocessor symbol @code{__Xdsp_packa}.  This option is
-deprecated.
-
-@opindex mdvbf
-@item -mdvbf
-Passed down to the assembler to enable the dual Viterbi butterfly
-extension.  Also sets the preprocessor symbol @code{__Xdvbf}.  This
-option is deprecated.
 
 @c ARC700 4.10 extension instruction
 @opindex mlock
@@ -23859,23 +23842,6 @@ Passed down to the assembler to enable the locked 
load/store
 conditional extension.  Also sets the preprocessor symbol
 @code{__Xlock}.
 
-@opindex mmac-d16
-@item -mmac-d16
-Passed down to the assembler.  Also sets the preprocessor symbol
-@code{__Xxmac_d16}.  This option is deprecated.
-
-@opindex mmac-24
-@item -mmac-24
-Passed down to the assembler.  Also sets the preprocessor symbol
-@code{__Xxmac_24}.  This option is deprecated.
-
-@c ARC700 4.10 extension instruction
-@opindex mrtsc
-@item -mrtsc
-Passed down to the assembler to enable the 64-bit time-stamp counter
-extension instruction.  Also sets the preprocessor symbol
-@code{__Xrtsc}.  This option is deprecated.
-
 @c ARC700 4.10 extension instruction
 @opindex mswape
 @item -mswape
@@ -23883,12 +23849,6 @@ Passed down to the assembler to enable the swap byte 
ordering
 extension instruction.  Also sets the preprocessor symbol
 @code{__Xswape}.
 
-@opindex mtelephony
-@item -mtelephony
-Passed down to the assembler to enable dual- and single-operand
-instructions for telephony.  Also sets the preprocessor symbol
-@code{__Xtelephony}.  This option is deprecated.
-
 @opindex mxy
 @item -mxy
 Passed down to the assembler to enable the XY memory extension.  Also
@@ -23904,10 +23864,6 @@ The following options control how the assembly code is 
annotated:
 @item -misize
 Annotate assembler instructions with estimated addresses.
 
-@opindex mannotate-align
-@item -mannotate-align
-Does nothing.  Preserved for backward compatibility.
-
 @end table
 
 The following options are passed through to the linker:
@@ -23977,18 +23933,10 @@ Enable cache bypass for volatile references.
 The following options fine tune code generation:
 @c code generation tuning options
 @table @gcctabopt
-@opindex malign-call
-@item -malign-call
-Does nothing.  Preserved for backward compatibility.
-
 @opindex mauto-modify-reg
 @item -mauto-modify-reg
 Enable the use of pre/post modify with register displacement.
 
-@opindex mbbit-peephole
-@item -mbbit-peephole
-Does nothing.  Preserved for backward compatibility.
-
 @opindex mno-brcc
 @item -mno-brcc
 This option disables a target-specific pass in @file{arc_reorg} to
@@ -24001,11 +23949,6 @@ generation of these instructions driven by the 
combiner pass.
 Use PC-relative switch case tables to enable case table shortening.
 This is the default for @option{-Os}.
 
-@opindex mcompact-casesi
-@item -mcompact-casesi
-Enable compact @code{casesi} pattern.  This is the default for @option{-Os},
-and only available for ARCv1 cores.  This option is deprecated.
-
 @opindex mno-cond-exec
 @item -mno-cond-exec
 Disable the ARCompact-specific pass to generate conditional
@@ -24027,21 +23970,12 @@ offset range because they are conditionalized, you 
should consider using
 @item -mearly-cbranchsi
 Enable pre-reload use of the @code{cbranchsi} pattern.
 
-@opindex mexpand-adddi
-@item -mexpand-adddi
-Expand @code{adddi3} and @code{subdi3} at RTL generation time into
-@code{add.f}, @code{adc} etc.  This option is deprecated.
-
 @opindex mindexed-loads
 @item -mindexed-loads
 Enable the use of indexed loads.  This can be problematic because some
 optimizers then assume that indexed stores exist, which is not
 the case.
 
-@opindex mlra
-@item -mlra
-Does nothing.  Preserved for backward compatibility.
-
 @opindex mlra-priority-none
 @item -mlra-priority-none
 Don't indicate any priority for target registers.
@@ -24070,23 +24004,6 @@ This option enable the compiler to emit @code{enter} 
and @code{leave}
 instructions.  These instructions are only valid for CPUs with
 code-density feature.
 
-@opindex mmixed-code
-@item -mmixed-code
-Does nothing.  Preserved for backward compatibility.
-
-@opindex mq-class
-@item -mq-class
-Ths option is deprecated.  Enable @samp{q} instruction alternatives.
-This is the default for @option{-Os}.
-
-@opindex mRcq
-@item -mRcq
-Does nothing.  Preserved for backward compatibility.
-
-@opindex mRcw
-@item -mRcw
-Does nothing.  Preserved for backward compatibility.
-
 @opindex msize-level
 @item -msize-level=@var{level}
 Fine-tune size optimization with regards to instruction lengths and alignment.
@@ -24149,86 +24066,6 @@ Tune for ARC4x release 3.10a.
 Cost to assume for a multiply instruction, with @samp{4} being equal to a
 normal instruction.
 
-@opindex munalign-prob-threshold
-@item -munalign-prob-threshold=@var{probability}
-Does nothing.  Preserved for backward compatibility.
-
-@end table
-
-The following options are maintained for backward compatibility, but
-are now deprecated and will be removed in a future release:
-
-@c Deprecated options
-@table @gcctabopt
-
-@opindex margonaut
-@item -margonaut
-Obsolete FPX.
-
-@opindex mbig-endian
-@opindex EB
-@item -mbig-endian
-@itemx -EB
-Compile code for big-endian targets.  Use of these options is now
-deprecated.  Big-endian code is supported by configuring GCC to build
-@w{@code{arceb-elf32}} and @w{@code{arceb-linux-uclibc}} targets,
-for which big endian is the default.
-
-@opindex mlittle-endian
-@opindex EL
-@item -mlittle-endian
-@itemx -EL
-Compile code for little-endian targets.  Use of these options is now
-deprecated.  Little-endian code is supported by configuring GCC to build
-@w{@code{arc-elf32}} and @w{@code{arc-linux-uclibc}} targets,
-for which little endian is the default.
-
-@opindex mbarrel_shifter
-@item -mbarrel_shifter
-Replaced by @option{-mbarrel-shifter}.
-
-@opindex mdpfp_compact
-@item -mdpfp_compact
-Replaced by @option{-mdpfp-compact}.
-
-@opindex mdpfp_fast
-@item -mdpfp_fast
-Replaced by @option{-mdpfp-fast}.
-
-@opindex mdsp_packa
-@item -mdsp_packa
-Replaced by @option{-mdsp-packa}.
-
-@opindex mEA
-@item -mEA
-Replaced by @option{-mea}.
-
-@opindex mmac_24
-@item -mmac_24
-Replaced by @option{-mmac-24}.
-
-@opindex mmac_d16
-@item -mmac_d16
-Replaced by @option{-mmac-d16}.
-
-@opindex mspfp_compact
-@item -mspfp_compact
-Replaced by @option{-mspfp-compact}.
-
-@opindex mspfp_fast
-@item -mspfp_fast
-Replaced by @option{-mspfp-fast}.
-
-@opindex mtune
-@item -mtune=@var{cpu}
-Values @samp{arc600}, @samp{arc601}, @samp{arc700} and
-@samp{arc700-xmac} for @var{cpu} are replaced by @samp{ARC600},
-@samp{ARC601}, @samp{ARC700} and @samp{ARC700-xmac} respectively.
-
-@opindex multcost
-@item -multcost=@var{num}
-Replaced by @option{-mmultcost}.
-
 @end table
 
 @node ARM Options
-- 
2.39.5

Reply via email to