aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2019-10-01 11:37:01 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2019-10-01 11:37:01 +0000
commit6bc89193bcf3c616e22d0f422e42e685f1d7796a (patch)
tree548d9520fce6bd3e177933daf0c2a81e8d7533ef /gcc/tree-if-conv.c
parent676e38c2a93311bc847c1034637efc935e527f8f (diff)
downloadgcc-6bc89193bcf3c616e22d0f422e42e685f1d7796a.zip
gcc-6bc89193bcf3c616e22d0f422e42e685f1d7796a.tar.gz
gcc-6bc89193bcf3c616e22d0f422e42e685f1d7796a.tar.bz2
recompute opt flags after opt level change
flag_omit_frame_pointer is set in machine-independent code depending on the optimization level. It is then overridden in x86 target-specific code depending on a macro defined by --enable-frame-pointer. Uses of attribute optimize go through machine-independent overriding of flag_omit_frame_pointer, but the x86-specific overriding code did NOT cover this flag, so, even if the attribute does not change the optimization level, flag_omit_frame_pointer may end up with a different value, and prevent inlining because of incompatible flags, as detected by the gcc.dg/ipa/iinline-attr.c test on an --enable-frame-pointer x86 toolchain. for gcc/ChangeLog * config/i386/i386-options.c (ix86_recompute_optlev_based_flags): New, moved out of... (ix86_option_override_internal): ... this. Call it. (ix86_override_options_after_change): Call it here too. From-SVN: r276405
Diffstat (limited to 'gcc/tree-if-conv.c')
0 files changed, 0 insertions, 0 deletions