aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndi Kleen <ak@gcc.gnu.org>2024-10-15 13:15:09 -0700
committerAndi Kleen <ak@gcc.gnu.org>2024-10-29 15:08:00 -0700
commit06bc3a734e88908cad1d3bf547a722b3f9597a0d (patch)
tree2f76ede3f46ebf2a9d30534416cb964a0d7c8f40 /gcc
parent7211155732244ac527c075d033164ec253ee0971 (diff)
downloadgcc-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.opt4
-rw-r--r--gcc/opts.cc2
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 },