diff options
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/common.opt | 195 | ||||
-rw-r--r-- | gcc/opts.c | 247 | ||||
-rw-r--r-- | gcc/toplev.c | 152 | ||||
-rw-r--r-- | gcc/toplev.h | 6 |
5 files changed, 525 insertions, 85 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26f6b279c67..540c6b72814 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-06-22 Neil Booth <neil@daikokuya.co.uk> + + * common.opt: More -f switches. + * opts.c (common_handle_options): Handle them. + * toplev.c (time_report): Make extern. + (f_options): USe flag_dummy. + (decode_f_option): No need to use f_options now. + * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp, + flag_ssa_dce, time_report, flag_new_regalloc): Make extern. + 2003-06-22 Andreas Jaeger <aj@suse.de> * c-lex.c: Convert to ISO C90. diff --git a/gcc/common.opt b/gcc/common.opt index bf62b418f1d..331199ff7ed 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -139,18 +139,57 @@ Common Joined dumpbase Common Separate +fPIC +Common + +fPIE +Common + +falign-functions +Common + falign-functions= Common RejectNegative Joined UInteger +falign-jumps +Common + falign-jumps= Common RejectNegative Joined UInteger +falign-labels +Common + falign-labels= Common RejectNegative Joined UInteger +falign-loops +Common + falign-loops= Common RejectNegative Joined UInteger +fargument-alias +Common + +fargument-noalias +Common + +fargument-noalias-global +Common + +fasynchronous-unwind-tables +Common + +fbounds-check +Common + +fbranch-count-reg +Common + +fbranch-probabilities +Common + fbranch-target-load-optimize Common @@ -166,6 +205,12 @@ Common Joined RejectNegative fcaller-saves Common +fcommon +Common + +fcprop-registers +Common + fcrossjumping Common @@ -175,6 +220,9 @@ Common fcse-skip-blocks Common +fdata-sections +Common + fdefer-pop Common @@ -187,18 +235,27 @@ Common fdiagnostics-show-location= Common Joined RejectNegative +fdump-unnumbered +Common + feliminate-dwarf2-dups Common feliminate-unused-debug-types Common +fexceptions +Common + fexpensive-optimizations Common ffast-math Common +ffinite-math-only +Common + ffixed- Common Joined RejectNegative @@ -214,6 +271,9 @@ Common ffunction-cse Common +ffunction-sections +Common + fgcse Common @@ -223,33 +283,69 @@ Common fgcse-sm Common +fgnu-linker +Common + +fguess-branch-probability +Common + +fident +Common + fif-conversion Common fif-conversion2 Common +finhibit-size-directive +Common + finline Common finline-functions Common +finstrument-functions +Common + fkeep-inline-functions Common fkeep-static-consts Common +fleading-underscore +Common + floop-optimize Common +fmath-errno +Common + +fmem-report +Common + +fmerge-all-constants +Common + +fmerge-constants +Common + fmessage-length= Common RejectNegative Joined UInteger fmove-all-movables Common +fnew-ra +Common + +fnon-call-exceptions +Common + fold-unroll-loops Common @@ -259,9 +355,15 @@ Common fomit-frame-pointer Common +foptimize-register-move +Common + foptimize-sibling-calls Common +fpack-struct +Common + fpcc-struct-return Common @@ -271,9 +373,24 @@ Common fpeephole Common +fpeephole2 +Common + +fpic +Common + +fpie +Common + fprefetch-loop-arrays Common +fprofile +Common + +fprofile-arcs +Common + frandom-seed Common @@ -286,15 +403,45 @@ Common freg-struct-return Common +fregmove +Common + +frename-registers +Common + +freorder-blocks +Common + +freorder-functions +Common + frerun-cse-after-loop Common frerun-loop-opt Common +fsched-interblock +Common + +fsched-spec +Common + +fsched-spec-load +Common + +fsched-spec-load-dangerous +Common + fsched-verbose= Common RejectNegative Joined +fsched2-use-superblocks +Common + +fsched2-use-traces +Common + fschedule-insns Common @@ -304,6 +451,24 @@ Common fshared-data Common +fsignaling-nans +Common + +fsingle-precision-constant +Common + +fssa +Common + +fssa-ccp +Common + +fssa-dce +Common + +fstack-check +Common + fstack-limit Common @@ -316,18 +481,33 @@ Common RejectNegative Joined fstrength-reduce Common +fstrict-aliasing +Common + fsyntax-only Common +ftest-coverage +Common + fthread-jumps Common +ftime-report +Common + ftls-model= Common Joined RejectNegative ftracer Common +ftrapping-math +Common + +ftrapv +Common + funit-at-a-time Common @@ -337,12 +517,27 @@ Common funroll-all-loops Common +funsafe-math-optimizations +Common + funswitch-loops Common +funwind-tables +Common + +fverbose-asm +Common + +fwrapv +Common + fwritable-strings Common +fzero-initialized-in-bss +Common + g Common JoinedOrMissing diff --git a/gcc/opts.c b/gcc/opts.c index 22c518432ec..2ec9de5b6aa 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -516,22 +516,62 @@ common_handle_option (size_t scode, const char *arg, dump_base_name = arg; break; + case OPT_fPIC: + flag_pic = value + value; + break; + + case OPT_fPIE: + flag_pie = value + value; + break; + + case OPT_falign_functions: case OPT_falign_functions_: align_functions = value; break; + case OPT_falign_jumps: case OPT_falign_jumps_: align_jumps = value; break; + case OPT_falign_labels: case OPT_falign_labels_: align_labels = value; break; + case OPT_falign_loops: case OPT_falign_loops_: align_loops = value; break; + case OPT_fargument_alias: + flag_argument_noalias = !value; + break; + + case OPT_fargument_noalias: + flag_argument_noalias = value; + break; + + case OPT_fargument_noalias_global: + flag_argument_noalias = value + value; + break; + + case OPT_fasynchronous_unwind_tables: + flag_asynchronous_unwind_tables = value; + break; + + case OPT_fbounds_check: + flag_bounds_check = value; + break; + + case OPT_fbranch_count_reg: + flag_branch_on_count_reg = value; + break; + + case OPT_fbranch_probabilities: + flag_branch_probabilities = value; + break; + case OPT_fbranch_target_load_optimize: flag_branch_target_load_optimize = value; break; @@ -552,6 +592,14 @@ common_handle_option (size_t scode, const char *arg, flag_caller_saves = value; break; + case OPT_fcommon: + flag_no_common = !value; + break; + + case OPT_fcprop_registers: + flag_cprop_registers = value; + break; + case OPT_fcrossjumping: flag_crossjumping = value; break; @@ -564,6 +612,10 @@ common_handle_option (size_t scode, const char *arg, flag_cse_skip_blocks = value; break; + case OPT_fdata_sections: + flag_data_sections = value; + break; + case OPT_fdefer_pop: flag_defer_pop = value; break; @@ -586,6 +638,10 @@ common_handle_option (size_t scode, const char *arg, return 0; break; + case OPT_fdump_unnumbered: + flag_dump_unnumbered = value; + break; + case OPT_feliminate_dwarf2_dups: flag_eliminate_dwarf2_dups = value; break; @@ -594,6 +650,10 @@ common_handle_option (size_t scode, const char *arg, flag_eliminate_unused_debug_types = value; break; + case OPT_fexceptions: + flag_exceptions = value; + break; + case OPT_fexpensive_optimizations: flag_expensive_optimizations = value; break; @@ -602,6 +662,10 @@ common_handle_option (size_t scode, const char *arg, set_fast_math_flags (value); break; + case OPT_ffinite_math_only: + flag_finite_math_only = value; + break; + case OPT_ffixed_: fix_register (arg, 1, 1); break; @@ -622,6 +686,10 @@ common_handle_option (size_t scode, const char *arg, flag_force_mem = value; break; + case OPT_ffunction_sections: + flag_function_sections = value; + break; + case OPT_fgcse: flag_gcse = value; break; @@ -634,6 +702,18 @@ common_handle_option (size_t scode, const char *arg, flag_gcse_sm = value; break; + case OPT_fgnu_linker: + flag_gnu_linker = value; + break; + + case OPT_fguess_branch_probability: + flag_guess_branch_prob = value; + break; + + case OPT_fident: + flag_no_ident = !value; + break; + case OPT_fif_conversion: flag_if_conversion = value; break; @@ -642,6 +722,10 @@ common_handle_option (size_t scode, const char *arg, flag_if_conversion2 = value; break; + case OPT_finhibit_size_directive: + flag_inhibit_size_directive = value; + break; + case OPT_finline: flag_no_inline = !value; break; @@ -650,6 +734,10 @@ common_handle_option (size_t scode, const char *arg, flag_inline_functions = value; break; + case OPT_finstrument_functions: + flag_instrument_function_entry_exit = value; + break; + case OPT_fkeep_inline_functions: flag_keep_inline_functions =value; break; @@ -658,10 +746,30 @@ common_handle_option (size_t scode, const char *arg, flag_keep_static_consts = value; break; + case OPT_fleading_underscore: + flag_leading_underscore = value; + break; + case OPT_floop_optimize: flag_loop_optimize = value; break; + case OPT_fmath_errno: + flag_errno_math = value; + break; + + case OPT_fmem_report: + mem_report = value; + break; + + case OPT_fmerge_all_constants: + flag_merge_constants = value + value; + break; + + case OPT_fmerge_constants: + flag_merge_constants = value; + break; + case OPT_fmessage_length_: output_set_maximum_length (&global_dc->buffer, value); break; @@ -670,6 +778,14 @@ common_handle_option (size_t scode, const char *arg, flag_move_all_movables = value; break; + case OPT_fnew_ra: + flag_new_regalloc = value; + break; + + case OPT_fnon_call_exceptions: + flag_non_call_exceptions = value; + break; + case OPT_fold_unroll_all_loops: flag_old_unroll_all_loops = value; break; @@ -682,10 +798,18 @@ common_handle_option (size_t scode, const char *arg, flag_omit_frame_pointer = value; break; + case OPT_foptimize_register_move: + flag_regmove = value; + break; + case OPT_foptimize_sibling_calls: flag_optimize_sibling_calls = value; break; + case OPT_fpack_struct: + flag_pack_struct = value; + break; + case OPT_fpeel_loops: flag_peel_loops = value; break; @@ -698,10 +822,30 @@ common_handle_option (size_t scode, const char *arg, flag_no_peephole = !value; break; + case OPT_fpeephole2: + flag_peephole2 = value; + break; + + case OPT_fpic: + flag_pic = value; + break; + + case OPT_fpie: + flag_pie = value; + break; + case OPT_fprefetch_loop_arrays: flag_prefetch_loop_arrays = value; break; + case OPT_fprofile: + profile_flag = value; + break; + + case OPT_fprofile_arcs: + profile_arc_flag = value; + break; + case OPT_frandom_seed: /* The real switch is -fno-random-seed. */ if (value) @@ -721,6 +865,22 @@ common_handle_option (size_t scode, const char *arg, flag_pcc_struct_return = !value; break; + case OPT_fregmove: + flag_regmove = value; + break; + + case OPT_frename_registers: + flag_rename_registers = value; + break; + + case OPT_freorder_blocks: + flag_reorder_blocks = value; + break; + + case OPT_freorder_functions: + flag_reorder_functions = value; + break; + case OPT_frerun_cse_after_loop: flag_rerun_cse_after_loop = value; break; @@ -729,6 +889,22 @@ common_handle_option (size_t scode, const char *arg, flag_rerun_loop_opt = value; break; + case OPT_fsched_interblock: + flag_schedule_interblock= value; + break; + + case OPT_fsched_spec: + flag_schedule_speculative = value; + break; + + case OPT_fsched_spec_load: + flag_schedule_speculative_load = value; + break; + + case OPT_fsched_spec_load_dangerous: + flag_schedule_speculative_load_dangerous = value; + break; + case OPT_fsched_verbose_: #ifdef INSN_SCHEDULING fix_sched_param ("verbose", arg); @@ -737,6 +913,14 @@ common_handle_option (size_t scode, const char *arg, return 0; #endif + case OPT_fsched2_use_superblocks: + flag_sched2_use_superblocks = value; + break; + + case OPT_fsched2_use_traces: + flag_sched2_use_traces = value; + break; + case OPT_fschedule_insns: flag_schedule_insns = value; break; @@ -749,6 +933,30 @@ common_handle_option (size_t scode, const char *arg, flag_shared_data = value; break; + case OPT_fsignaling_nans: + flag_signaling_nans = value; + break; + + case OPT_fsingle_precision_constant: + flag_single_precision_constant = value; + break; + + case OPT_fssa: + flag_ssa = value; + break; + + case OPT_fssa_ccp: + flag_ssa_ccp = value; + break; + + case OPT_fssa_dce: + flag_ssa_dce = value; + break; + + case OPT_fstack_check: + flag_stack_check = value; + break; + case OPT_fstack_limit: /* The real switch is -fno-stack-limit. */ if (value) @@ -774,14 +982,25 @@ common_handle_option (size_t scode, const char *arg, flag_strength_reduce = value; break; + case OPT_fstrict_aliasing: + flag_strict_aliasing = value; + break; + case OPT_fsyntax_only: flag_syntax_only = value; break; + case OPT_ftest_coverage: + flag_test_coverage = value; + break; + case OPT_fthread_jumps: flag_thread_jumps = value; break; + case OPT_ftime_report: + time_report = value; + case OPT_ftls_model_: if (!strcmp (arg, "global-dynamic")) flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC; @@ -799,6 +1018,14 @@ common_handle_option (size_t scode, const char *arg, flag_tracer = value; break; + case OPT_ftrapping_math: + flag_trapping_math = value; + break; + + case OPT_ftrapv: + flag_trapv = value; + break; + case OPT_funit_at_a_time: flag_unit_at_a_time = value; break; @@ -811,14 +1038,34 @@ common_handle_option (size_t scode, const char *arg, flag_unroll_loops = value; break; + case OPT_funsafe_math_optimizations: + flag_unsafe_math_optimizations = value; + break; + case OPT_funswitch_loops: flag_unswitch_loops = value; break; + case OPT_funwind_tables: + flag_unwind_tables = value; + break; + + case OPT_fverbose_asm: + flag_verbose_asm = value; + break; + + case OPT_fwrapv: + flag_wrapv = value; + break; + case OPT_fwritable_strings: flag_writable_strings = value; break; + case OPT_fzero_initialized_in_bss: + flag_zero_initialized_in_bss = value; + break; + case OPT_g: decode_g_option (arg); break; diff --git a/gcc/toplev.c b/gcc/toplev.c index d612f97a495..d66ec1a31d1 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -450,7 +450,7 @@ int quiet_flag = 0; /* Print times taken by the various passes. -ftime-report. */ -static int time_report = 0; +int time_report = 0; /* Print memory still in use at end of compilation (which may have little to do with peak memory consumption). -fmem-report. */ @@ -1153,133 +1153,133 @@ static const lang_independent_options f_options[] = N_("Reschedule instructions before register allocation") }, {"schedule-insns2", &flag_dummy, 1, N_("Reschedule instructions after register allocation") }, - {"sched-interblock",&flag_schedule_interblock, 1, + {"sched-interblock",&flag_dummy, 1, N_("Enable scheduling across basic blocks") }, - {"sched-spec",&flag_schedule_speculative, 1, + {"sched-spec",&flag_dummy, 1, N_("Allow speculative motion of non-loads") }, - {"sched-spec-load",&flag_schedule_speculative_load, 1, + {"sched-spec-load",&flag_dummy, 1, N_("Allow speculative motion of some loads") }, - {"sched-spec-load-dangerous",&flag_schedule_speculative_load_dangerous, 1, + {"sched-spec-load-dangerous",&flag_dummy, 1, N_("Allow speculative motion of more loads") }, - {"sched2-use-superblocks", &flag_sched2_use_superblocks, 1, + {"sched2-use-superblocks", &flag_dummy, 1, N_("If scheduling post reload, do superblock scheduling") }, - {"sched2-use-traces", &flag_sched2_use_traces, 1, + {"sched2-use-traces", &flag_dummy, 1, N_("If scheduling post reload, do trace scheduling") }, - {"branch-count-reg",&flag_branch_on_count_reg, 1, + {"branch-count-reg",&flag_dummy, 1, N_("Replace add,compare,branch with branch on count reg") }, - {"pic", &flag_pic, 1, + {"pic", &flag_dummy, 1, N_("Generate position independent code, if possible") }, - {"PIC", &flag_pic, 2, ""}, - {"pie", &flag_pie, 1, + {"PIC", &flag_dummy, 2, ""}, + {"pie", &flag_dummy, 1, N_("Generate position independent code for executables, if possible") }, - {"PIE", &flag_pie, 2, ""}, - {"exceptions", &flag_exceptions, 1, + {"PIE", &flag_dummy, 2, ""}, + {"exceptions", &flag_dummy, 1, N_("Enable exception handling") }, - {"unwind-tables", &flag_unwind_tables, 1, + {"unwind-tables", &flag_dummy, 1, N_("Just generate unwind tables for exception handling") }, - {"asynchronous-unwind-tables", &flag_asynchronous_unwind_tables, 1, + {"asynchronous-unwind-tables", &flag_dummy, 1, N_("Generate unwind tables exact at each instruction boundary") }, - {"non-call-exceptions", &flag_non_call_exceptions, 1, + {"non-call-exceptions", &flag_dummy, 1, N_("Support synchronous non-call exceptions") }, - {"profile-arcs", &profile_arc_flag, 1, + {"profile-arcs", &flag_dummy, 1, N_("Insert arc based program profiling code") }, - {"test-coverage", &flag_test_coverage, 1, + {"test-coverage", &flag_dummy, 1, N_("Create data files needed by gcov") }, - {"branch-probabilities", &flag_branch_probabilities, 1, + {"branch-probabilities", &flag_dummy, 1, N_("Use profiling information for branch probabilities") }, - {"profile", &profile_flag, 1, + {"profile", &flag_dummy, 1, N_("Enable basic program profiling code") }, - {"reorder-blocks", &flag_reorder_blocks, 1, + {"reorder-blocks", &flag_dummy, 1, N_("Reorder basic blocks to improve code placement") }, - {"reorder-functions", &flag_reorder_functions, 1, + {"reorder-functions", &flag_dummy, 1, N_("Reorder functions to improve code placement") }, - {"rename-registers", &flag_rename_registers, 1, + {"rename-registers", &flag_dummy, 1, N_("Do the register renaming optimization pass") }, - {"cprop-registers", &flag_cprop_registers, 1, + {"cprop-registers", &flag_dummy, 1, N_("Do the register copy-propagation optimization pass") }, - {"common", &flag_no_common, 0, + {"common", &flag_dummy, 0, N_("Do not put uninitialized globals in the common section") }, - {"inhibit-size-directive", &flag_inhibit_size_directive, 1, + {"inhibit-size-directive", &flag_dummy, 1, N_("Do not generate .size directives") }, - {"function-sections", &flag_function_sections, 1, + {"function-sections", &flag_dummy, 1, N_("place each function into its own section") }, - {"data-sections", &flag_data_sections, 1, + {"data-sections", &flag_dummy, 1, N_("place data items into their own section") }, - {"verbose-asm", &flag_verbose_asm, 1, + {"verbose-asm", &flag_dummy, 1, N_("Add extra commentary to assembler output") }, - {"gnu-linker", &flag_gnu_linker, 1, + {"gnu-linker", &flag_dummy, 1, N_("Output GNU ld formatted global initializers") }, - {"regmove", &flag_regmove, 1, + {"regmove", &flag_dummy, 1, N_("Enables a register move optimization") }, - {"optimize-register-move", &flag_regmove, 1, + {"optimize-register-move", &flag_dummy, 1, N_("Do the full regmove optimization pass") }, - {"pack-struct", &flag_pack_struct, 1, + {"pack-struct", &flag_dummy, 1, N_("Pack structure members together without holes") }, - {"stack-check", &flag_stack_check, 1, + {"stack-check", &flag_dummy, 1, N_("Insert stack checking code into the program") }, - {"argument-alias", &flag_argument_noalias, 0, + {"argument-alias", &flag_dummy, 0, N_("Specify that arguments may alias each other & globals") }, - {"argument-noalias", &flag_argument_noalias, 1, + {"argument-noalias", &flag_dummy, 1, N_("Assume arguments may alias globals but not each other") }, - {"argument-noalias-global", &flag_argument_noalias, 2, + {"argument-noalias-global", &flag_dummy, 2, N_("Assume arguments do not alias each other or globals") }, - {"strict-aliasing", &flag_strict_aliasing, 1, + {"strict-aliasing", &flag_dummy, 1, N_("Assume strict aliasing rules apply") }, - {"align-loops", &align_loops, 0, + {"align-loops", &flag_dummy, 0, N_("Align the start of loops") }, - {"align-jumps", &align_jumps, 0, + {"align-jumps", &flag_dummy, 0, N_("Align labels which are only reached by jumping") }, - {"align-labels", &align_labels, 0, + {"align-labels", &flag_dummy, 0, N_("Align all labels") }, - {"align-functions", &align_functions, 0, + {"align-functions", &flag_dummy, 0, N_("Align the start of functions") }, - {"merge-constants", &flag_merge_constants, 1, + {"merge-constants", &flag_dummy, 1, N_("Attempt to merge identical constants across compilation units") }, - {"merge-all-constants", &flag_merge_constants, 2, + {"merge-all-constants", &flag_dummy, 2, N_("Attempt to merge identical constants and constant variables") }, - {"dump-unnumbered", &flag_dump_unnumbered, 1, + {"dump-unnumbered", &flag_dummy, 1, N_("Suppress output of instruction numbers and line number notes in debugging dumps") }, - {"instrument-functions", &flag_instrument_function_entry_exit, 1, + {"instrument-functions", &flag_dummy, 1, N_("Instrument function entry/exit with profiling calls") }, - {"zero-initialized-in-bss", &flag_zero_initialized_in_bss, 1, + {"zero-initialized-in-bss", &flag_dummy, 1, N_("Put zero initialized data in the bss section") }, - {"ssa", &flag_ssa, 1, + {"ssa", &flag_dummy, 1, N_("Enable SSA optimizations") }, - {"ssa-ccp", &flag_ssa_ccp, 1, + {"ssa-ccp", &flag_dummy, 1, N_("Enable SSA conditional constant propagation") }, - {"ssa-dce", &flag_ssa_dce, 1, + {"ssa-dce", &flag_dummy, 1, N_("Enable aggressive SSA dead code elimination") }, - {"leading-underscore", &flag_leading_underscore, 1, + {"leading-underscore", &flag_dummy, 1, N_("External symbols have a leading underscore") }, - {"ident", &flag_no_ident, 0, + {"ident", &flag_dummy, 0, N_("Process #ident directives") }, - { "peephole2", &flag_peephole2, 1, + { "peephole2", &flag_dummy, 1, N_("Enables an rtl peephole pass run before sched2") }, - {"finite-math-only", &flag_finite_math_only, 1, + {"finite-math-only", &flag_dummy, 1, N_("Assume no NaNs or +-Infs are generated") }, - { "guess-branch-probability", &flag_guess_branch_prob, 1, + { "guess-branch-probability", &flag_dummy, 1, N_("Enables guessing of branch probabilities") }, - {"math-errno", &flag_errno_math, 1, + {"math-errno", &flag_dummy, 1, N_("Set errno after built-in math functions") }, - {"trapping-math", &flag_trapping_math, 1, + {"trapping-math", &flag_dummy, 1, N_("Floating-point operations can trap") }, - {"unsafe-math-optimizations", &flag_unsafe_math_optimizations, 1, + {"unsafe-math-optimizations", &flag_dummy, 1, N_("Allow math optimizations that may violate IEEE or ANSI standards") }, - {"signaling-nans", &flag_signaling_nans, 1, + {"signaling-nans", &flag_dummy, 1, N_("Disable optimizations observable by IEEE signaling NaNs") }, - {"bounds-check", &flag_bounds_check, 1, + {"bounds-check", &flag_dummy, 1, N_("Generate code to check bounds before indexing arrays") }, - {"single-precision-constant", &flag_single_precision_constant, 1, + {"single-precision-constant", &flag_dummy, 1, N_("Convert floating point constant to single precision constant") }, - {"time-report", &time_report, 1, + {"time-report", &flag_dummy, 1, N_("Report time taken by each compiler pass at end of run") }, - {"mem-report", &mem_report, 1, + {"mem-report", &flag_dummy, 1, N_("Report on permanent memory allocation at end of run") }, - { "trapv", &flag_trapv, 1, + { "trapv", &flag_dummy, 1, N_("Trap for signed overflow in addition / subtraction / multiplication") }, - { "wrapv", &flag_wrapv, 1, + { "wrapv", &flag_dummy, 1, N_("Assume signed arithmetic overflow wraps around") }, - { "new-ra", &flag_new_regalloc, 1, + { "new-ra", &flag_dummy, 1, N_("Use graph coloring register allocation.") }, }; @@ -4156,25 +4156,7 @@ decode_d_option (const char *arg) static int decode_f_option (const char *arg) { - int j; - const char *option_value = NULL; - - /* Search for the option in the table of binary f options. */ - for (j = ARRAY_SIZE (f_options); j--;) - { - if (!strcmp (arg, f_options[j].string)) - { - *f_options[j].variable = f_options[j].on_value; - return 1; - } - - if (arg[0] == 'n' && arg[1] == 'o' && arg[2] == '-' - && ! strcmp (arg + 3, f_options[j].string)) - { - *f_options[j].variable = ! f_options[j].on_value; - return 1; - } - } + const char *option_value; if ((option_value = skip_leading_substring (arg, "inline-limit-")) || (option_value = skip_leading_substring (arg, "inline-limit="))) diff --git a/gcc/toplev.h b/gcc/toplev.h index 45709b89c0f..323cde99fda 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -118,6 +118,12 @@ extern int flag_tracer; extern int flag_unroll_loops; extern int flag_unroll_all_loops; extern int flag_unswitch_loops; +extern int flag_cprop_registers; +extern int flag_ssa; +extern int flag_ssa_ccp; +extern int flag_ssa_dce; +extern int time_report; +extern int flag_new_regalloc; extern void display_help (void); extern void display_target_options (void); |