diff options
author | Andi Kleen <ak@gcc.gnu.org> | 2024-10-15 13:15:09 -0700 |
---|---|---|
committer | Andi Kleen <ak@gcc.gnu.org> | 2024-10-29 15:08:00 -0700 |
commit | 06bc3a734e88908cad1d3bf547a722b3f9597a0d (patch) | |
tree | 2f76ede3f46ebf2a9d30534416cb964a0d7c8f40 /gcc | |
parent | 7211155732244ac527c075d033164ec253ee0971 (diff) | |
download | gcc-06bc3a734e88908cad1d3bf547a722b3f9597a0d.zip gcc-06bc3a734e88908cad1d3bf547a722b3f9597a0d.tar.gz gcc-06bc3a734e88908cad1d3bf547a722b3f9597a0d.tar.bz2 |
Disable -fbit-tests and -fjump-tables at -O0
gcc/ChangeLog:
* common.opt: Enable -fbit-tests and -fjump-tables only at -O1.
* opts.cc (default_options_table): Dito.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/common.opt | 4 | ||||
-rw-r--r-- | gcc/opts.cc | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/common.opt b/gcc/common.opt index 12b25ff..70a22cd 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2189,11 +2189,11 @@ Common Var(flag_ivopts) Init(1) Optimization Optimize induction variables on trees. fjump-tables -Common Var(flag_jump_tables) Init(1) Optimization +Common Var(flag_jump_tables) Init(0) Optimization Use jump tables for sufficiently large switch statements. fbit-tests -Common Var(flag_bit_tests) Init(1) Optimization +Common Var(flag_bit_tests) Init(0) Optimization Use bit tests for sufficiently large switch statements. fkeep-inline-functions diff --git a/gcc/opts.cc b/gcc/opts.cc index e810e30..5d08e5a 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -611,6 +611,7 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_1_PLUS, OPT_fvar_tracking, NULL, 1 }, /* -O1 (and not -Og) optimizations. */ + { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fbit_tests, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fbranch_count_reg, NULL, 1 }, #if DELAY_SLOTS { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fdelayed_branch, NULL, 1 }, @@ -619,6 +620,7 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion2, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_finline_functions_called_once, NULL, 1 }, + { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fjump_tables, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fmove_loop_invariants, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fmove_loop_stores, NULL, 1 }, { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fssa_phiopt, NULL, 1 }, |