diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-21 20:28:18 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-21 20:28:18 +0000 |
commit | 1e06725af950e15306cca1db67d1939ad9d99fa4 (patch) | |
tree | 1d774210e2afbbd285aeb43942e8429dc6505a27 /gcc | |
parent | e952ba9f8a48cf047811ae70388f155f36d6554d (diff) | |
download | gcc-1e06725af950e15306cca1db67d1939ad9d99fa4.tar.gz |
* Makefile.in: Update.
* common.opt: New switches.
* opts.c: Include diagnostic.h.
(common_handle_option): Handle new switches.
* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_delete_null_pointer_checks,
flag_rerun_cse_after_loop): Make extern.
(flag_dummy): New.
(f_options): Update to use flag_dummy for moved options.
(decode_f_option): Some switches moved to opts.c.
* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_delete_null_pointer_checks,
flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
flag_tracer, flag_thread_jumps, flag_unroll_loops,
flag_unroll_all_loops, flag_unswitch_loops): New.
f:
* lang.opt: Add -fpreprocessed.
* top.c (ffe_handle_option): Handle it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68315 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 18 | ||||
-rw-r--r-- | gcc/Makefile.in | 3 | ||||
-rw-r--r-- | gcc/common.opt | 171 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/f/lang.opt | 3 | ||||
-rw-r--r-- | gcc/f/top.c | 1 | ||||
-rw-r--r-- | gcc/opts.c | 245 | ||||
-rw-r--r-- | gcc/toplev.c | 147 | ||||
-rw-r--r-- | gcc/toplev.h | 15 |
9 files changed, 520 insertions, 88 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3233db4075e..99b215d169c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,21 @@ +2003-06-21 Neil Booth <neil@daikokuya.co.uk> + + * Makefile.in: Update. + * common.opt: New switches. + * opts.c: Include diagnostic.h. + (common_handle_option): Handle new switches. + * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion, + flag_if_conversion2, flag_delete_null_pointer_checks, + flag_rerun_cse_after_loop): Make extern. + (flag_dummy): New. + (f_options): Update to use flag_dummy for moved options. + (decode_f_option): Some switches moved to opts.c. + * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion, + flag_if_conversion2, flag_delete_null_pointer_checks, + flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops, + flag_tracer, flag_thread_jumps, flag_unroll_loops, + flag_unroll_all_loops, flag_unswitch_loops): New. + Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz> * i386.c (ix86_va_arg): Fix allocation of temporary slot. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index ccef73b3956..b985ee3c2cb 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1482,7 +1482,8 @@ diagnostic.o : diagnostic.c diagnostic.h real.h diagnostic.def \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(TM_P_H) flags.h $(GGC_H) \ input.h toplev.h intl.h langhooks.h $(LANGHOOKS_DEF_H) opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_H) $(TM_H) $(LANGHOOKS_H) $(GGC_H) $(RTL_H) output.h + coretypes.h $(TREE_H) $(TM_H) $(LANGHOOKS_H) $(GGC_H) $(RTL_H) \ + output.h diagnostic.h toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \ function.h flags.h xcoffout.h input.h $(INSN_ATTR_H) output.h diagnostic.h \ debug.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h \ diff --git a/gcc/common.opt b/gcc/common.opt index d475cad1c0a..bf62b418f1d 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -151,27 +151,198 @@ Common RejectNegative Joined UInteger falign-loops= Common RejectNegative Joined UInteger +fbranch-target-load-optimize +Common + +fbranch-target-load-optimize2 +Common + fcall-saved- Common Joined RejectNegative fcall-used- Common Joined RejectNegative +fcaller-saves +Common + +fcrossjumping +Common + +fcse-follow-jumps +Common + +fcse-skip-blocks +Common + +fdefer-pop +Common + +fdelayed-branch +Common + +fdelete-null-pointer-checks +Common + +fdiagnostics-show-location= +Common Joined RejectNegative + +feliminate-dwarf2-dups +Common + +feliminate-unused-debug-types +Common + +fexpensive-optimizations +Common + ffast-math Common ffixed- Common Joined RejectNegative +ffloat-store +Common + +fforce-addr +Common + +fforce-mem +Common + +ffunction-cse +Common + +fgcse +Common + +fgcse-lm +Common + +fgcse-sm +Common + +fif-conversion +Common + +fif-conversion2 +Common + +finline +Common + +finline-functions +Common + +fkeep-inline-functions +Common + +fkeep-static-consts +Common + +floop-optimize +Common + +fmessage-length= +Common RejectNegative Joined UInteger + +fmove-all-movables +Common + +fold-unroll-loops +Common + +fold-unroll-all-loops +Common + +fomit-frame-pointer +Common + +foptimize-sibling-calls +Common + +fpcc-struct-return +Common + +fpeel-loops +Common + +fpeephole +Common + +fprefetch-loop-arrays +Common + +frandom-seed +Common + +frandom-seed= +Common Joined RejectNegative + +freduce-all-givs +Common + +freg-struct-return +Common + +frerun-cse-after-loop +Common + +frerun-loop-opt +Common + +fsched-verbose= +Common RejectNegative Joined + +fschedule-insns +Common + +fschedule-insns2 +Common + +fshared-data +Common + +fstack-limit +Common + fstack-limit-register= Common RejectNegative Joined fstack-limit-symbol= Common RejectNegative Joined +fstrength-reduce +Common + +fsyntax-only +Common + +fthread-jumps +Common + ftls-model= Common Joined RejectNegative +ftracer +Common + +funit-at-a-time +Common + +funroll-loops +Common + +funroll-all-loops +Common + +funswitch-loops +Common + +fwritable-strings +Common + g Common JoinedOrMissing diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 916e738076a..6d98640414d 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,8 @@ +Sat Jun 21 21:29:38 2003 Neil Booth <neil@daikokuya.co.uk> + + * lang.opt: Add -fpreprocessed. + * top.c (ffe_handle_option): Handle it. + Fri Jun 20 10:00:31 2003 Nathan Sidwell <nathan@codesourcery.com> * com.c (finish_function): Adjust expand_function_end call. diff --git a/gcc/f/lang.opt b/gcc/f/lang.opt index c6e453e9c57..d53a0f50039 100644 --- a/gcc/f/lang.opt +++ b/gcc/f/lang.opt @@ -214,6 +214,9 @@ F77 fpedantic F77 +fpreprocessed +F77 + fsecond-underscore F77 diff --git a/gcc/f/top.c b/gcc/f/top.c index 89d3e96e310..2c5317cfc01 100644 --- a/gcc/f/top.c +++ b/gcc/f/top.c @@ -573,6 +573,7 @@ ffe_handle_option (size_t scode, const char *arg, int value) case OPT_Wcomments: case OPT_Wimport: case OPT_Wtrigraphs: + case OPT_fpreprocessed: /* These are for cpp. */ break; diff --git a/gcc/opts.c b/gcc/opts.c index c622fd9b678..1a1d7ed3ce3 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -33,6 +33,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "flags.h" #include "toplev.h" #include "params.h" +#include "diagnostic.h" /* Value of the -G xx switch, and whether it was passed or not. */ unsigned HOST_WIDE_INT g_switch_value; @@ -537,6 +538,14 @@ common_handle_option (size_t scode, const char *arg, align_loops = value; break; + case OPT_fbranch_target_load_optimize: + flag_branch_target_load_optimize = value; + break; + + case OPT_fbranch_target_load_optimize2: + flag_branch_target_load_optimize2 = value; + break; + case OPT_fcall_used_: fix_register (arg, 0, 1); break; @@ -545,6 +554,56 @@ common_handle_option (size_t scode, const char *arg, fix_register (arg, 0, 0); break; + case OPT_fcaller_saves: + flag_caller_saves = value; + break; + + case OPT_fcrossjumping: + flag_crossjumping = value; + break; + + case OPT_fcse_follow_jumps: + flag_cse_follow_jumps = value; + break; + + case OPT_fcse_skip_blocks: + flag_cse_skip_blocks = value; + break; + + case OPT_fdefer_pop: + flag_defer_pop = value; + break; + + case OPT_fdelayed_branch: + flag_delayed_branch = value; + break; + + case OPT_fdelete_null_pointer_checks: + flag_delete_null_pointer_checks = value; + break; + + case OPT_fdiagnostics_show_location_: + if (!strcmp (arg, "once")) + diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE; + else if (!strcmp (arg, "every-line")) + diagnostic_prefixing_rule (global_dc) + = DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE; + else + return 0; + break; + + case OPT_feliminate_dwarf2_dups: + flag_eliminate_dwarf2_dups = value; + break; + + case OPT_feliminate_unused_debug_types: + flag_eliminate_unused_debug_types = value; + break; + + case OPT_fexpensive_optimizations: + flag_expensive_optimizations = value; + break; + case OPT_ffast_math: set_fast_math_flags (value); break; @@ -553,6 +612,156 @@ common_handle_option (size_t scode, const char *arg, fix_register (arg, 1, 1); break; + case OPT_ffunction_cse: + flag_no_function_cse = !value; + break; + + case OPT_ffloat_store: + flag_float_store = value; + break; + + case OPT_fforce_addr: + flag_force_addr = value; + break; + + case OPT_fforce_mem: + flag_force_mem = value; + break; + + case OPT_fgcse: + flag_gcse = value; + break; + + case OPT_fgcse_lm: + flag_gcse_lm = value; + break; + + case OPT_fgcse_sm: + flag_gcse_sm = value; + break; + + case OPT_fif_conversion: + flag_if_conversion = value; + break; + + case OPT_fif_conversion2: + flag_if_conversion2 = value; + break; + + case OPT_finline: + flag_no_inline = !value; + break; + + case OPT_finline_functions: + flag_inline_functions = value; + break; + + case OPT_fkeep_inline_functions: + flag_keep_inline_functions =value; + break; + + case OPT_fkeep_static_consts: + flag_keep_static_consts = value; + break; + + case OPT_floop_optimize: + flag_loop_optimize = value; + break; + + case OPT_fmessage_length_: + output_set_maximum_length (&global_dc->buffer, value); + break; + + case OPT_fmove_all_movables: + flag_move_all_movables = value; + break; + + case OPT_fold_unroll_all_loops: + flag_old_unroll_all_loops = value; + break; + + case OPT_fold_unroll_loops: + flag_old_unroll_loops = value; + break; + + case OPT_fomit_frame_pointer: + flag_omit_frame_pointer = value; + break; + + case OPT_foptimize_sibling_calls: + flag_optimize_sibling_calls = value; + break; + + case OPT_fpeel_loops: + flag_peel_loops = value; + break; + + case OPT_fpcc_struct_return: + flag_pcc_struct_return = value; + break; + + case OPT_fpeephole: + flag_no_peephole = !value; + break; + + case OPT_fprefetch_loop_arrays: + flag_prefetch_loop_arrays = value; + break; + + case OPT_frandom_seed: + /* The real switch is -fno-random-seed. */ + if (value) + return 0; + flag_random_seed = NULL; + break; + + case OPT_frandom_seed_: + flag_random_seed = arg; + break; + + case OPT_freduce_all_givs: + flag_reduce_all_givs = value; + break; + + case OPT_freg_struct_return: + flag_pcc_struct_return = !value; + break; + + case OPT_frerun_cse_after_loop: + flag_rerun_cse_after_loop = value; + break; + + case OPT_frerun_loop_opt: + flag_rerun_loop_opt = value; + break; + + case OPT_fsched_verbose_: +#ifdef INSN_SCHEDULING + fix_sched_param ("verbose", arg); + break; +#else + return 0; +#endif + + case OPT_fschedule_insns: + flag_schedule_insns = value; + break; + + case OPT_fschedule_insns2: + flag_schedule_insns_after_reload = value; + break; + + case OPT_fshared_data: + flag_shared_data = value; + break; + + case OPT_fstack_limit: + /* The real switch is -fno-stack-limit. */ + if (value) + return 0; + stack_limit_rtx = NULL_RTX; + break; + case OPT_fstack_limit_register_: { int reg = decode_reg_name (arg); @@ -567,6 +776,18 @@ common_handle_option (size_t scode, const char *arg, stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (arg)); break; + case OPT_fstrength_reduce: + flag_strength_reduce = value; + break; + + case OPT_fsyntax_only: + flag_syntax_only = value; + break; + + case OPT_fthread_jumps: + flag_thread_jumps = value; + break; + case OPT_ftls_model_: if (!strcmp (arg, "global-dynamic")) flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC; @@ -580,6 +801,30 @@ common_handle_option (size_t scode, const char *arg, warning ("unknown tls-model \"%s\"", arg); break; + case OPT_ftracer: + flag_tracer = value; + break; + + case OPT_funit_at_a_time: + flag_unit_at_a_time = value; + break; + + case OPT_funroll_all_loops: + flag_unroll_all_loops = value; + break; + + case OPT_funroll_loops: + flag_unroll_loops = value; + break; + + case OPT_funswitch_loops: + flag_unswitch_loops = value; + break; + + case OPT_fwritable_strings: + flag_writable_strings = value; + break; + case OPT_g: decode_g_option (arg); break; diff --git a/gcc/toplev.c b/gcc/toplev.c index 47845bd7ab1..d612f97a495 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -654,24 +654,24 @@ int flag_syntax_only = 0; /* Nonzero means perform loop optimizer. */ -static int flag_loop_optimize; +int flag_loop_optimize; /* Nonzero means perform crossjumping. */ -static int flag_crossjumping; +int flag_crossjumping; /* Nonzero means perform if conversion. */ -static int flag_if_conversion; +int flag_if_conversion; /* Nonzero means perform if conversion after reload. */ -static int flag_if_conversion2; +int flag_if_conversion2; /* Nonzero means to use global dataflow analysis to eliminate useless null pointer tests. */ -static int flag_delete_null_pointer_checks; +int flag_delete_null_pointer_checks; /* Nonzero means perform global CSE. */ @@ -702,7 +702,7 @@ int flag_branch_target_load_optimize2 = 0; /* Nonzero means to rerun cse after loop optimization. This increases compilation time about 20% and picks up a few more common expressions. */ -static int flag_rerun_cse_after_loop; +int flag_rerun_cse_after_loop; /* Nonzero means to run loop optimizations twice. */ @@ -1040,6 +1040,9 @@ static const param_info lang_independent_params[] = { { NULL, 0, NULL } }; +/* Used for the f_options array temporarily. */ +static int flag_dummy; + /* Table of language-independent -f options. STRING is the option name. VARIABLE is the address of the variable. ON_VALUE is the value to store in VARIABLE @@ -1048,107 +1051,107 @@ static const param_info lang_independent_params[] = { static const lang_independent_options f_options[] = { - {"eliminate-dwarf2-dups", &flag_eliminate_dwarf2_dups, 1, + {"eliminate-dwarf2-dups", &flag_dummy, 1, N_("Perform DWARF2 duplicate elimination") }, - {"eliminate-unused-debug-types", &flag_eliminate_unused_debug_types, 1, + {"eliminate-unused-debug-types", &flag_dummy, 1, N_("Perform unused type elimination in debug info") }, - {"float-store", &flag_float_store, 1, + {"float-store", &flag_dummy, 1, N_("Do not store floats in registers") }, - {"defer-pop", &flag_defer_pop, 1, + {"defer-pop", &flag_dummy, 1, N_("Defer popping functions args from stack until later") }, - {"omit-frame-pointer", &flag_omit_frame_pointer, 1, + {"omit-frame-pointer", &flag_dummy, 1, N_("When possible do not generate stack frames") }, - {"optimize-sibling-calls", &flag_optimize_sibling_calls, 1, + {"optimize-sibling-calls", &flag_dummy, 1, N_("Optimize sibling and tail recursive calls") }, - {"tracer", &flag_tracer, 1, + {"tracer", &flag_dummy, 1, N_("Perform superblock formation via tail duplication") }, - {"unit-at-a-time", &flag_unit_at_a_time, 1, + {"unit-at-a-time", &flag_dummy, 1, N_("Compile whole compilation unit at a time") }, - {"cse-follow-jumps", &flag_cse_follow_jumps, 1, + {"cse-follow-jumps", &flag_dummy, 1, N_("When running CSE, follow jumps to their targets") }, - {"cse-skip-blocks", &flag_cse_skip_blocks, 1, + {"cse-skip-blocks", &flag_dummy, 1, N_("When running CSE, follow conditional jumps") }, - {"expensive-optimizations", &flag_expensive_optimizations, 1, + {"expensive-optimizations", &flag_dummy, 1, N_("Perform a number of minor, expensive optimizations") }, - {"thread-jumps", &flag_thread_jumps, 1, + {"thread-jumps", &flag_dummy, 1, N_("Perform jump threading optimizations") }, - {"strength-reduce", &flag_strength_reduce, 1, + {"strength-reduce", &flag_dummy, 1, N_("Perform strength reduction optimizations") }, - {"unroll-loops", &flag_unroll_loops, 1, + {"unroll-loops", &flag_dummy, 1, N_("Perform loop unrolling when iteration count is known") }, - {"unroll-all-loops", &flag_unroll_all_loops, 1, + {"unroll-all-loops", &flag_dummy, 1, N_("Perform loop unrolling for all loops") }, - {"old-unroll-loops", &flag_old_unroll_loops, 1, + {"old-unroll-loops", &flag_dummy, 1, N_("Perform loop unrolling when iteration count is known") }, - {"old-unroll-all-loops", &flag_old_unroll_all_loops, 1, + {"old-unroll-all-loops", &flag_dummy, 1, N_("Perform loop unrolling for all loops") }, - {"peel-loops", &flag_peel_loops, 1, + {"peel-loops", &flag_dummy, 1, N_("Perform loop peeling") }, - {"unswitch-loops", &flag_unswitch_loops, 1, + {"unswitch-loops", &flag_dummy, 1, N_("Perform loop unswitching") }, - {"prefetch-loop-arrays", &flag_prefetch_loop_arrays, 1, + {"prefetch-loop-arrays", &flag_dummy, 1, N_("Generate prefetch instructions, if available, for arrays in loops") }, - {"move-all-movables", &flag_move_all_movables, 1, + {"move-all-movables", &flag_dummy, 1, N_("Force all loop invariant computations out of loops") }, - {"reduce-all-givs", &flag_reduce_all_givs, 1, + {"reduce-all-givs", &flag_dummy, 1, N_("Strength reduce all loop general induction variables") }, - {"writable-strings", &flag_writable_strings, 1, + {"writable-strings", &flag_dummy, 1, N_("Store strings in writable data section") }, - {"peephole", &flag_no_peephole, 0, + {"peephole", &flag_dummy, 0, N_("Enable machine specific peephole optimizations") }, - {"force-mem", &flag_force_mem, 1, + {"force-mem", &flag_dummy, 1, N_("Copy memory operands into registers before using") }, - {"force-addr", &flag_force_addr, 1, + {"force-addr", &flag_dummy, 1, N_("Copy memory address constants into regs before using") }, - {"function-cse", &flag_no_function_cse, 0, + {"function-cse", &flag_dummy, 0, N_("Allow function addresses to be held in registers") }, - {"inline-functions", &flag_inline_functions, 1, + {"inline-functions", &flag_dummy, 1, N_("Integrate simple functions into their callers") }, - {"keep-inline-functions", &flag_keep_inline_functions, 1, + {"keep-inline-functions", &flag_dummy, 1, N_("Generate code for funcs even if they are fully inlined") }, - {"inline", &flag_no_inline, 0, + {"inline", &flag_dummy, 0, N_("Pay attention to the 'inline' keyword") }, - {"keep-static-consts", &flag_keep_static_consts, 1, + {"keep-static-consts", &flag_dummy, 1, N_("Emit static const variables even if they are not used") }, - {"syntax-only", &flag_syntax_only, 1, + {"syntax-only", &flag_dummy, 1, N_("Check for syntax errors, then stop") }, - {"shared-data", &flag_shared_data, 1, + {"shared-data", &flag_dummy, 1, N_("Mark data as shared rather than private") }, - {"caller-saves", &flag_caller_saves, 1, + {"caller-saves", &flag_dummy, 1, N_("Enable saving registers around function calls") }, - {"pcc-struct-return", &flag_pcc_struct_return, 1, + {"pcc-struct-return", &flag_dummy, 1, N_("Return 'short' aggregates in memory, not registers") }, - {"reg-struct-return", &flag_pcc_struct_return, 0, + {"reg-struct-return", &flag_dummy, 0, N_("Return 'short' aggregates in registers") }, - {"delayed-branch", &flag_delayed_branch, 1, + {"delayed-branch", &flag_dummy, 1, N_("Attempt to fill delay slots of branch instructions") }, - {"gcse", &flag_gcse, 1, + {"gcse", &flag_dummy, 1, N_("Perform the global common subexpression elimination") }, - {"gcse-lm", &flag_gcse_lm, 1, + {"gcse-lm", &flag_dummy, 1, N_("Perform enhanced load motion during global subexpression elimination") }, - {"gcse-sm", &flag_gcse_sm, 1, + {"gcse-sm", &flag_dummy, 1, N_("Perform store motion after global subexpression elimination") }, - {"branch-target-load-optimize", &flag_branch_target_load_optimize, 1, + {"branch-target-load-optimize", &flag_dummy, 1, N_("Perform branch target load optimization before prologue / epilogue threading") }, - {"branch-target-load-optimize2", &flag_branch_target_load_optimize2, 1, + {"branch-target-load-optimize2", &flag_dummy, 1, N_("Perform branch target load optimization after prologue / epilogue threading") }, - {"loop-optimize", &flag_loop_optimize, 1, + {"loop-optimize", &flag_dummy, 1, N_("Perform the loop optimizations") }, - {"crossjumping", &flag_crossjumping, 1, + {"crossjumping", &flag_dummy, 1, N_("Perform cross-jumping optimization") }, - {"if-conversion", &flag_if_conversion, 1, + {"if-conversion", &flag_dummy, 1, N_("Perform conversion of conditional jumps to branchless equivalents") }, - {"if-conversion2", &flag_if_conversion2, 1, + {"if-conversion2", &flag_dummy, 1, N_("Perform conversion of conditional jumps to conditional execution") }, - {"rerun-cse-after-loop", &flag_rerun_cse_after_loop, 1, + {"rerun-cse-after-loop", &flag_dummy, 1, N_("Run CSE pass after loop optimizations") }, - {"rerun-loop-opt", &flag_rerun_loop_opt, 1, + {"rerun-loop-opt", &flag_dummy, 1, N_("Run the loop optimizer twice") }, - {"delete-null-pointer-checks", &flag_delete_null_pointer_checks, 1, + {"delete-null-pointer-checks", &flag_dummy, 1, N_("Delete useless null pointer checks") }, - {"schedule-insns", &flag_schedule_insns, 1, + {"schedule-insns", &flag_dummy, 1, N_("Reschedule instructions before register allocation") }, - {"schedule-insns2", &flag_schedule_insns_after_reload, 1, + {"schedule-insns2", &flag_dummy, 1, N_("Reschedule instructions after register allocation") }, {"sched-interblock",&flag_schedule_interblock, 1, N_("Enable scheduling across basic blocks") }, @@ -4191,36 +4194,6 @@ decode_f_option (const char *arg) set_param_value ("min-inline-insns", 10); } } -#ifdef INSN_SCHEDULING - else if ((option_value = skip_leading_substring (arg, "sched-verbose="))) - fix_sched_param ("verbose", option_value); -#endif - else if ((option_value - = skip_leading_substring (arg, "message-length="))) - output_set_maximum_length - (&global_dc->buffer, read_integral_parameter - (option_value, arg - 2, diagnostic_line_cutoff (global_dc))); - else if ((option_value - = skip_leading_substring (arg, "diagnostics-show-location="))) - { - if (!strcmp (option_value, "once")) - diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE; - else if (!strcmp (option_value, "every-line")) - diagnostic_prefixing_rule (global_dc) - = DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE; - else - error ("unrecognized option `%s'", arg - 2); - } - else if (!strcmp (arg, "no-stack-limit")) - stack_limit_rtx = NULL_RTX; - else if ((option_value = skip_leading_substring (arg, "random-seed="))) - flag_random_seed = option_value; - else if (!strcmp (arg, "no-random-seed")) - flag_random_seed = NULL; - else if (!strcmp (arg, "preprocessed")) - /* Recognize this switch but do nothing. This prevents warnings - about an unrecognized switch if cpplib has not been linked in. */ - ; else return 0; diff --git a/gcc/toplev.h b/gcc/toplev.h index 10fa181eea6..45709b89c0f 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -104,6 +104,21 @@ extern bool version_flag; extern int target_flags_explicit; +/* See toplev.c. */ +extern int flag_loop_optimize; +extern int flag_crossjumping; +extern int flag_if_conversion; +extern int flag_if_conversion2; +extern int flag_delete_null_pointer_checks; +extern int flag_keep_static_consts; +extern int flag_peel_loops; +extern int flag_rerun_cse_after_loop; +extern int flag_thread_jumps; +extern int flag_tracer; +extern int flag_unroll_loops; +extern int flag_unroll_all_loops; +extern int flag_unswitch_loops; + extern void display_help (void); extern void display_target_options (void); extern void print_version (FILE *, const char *); |