rs6000.opt (mlra): Replace with stub.
gcc/ * config/rs6000/rs6000.opt (mlra): Replace with stub. * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA. * config/rs6000/rs6000.c (TARGET_LRA_P): Delete. (rs6000_debug_reg_global): Delete print of LRA status. (rs6000_option_override_internal): Delete dead LRA related code. (rs6000_lra_p): Delete function. * doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra. gcc/testsuite/ * g++.dg/pr69667.C: Remove option -mlra. * gcc.target/powerpc/dform-1.c: Likewise. * gcc.target/powerpc/dform-2.c: Likewise. * gcc.target/powerpc/dform-3.c: Likewise. * gcc.target/powerpc/p8vector-int128-1.c: Likewise. * gcc.target/powerpc/p9-vparity.c: Likewise. * gcc.target/powerpc/pr63491.c: Likewise. * gcc.target/powerpc/pr67808.c: Likewise. * gcc.target/powerpc/pr68805.c: Likewise. * gcc.target/powerpc/pr69461.c: Likewise. * gcc.target/powerpc/pr71680.c: Likewise. * gcc.target/powerpc/pr77289.c: Likewise. * gcc.target/powerpc/pr78458.c: Likewise. * gcc.target/powerpc/pr78543.c: Likewise. * g++.dg/pr71294.C: Remove option -mno-lra. * gcc.target/powerpc/pr71656-1.c: Likewise. * gcc.target/powerpc/pr71656-2.c: Likewise. * gcc.target/powerpc/pr71698.c: Likewise. From-SVN: r250637
This commit is contained in:
parent
a40ff0ae8b
commit
7a5cbf29be
@ -1,3 +1,13 @@
|
||||
2017-07-27 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* config/rs6000/rs6000.opt (mlra): Replace with stub.
|
||||
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA.
|
||||
* config/rs6000/rs6000.c (TARGET_LRA_P): Delete.
|
||||
(rs6000_debug_reg_global): Delete print of LRA status.
|
||||
(rs6000_option_override_internal): Delete dead LRA related code.
|
||||
(rs6000_lra_p): Delete function.
|
||||
* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra.
|
||||
|
||||
2017-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
|
||||
|
@ -123,7 +123,6 @@
|
||||
| OPTION_MASK_FPRND \
|
||||
| OPTION_MASK_HTM \
|
||||
| OPTION_MASK_ISEL \
|
||||
| OPTION_MASK_LRA \
|
||||
| OPTION_MASK_MFCRF \
|
||||
| OPTION_MASK_MFPGPR \
|
||||
| OPTION_MASK_MODULO \
|
||||
|
@ -1887,9 +1887,6 @@ static const struct attribute_spec rs6000_attribute_table[] =
|
||||
#undef TARGET_MODE_DEPENDENT_ADDRESS_P
|
||||
#define TARGET_MODE_DEPENDENT_ADDRESS_P rs6000_mode_dependent_address_p
|
||||
|
||||
#undef TARGET_LRA_P
|
||||
#define TARGET_LRA_P rs6000_lra_p
|
||||
|
||||
#undef TARGET_COMPUTE_PRESSURE_CLASSES
|
||||
#define TARGET_COMPUTE_PRESSURE_CLASSES rs6000_compute_pressure_classes
|
||||
|
||||
@ -2790,8 +2787,6 @@ rs6000_debug_reg_global (void)
|
||||
if (TARGET_LINK_STACK)
|
||||
fprintf (stderr, DEBUG_FMT_S, "link_stack", "true");
|
||||
|
||||
fprintf (stderr, DEBUG_FMT_S, "lra", TARGET_LRA ? "true" : "false");
|
||||
|
||||
if (TARGET_P8_FUSION)
|
||||
{
|
||||
char options[80];
|
||||
@ -4555,35 +4550,10 @@ rs6000_option_override_internal (bool global_init_p)
|
||||
}
|
||||
}
|
||||
|
||||
/* Enable LRA by default. */
|
||||
if ((rs6000_isa_flags_explicit & OPTION_MASK_LRA) == 0)
|
||||
rs6000_isa_flags |= OPTION_MASK_LRA;
|
||||
|
||||
/* There have been bugs with -mvsx-timode that don't show up with -mlra,
|
||||
but do show up with -mno-lra. Given -mlra will become the default once
|
||||
PR 69847 is fixed, turn off the options with problems by default if
|
||||
-mno-lra was used, and warn if the user explicitly asked for the option.
|
||||
|
||||
Enable -mpower9-dform-vector by default if LRA and other power9 options.
|
||||
Enable -mvsx-timode by default if LRA and VSX. */
|
||||
if (!TARGET_LRA)
|
||||
{
|
||||
if (TARGET_VSX_TIMODE)
|
||||
{
|
||||
if ((rs6000_isa_flags_explicit & OPTION_MASK_VSX_TIMODE) != 0)
|
||||
warning (0, "-mvsx-timode might need -mlra");
|
||||
|
||||
else
|
||||
rs6000_isa_flags &= ~OPTION_MASK_VSX_TIMODE;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (TARGET_VSX && !TARGET_VSX_TIMODE
|
||||
&& (rs6000_isa_flags_explicit & OPTION_MASK_VSX_TIMODE) == 0)
|
||||
rs6000_isa_flags |= OPTION_MASK_VSX_TIMODE;
|
||||
}
|
||||
/* Enable -mvsx-timode by default if VSX. */
|
||||
if (TARGET_VSX && !TARGET_VSX_TIMODE
|
||||
&& (rs6000_isa_flags_explicit & OPTION_MASK_VSX_TIMODE) == 0)
|
||||
rs6000_isa_flags |= OPTION_MASK_VSX_TIMODE;
|
||||
|
||||
/* Set -mallow-movmisalign to explicitly on if we have full ISA 2.07
|
||||
support. If we only have ISA 2.06 support, and the user did not specify
|
||||
@ -35876,14 +35846,6 @@ rs6000_libcall_value (machine_mode mode)
|
||||
return gen_rtx_REG (mode, regno);
|
||||
}
|
||||
|
||||
|
||||
/* Return true if we use LRA instead of reload pass. */
|
||||
static bool
|
||||
rs6000_lra_p (void)
|
||||
{
|
||||
return TARGET_LRA;
|
||||
}
|
||||
|
||||
/* Compute register pressure classes. We implement the target hook to avoid
|
||||
IRA picking something like NON_SPECIAL_REGS as a pressure class, which can
|
||||
lead to incorrect estimates of number of available registers and therefor
|
||||
|
@ -430,9 +430,9 @@ mlong-double-
|
||||
Target RejectNegative Joined UInteger Var(rs6000_long_double_type_size) Save
|
||||
-mlong-double-<n> Specify size of long double (64 or 128 bits).
|
||||
|
||||
; This option existed in the past, but now is always on.
|
||||
mlra
|
||||
Target Report Mask(LRA) Var(rs6000_isa_flags)
|
||||
Enable Local Register Allocation.
|
||||
Target RejectNegative Undocumented Ignore
|
||||
|
||||
msched-costly-dep=
|
||||
Target RejectNegative Joined Var(rs6000_sched_costly_dep_str)
|
||||
|
@ -1048,8 +1048,7 @@ See RS/6000 and PowerPC Options.
|
||||
-mfloat128 -mno-float128 -mfloat128-hardware -mno-float128-hardware @gol
|
||||
-mgnu-attribute -mno-gnu-attribute @gol
|
||||
-mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{reg} @gol
|
||||
-mstack-protector-guard-offset=@var{offset} @gol
|
||||
-mlra -mno-lra}
|
||||
-mstack-protector-guard-offset=@var{offset}}
|
||||
|
||||
@emph{RX Options}
|
||||
@gccoptlist{-m64bit-doubles -m32bit-doubles -fpu -nofpu@gol
|
||||
@ -21841,11 +21840,6 @@ This switch enables or disables the generation of ISEL instructions.
|
||||
This switch has been deprecated. Use @option{-misel} and
|
||||
@option{-mno-isel} instead.
|
||||
|
||||
@item -mlra
|
||||
@opindex mlra
|
||||
Enable Local Register Allocation. By default the port uses LRA.
|
||||
(i.e. @option{-mno-lra}).
|
||||
|
||||
@item -mspe
|
||||
@itemx -mno-spe
|
||||
@opindex mspe
|
||||
|
@ -1,3 +1,24 @@
|
||||
2017-07-27 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* g++.dg/pr69667.C: Remove option -mlra.
|
||||
* gcc.target/powerpc/dform-1.c: Likewise.
|
||||
* gcc.target/powerpc/dform-2.c: Likewise.
|
||||
* gcc.target/powerpc/dform-3.c: Likewise.
|
||||
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
|
||||
* gcc.target/powerpc/p9-vparity.c: Likewise.
|
||||
* gcc.target/powerpc/pr63491.c: Likewise.
|
||||
* gcc.target/powerpc/pr67808.c: Likewise.
|
||||
* gcc.target/powerpc/pr68805.c: Likewise.
|
||||
* gcc.target/powerpc/pr69461.c: Likewise.
|
||||
* gcc.target/powerpc/pr71680.c: Likewise.
|
||||
* gcc.target/powerpc/pr77289.c: Likewise.
|
||||
* gcc.target/powerpc/pr78458.c: Likewise.
|
||||
* gcc.target/powerpc/pr78543.c: Likewise.
|
||||
* g++.dg/pr71294.C: Remove option -mno-lra.
|
||||
* gcc.target/powerpc/pr71656-1.c: Likewise.
|
||||
* gcc.target/powerpc/pr71656-2.c: Likewise.
|
||||
* gcc.target/powerpc/pr71698.c: Likewise.
|
||||
|
||||
2017-07-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
Sudakshina Das <sudi.das@arm.com>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target powerpc_p8vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
|
||||
/* { dg-options "-mcpu=power8 -w -std=c++14 -mlra" } */
|
||||
/* { dg-options "-mcpu=power8 -w -std=c++14" } */
|
||||
|
||||
/* target/69667, compiler got
|
||||
internal compiler error: Max. number of generated reload insns per insn is achieved (90) */
|
||||
|
@ -1,7 +1,7 @@
|
||||
// { dg-do compile { target { powerpc64*-*-* && lp64 } } }
|
||||
// { dg-require-effective-target powerpc_p8vector_ok } */
|
||||
// { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } }
|
||||
// { dg-options "-mcpu=power8 -O3 -fstack-protector -mno-lra" }
|
||||
// { dg-options "-mcpu=power8 -O3 -fstack-protector" }
|
||||
|
||||
// PAR target/71294 failed because RELOAD could not figure how create a V2DI
|
||||
// vector that auto vectorization created with each element being the same
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2 -mlra" } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2" } */
|
||||
|
||||
#ifndef TYPE
|
||||
#define TYPE double
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2 -mlra" } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2" } */
|
||||
|
||||
#ifndef TYPE
|
||||
#define TYPE float
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2 -mlra" } */
|
||||
/* { dg-options "-mcpu=power9 -mpower9-dform -O2" } */
|
||||
|
||||
#ifndef TYPE
|
||||
#define TYPE vector double
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target powerpc_p8vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
|
||||
/* { dg-options "-mcpu=power8 -O3 -mvsx-timode -mlra" } */
|
||||
/* { dg-options "-mcpu=power8 -O3 -mvsx-timode" } */
|
||||
|
||||
#include <altivec.h>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-mcpu=power9 -O2 -mlra -mvsx-timode" } */
|
||||
/* { dg-options "-mcpu=power9 -O2 -mvsx-timode" } */
|
||||
|
||||
#include <altivec.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
|
||||
/* { dg-options "-O1 -mcpu=power8 -mlra" } */
|
||||
/* { dg-options "-O1 -mcpu=power8" } */
|
||||
|
||||
typedef __int128_t __attribute__((__vector_size__(16))) vector_128_t;
|
||||
typedef unsigned long long scalar_64_t;
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target powerpc_vsx_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
|
||||
/* { dg-options "-O1 -mvsx -mlra -mcpu=power7 -mlong-double-128" } */
|
||||
/* { dg-options "-O1 -mvsx -mcpu=power7 -mlong-double-128" } */
|
||||
|
||||
/* PR 67808: LRA ICEs on simple double to long double conversion test case */
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* { dg-do compile { target powerpc64le-*-* } } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
|
||||
/* { dg-options "-O2 -mvsx-timode -mcpu=power8 -mlra" } */
|
||||
/* { dg-options "-O2 -mvsx-timode -mcpu=power8" } */
|
||||
|
||||
typedef struct bar {
|
||||
void *a;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O3 -mlra" } */
|
||||
/* { dg-options "-O3" } */
|
||||
|
||||
extern void _setjmp (void);
|
||||
typedef struct {
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-O1 -mcpu=power9 -mpower9-dform-vector -mno-lra" } */
|
||||
/* { dg-options "-O1 -mcpu=power9 -mpower9-dform-vector" } */
|
||||
|
||||
typedef __attribute__((altivec(vector__))) int type_t;
|
||||
type_t
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-O3 -mcpu=power9 -mpower9-dform-vector -mno-lra -funroll-loops -fno-aggressive-loop-optimizations" } */
|
||||
/* { dg-options "-O3 -mcpu=power9 -mpower9-dform-vector -funroll-loops -fno-aggressive-loop-optimizations" } */
|
||||
|
||||
typedef double vec[3];
|
||||
struct vec_t
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* } } } */
|
||||
/* { dg-require-effective-target powerpc_vsx_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
|
||||
/* { dg-options "-mcpu=power8 -O1 -mlra" } */
|
||||
/* { dg-options "-mcpu=power8 -O1" } */
|
||||
|
||||
#pragma pack(1)
|
||||
struct
|
||||
|
@ -3,7 +3,7 @@
|
||||
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
||||
/* { dg-require-effective-target dfp } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
|
||||
/* { dg-options "-O1 -mcpu=power9 -mno-lra" } */
|
||||
/* { dg-options "-O1 -mcpu=power9" } */
|
||||
|
||||
extern void testvad128 (int n, ...);
|
||||
void
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
||||
/* { dg-require-effective-target powerpc_vsx_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
|
||||
/* { dg-options "-O3 -mcpu=power7 -funroll-loops -ffast-math -mlra -mupdate -fno-auto-inc-dec" } */
|
||||
/* { dg-options "-O3 -mcpu=power7 -funroll-loops -ffast-math -mupdate -fno-auto-inc-dec" } */
|
||||
|
||||
/* PR 77289: LRA ICEs due to invalid constraint checking. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-mcpu=8548 -mspe -mabi=spe -mlra" } */
|
||||
/* { dg-options "-mcpu=8548 -mspe -mabi=spe" } */
|
||||
/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
|
||||
|
||||
extern void bar (void);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* { dg-do compile { target { powerpc64*-*-* && lp64 } } } */
|
||||
/* { dg-require-effective-target powerpc_p8vector_ok } */
|
||||
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
|
||||
/* { dg-options "-mcpu=power8 -O1 -mno-lra" } */
|
||||
/* { dg-options "-mcpu=power8 -O1" } */
|
||||
|
||||
typedef long a;
|
||||
enum c { e, f, g, h, i, ab } j();
|
||||
|
Loading…
x
Reference in New Issue
Block a user