diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f1037f6fea110aca3886b1ddd0b9b580008b852e..3cf1c74b7586f933f9ca31db1d371d05dd1f6e8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-08-29 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.opt (flag_fentry): Do not init to -1. + * config/i386/i386.c (ix86_option_override_internal): Simplify + setting of opts->x_flag_entry. + 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Jakub Jelinek <jakub@redhat.com> Richard Biener <rguenther@suse.de> @@ -461,8 +467,7 @@ 2017-08-22 Richard Biener <rguenther@suse.de> - * tree-cfg.c (gimple_split_edge): Avoid reallocating target - PHI nodes. + * tree-cfg.c (gimple_split_edge): Avoid reallocating target PHI nodes. 2017-08-22 Richard Biener <rguenther@suse.de> @@ -500,8 +505,7 @@ (-mvsx-scalar-double): Likewise. (-mallow-df-permute): Likewise. (-mvectorize-builtins): Likewise. - * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): - Likewise. + * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise. (rs6000_builtin_vectorized_function): Likewise. (rs6000_builtin_md_vectorized_function): Likewise. (rs6000_opt_vars): Likewise. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index b5c113d95aad1b7ffa6f6491a27148ba8910755f..509fd3a26d5b78022e8ae69f0985a3a2333fdee5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -6545,27 +6545,18 @@ ix86_option_override_internal (bool main_args_p, opts->x_target_flags |= MASK_CLD & ~opts_set->x_target_flags; #endif - if (!TARGET_64BIT_P (opts->x_ix86_isa_flags) && opts->x_flag_pic) + /* Set the default value for -mfentry. */ + if (!opts_set->x_flag_fentry) + opts->x_flag_fentry = TARGET_SEH; + else { - if (opts->x_flag_fentry > 0) - sorry ("-mfentry isn%'t supported for 32-bit in combination " + if (!TARGET_64BIT_P (opts->x_ix86_isa_flags) && opts->x_flag_pic + && opts->x_flag_fentry) + sorry ("-mfentry isn%'t supported for 32-bit in combination " "with -fpic"); - opts->x_flag_fentry = 0; - } - else if (TARGET_SEH) - { - if (opts->x_flag_fentry == 0) + else if (TARGET_SEH && !opts->x_flag_fentry) sorry ("-mno-fentry isn%'t compatible with SEH"); - opts->x_flag_fentry = 1; } - else if (opts->x_flag_fentry < 0) - { -#if defined(PROFILE_BEFORE_PROLOGUE) - opts->x_flag_fentry = 1; -#else - opts->x_flag_fentry = 0; -#endif - } if (TARGET_SEH && TARGET_CALL_MS2SYSV_XLOGUES) sorry ("-mcall-ms2sysv-xlogues isn%'t currently supported with SEH"); diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt index 8bf6af21fd18261c781cc1a6cc2c34328d053a65..81bbc1e2170a1e37b4d79843c4b9aa0fc0843c8b 100644 --- a/gcc/config/i386/i386.opt +++ b/gcc/config/i386/i386.opt @@ -862,7 +862,7 @@ Target Report Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save Support PREFETCHWT1 built-in functions and code generation. mfentry -Target Report Var(flag_fentry) Init(-1) +Target Report Var(flag_fentry) Emit profiling counter call at function entry before prologue. mrecord-mcount