#include "system.h"
#include "intl.h"
#include "coretypes.h"
-#include "tm.h" /* Needed by rtl.h and used for DWARF2_DEBUGGING_INFO
- and DBX_DEBUGGING_INFO. */
+#include "tm.h" /* Needed by rtl.h and used for STACK_CHECK_BUILTIN,
+ STACK_CHECK_STATIC_BUILTIN, DEFAULT_GDB_EXTENSIONS,
+ DWARF2_DEBUGGING_INFO and DBX_DEBUGGING_INFO. */
#include "rtl.h" /* Needed by insn-attr.h. */
#include "opts.h"
#include "options.h"
{ OPT_LEVELS_1_PLUS, OPT_ftree_sink, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_ftree_ch, NULL, 1 },
{ OPT_LEVELS_1_PLUS, OPT_fcombine_stack_adjustments, NULL, 1 },
+ { OPT_LEVELS_1_PLUS, OPT_fcompare_elim, NULL, 1 },
/* -O2 optimizations. */
{ OPT_LEVELS_2_PLUS, OPT_finline_small_functions, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_ftree_pre, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_ftree_switch_conversion, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_fipa_cp, NULL, 1 },
+ { OPT_LEVELS_2_PLUS, OPT_fdevirtualize, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_fipa_sra, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_falign_loops, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_falign_jumps, NULL, 1 },
opts->x_flag_pic = opts->x_flag_pie;
if (opts->x_flag_pic && !opts->x_flag_pie)
opts->x_flag_shlib = 1;
- opts->x_flag_opts_finished = false;
+ opts->x_flag_opts_finished = true;
}
if (opts->x_optimize == 0)
opts->x_flag_reorder_blocks = 1;
}
+ if (opts->x_flag_reorder_blocks_and_partition
+ && !opts_set->x_flag_reorder_functions)
+ opts->x_flag_reorder_functions = 1;
+
/* Pipelining of outer loops is only possible when general pipelining
capabilities are requested. */
if (!opts->x_flag_sel_sched_pipelining)
opts->x_flag_value_profile_transformations = value;
if (!opts_set->x_flag_inline_functions)
opts->x_flag_inline_functions = value;
+ /* FIXME: Instrumentation we insert makes ipa-reference bitmaps
+ quadratic. Disable the pass until better memory representation
+ is done. */
+ if (!opts_set->x_flag_ipa_reference && in_lto_p)
+ opts->x_flag_ipa_reference = false;
break;
case OPT_fshow_column:
break;
case OPT_flto:
- opts->x_flag_lto = "";
+ opts->x_flag_lto = value ? "" : NULL;
break;
case OPT_w: