aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
AgeCommit message (Collapse)AuthorFilesLines
2010-09-02opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling.Andi Kleen1-1/+5
2010-09-02 Andi Kleen <ak@linux.intel.com> * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling. From-SVN: r163759
2010-08-31common.opt (fwhopr=): Update for -fwhopr=jobserverAndi Kleen1-1/+1
* common.opt (fwhopr=): Update for -fwhopr=jobserver * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver. * lto-wrapper.c (run_gcc): Add jobserver mode. * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric argument. From-SVN: r163680
2010-08-30opts.h (CL_ERR_NEGATIVE): Define.Joseph Myers1-1/+2
* opts.h (CL_ERR_NEGATIVE): Define. * opts.c (unknown_option_callback): Don't postpone warnings for options marked with CL_ERR_NEGATIVE. * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error for negative versions of CL_REJECT_NEGATIVE options. testsuite: * gcc.dg/opts-1.c: Expect errors, not warnings. From-SVN: r163637
2010-08-20vec.h (FOR_EACH_VEC_ELT): Define.Nathan Froyd1-15/+7
gcc/ * vec.h (FOR_EACH_VEC_ELT): Define. * c-decl.c: Use it. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * config/bfin/bfin.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * dominance.c: Likewise. * dse.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * ggc-common.c: Likewise. * gimplify.c: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * implicit-zee.c: Likewise. * ipa-prop.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * lambda-code.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-opts.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-symtab.c: Likewise. * matrix-reorg.c: Likewise. * opts.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * stor-layout.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-data-ref.c: Likewise. * tree-emutls.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. gcc/ada/ * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. gcc/c-family/ * c-common.c: Use FOR_EACH_VEC_ELT. * c-gimplify.c: Likewise. * c-pragma.c: Likewise. gcc/cp/ * call.c: Use FOR_EACH_VEC_ELT. * class.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * error.c: Likewise. * except.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * repo.c: Likewise. * semantics.c: Likewise. * typeck2.c: Likewise. gcc/fortran/ * trans-openmp.c: Use FOR_EACH_VEC_ELT. gcc/java/ * class.c: Use FOR_EACH_VEC_ELT. * expr.c: Likewise. * jcf-parse.c: Likewise. * resource.c: Likewise. gcc/lto/ * lto.c: Use FOR_EACH_VEC_ELT. From-SVN: r163401
2010-08-16common.opt: Add driver options.Joseph Myers1-9/+28
* common.opt: Add driver options. (auxbase, auxbase-strip, quiet, version): Mark RejectDriver. * doc/options.texi (Driver, RejectDriver): Document. * gcc.c (pass_exit_codes, print_search_dirs, print_file_name, print_prog_name, print_multi_directory, print_sysroot, print_multi_os_directory, print_multi_lib, print_sysroot_headers_suffix, report_times, combine_flag, use_pipes, wrapper_string): Remove. (save_switch, driver_unknown_option_callback, driver_wrong_lang_callback, driver_post_handling_callback, driver_handle_option): New. (spec_lang, last_language_n_infiles): Make file-scope static instead of local to process_command. (process_command): Use decode_cmdline_options_to_array and read_cmdline_option for option processing. Compute have_c in prescan of decoded options. * opt-functions.awk (switch_flags): Handle Driver and RejectDriver. (var_type, var_type_struct): Handle Separate options as generating const char * variables. * opts-common.c (decode_cmdline_option): Expect CL_COMMON and CL_TARGET to be passed by caller if required. (decode_cmdline_options_to_array): Update comment. * opts.c (complain_wrong_lang): Handle options only valid for the driver. (decode_options): Update call to decode_cmdline_options_to_array. (print_filtered_help): Ignore driver-only options. (print_specific_help): Ignore CL_DRIVER. (common_handle_option): Don't call print_specific_help for CL_DRIVER. * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON): Update values. c-family: * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver. fortran: * lang.opt (MDX, MMDX): Mark RejectDriver. java: * lang.opt (MD_, MMD_, version): Mark RejectDriver. From-SVN: r163279
2010-08-11opts.h (struct cl_option_handler_func): Make handler take cl_decoded_option ↵Joseph Myers1-22/+35
structure as parameter, not individual elements. * opts.h (struct cl_option_handler_func): Make handler take cl_decoded_option structure as parameter, not individual elements. (struct cl_option_handlers): Make callbacks take cl_decoded_option structure as parameter, not individual elements. (handle_option): Take cl_decoded_option structure as parameter, not individual elements. (handle_generated_option): Declare. * opts-common.c (handle_option): Take cl_decoded_option structure as parameter, not individual elements. Update calls to callback and handler functions. (handle_generated_option): New. (read_cmdline_option): Update calls to callback functions and handle_option. * opts.c (common_handle_option, complain_wrong_lang, unknown_option_callback, post_handling_callback, lang_handle_option, target_handle_option): Take cl_decoded_option structure as parameter, not individual elements. (lang_handle_option, target_handle_option, common_handle_option): Assert option has at most one argument. (enable_warning_as_error): Call handle_generated_option instead of handle_option. Do not pass -Werror argument as argument of generated option. c-family: * c-opts.c (c_common_handle_option): Call handle_generated_option instead of handle_option. From-SVN: r163095
2010-08-06tree-ssa-ccp.c (struct prop_value_d): Add mask member.Richard Guenther1-0/+1
2010-08-06 Richard Guenther <rguenther@suse.de> * tree-ssa-ccp.c (struct prop_value_d): Add mask member. (dump_lattice_value): Dump it. (get_default_value): Adjust. (get_constant_value): Likewise. (set_value_varying): Likewise. (set_lattice_value): Make sure to not go up the lattice with bitwise constant values. (get_value_for_expr): Handle ADDR_EXPRs. (value_to_double_int): New function. (get_value_from_alignment): Likewise. (do_dbg_cnt): Adjust. (ccp_lattice_meet): Handle partially constant values. (bit_value_unop_1): New function. (bit_value_binop_1): Likewise. (bit_value_unop): Likewise. (bit_value_binop): Likewise. (evaluate_stmt): Track partially constant values if flag_tree_bit_ccp is set. (ccp_fold_stmt): Dump if we folded a predicate. (ccp_visit_stmt): Adjust. * common.opt (ftree-bit-ccp): New flag. * doc/invoke.texi (ftree-bit-ccp): Document. * opts.c (decode_options): Enable bit-CCP at -O1. * gcc.dg/tree-ssa/ssa-dce-3.c: XFAIL. * gcc.dg/tree-ssa/pr23744.c: Disable CCP. * gcc.dg/tree-ssa/pr25382.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-30.c: New testcase. * gcc.dg/tree-ssa/ssa-ccp-31.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-32.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-33.c: Likewise. * gcc.c-torture/execute/20100805-1.c: Likewise. From-SVN: r162943
2010-08-02Add -ftree-loop-distribute-patterns enabled at -O3.Sebastian Pop1-0/+1
2010-08-02 Sebastian Pop <sebastian.pop@amd.com> * common.opt (ftree-loop-distribute-patterns): New. * invoke.texi (-ftree-loop-distribute-patterns): Documented. * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns at -O3. * tree-data-ref.c (stores_zero_from_loop): New. * tree-data-ref.h (stores_zero_from_loop): Declared. * tree-loop-distribution.c (tree_loop_distribution): Call stores_zero_from_loop. (tree_loop_distribution): Check flag_tree_loop_distribute_patterns. From-SVN: r162822
2010-07-30common.opt (-G): Don't define option here.Joseph Myers1-5/+0
* common.opt (-G): Don't define option here. * config/g.opt: New. * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips, rs6000/powerpc and score targets. * opts.c (common_handle_option): Don't handle -G here. * config/alpha/alpha.c (alpha_handle_option): Handle -G. * config/frv/frv.c (frv_handle_option): Handle -G. * config/ia64/ia64.c (ia64_handle_option): Handle -G. * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New. * config/m32r/m32r.c (m32r_handle_option): Handle -G. * config/mips/mips.c (mips_handle_option): Handle -G. * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G. * config/score/score.c (score_handle_option): Handle -G. From-SVN: r162721
2010-07-27coretypes.h (struct cl_option_handlers): Declare.Joseph Myers1-154/+75
* coretypes.h (struct cl_option_handlers): Declare. * hooks.c (hook_int_size_t_constcharptr_int_0): Remove. * hooks.h (hook_int_size_t_constcharptr_int_0): Remove. * langhooks-def.h (lhd_handle_option): Declare. (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option. * langhooks.c (lhd_handle_option): New. * langhooks.h (struct lang_hooks): Update prototype and return value type of handle_option hook. * optc-gen.awk: Generate target_flags_explicit definition for the driver. * opts-common.c: Include diagnostic.h. (handle_option): Move from opts.c. Update prototype and return value type. Use handlers structure. (read_cmdline_option): Move from opts.c. Update prototype. Use handlers structure. (set_option): Move from opts.c. * opts.c (common_handle_option): Update prototype and return value type. Update calls to handle_option and enable_warning_as_error. (unknown_option_callback, post_handling_callback, lang_handle_option, target_handle_option): New. (handle_option, read_cmdline_option): Move to opts-common.c. (read_cmdline_options): Update prototype. Update call to read_cmdline_option. (decode_options): Initialize and use handlers structure. (set_option): Move to opts-common.c. (enable_warning_as_error): Update prototype. Update call to handle_option. * opts.h (struct cl_option_handler_func, struct cl_option_handlers): New. (handle_option, enable_warning_as_error): Update prototypes. (read_cmdline_option): Declare. * Makefile.in (opts-common.o): Update dependencies. ada: * gcc-interface/misc.c (gnat_handle_option): Update prototype and return value type. Don't check for missing arguments here. c-family: * c-common.h (c_common_handle_option): Update prototype and return value type. * c-opts.c (c_common_handle_option): Update prototype and return value type. Update calls to handle_option and enable_warning_as_error. fortran: * gfortran.h (gfc_handle_option): Update prototype and return value type. * options.c (gfc_handle_option): Update prototype and return value type. java: * lang.c (java_handle_option): Update prototype and return value type. lto: * lto-lang.c (lto_handle_option): Update prototype and return value type. Remove duplicate assignment to result. From-SVN: r162601
2010-07-27common.opt (o): Add MissingArgError.Joseph Myers1-1/+3
* common.opt (o): Add MissingArgError. * doc/options.texi (MissingArgError): Document. * hooks.c (hook_bool_constcharptr_size_t_false): Remove. * hooks.h (hook_bool_constcharptr_size_t_false): Remove. * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer. * langhooks.h (struct lang_hooks): Remove missing_argument. * optc-gen.awk: Handle MissingArgError and output new structure field initializers. * opts.c (read_cmdline_option): Use missing_argument_error field instead of missing_argument langhook. * opts.h (struct cl_option): Add missing_argument_error field. * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison. c-family: * c-common.h (c_common_missing_argument): Remove. * c-opts.c (c_common_missing_argument): Remove. * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=, idirafter, imacros, include, isysroot, isystem, iquote): Add MissingArgError. * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. cp: * cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. po: * exgettext: Also extract MissingArgError texts from .opt files. From-SVN: r162571
2010-07-27langhooks-def.h (lhd_init_options, [...]): New.Joseph Myers1-10/+5
* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New. (LANG_HOOKS_INIT_OPTIONS): Update default definition. (LANG_HOOKS_INITIALIZER): Add new hooks. * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New. * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask and complain_wrong_lang_p. Update init_options prototype. * c-objc-common.c (c_initialize_diagnostics): First call c_common_initialize_diagnostics. * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define. * coretypes.h (struct cl_option, struct cl_decoded_option): Declare. * hooks.c (hook_uint_uint_constcharptrptr_0): Remove. (hook_uint_void_0): New. * hooks.h (hook_uint_uint_constcharptrptr_0): Remove. (hook_uint_void_0): New. * opts-common.c (decode_cmdline_option, decode_cmdline_options_to_array): Also fill in canonical_option field. * opts.c (complain_wrong_lang): Use langhook to determine whether to complain instead of special-casing LTO. (decode_options): Separate lang_mask determination with option_lang_mask hook from call of init_options hook. * opts.h (struct cl_decoded_option): Add canonical_option. ada: * gcc-interface/misc.c (gnat_option_lang_mask): New. (gnat_init_options): Update prototype. Reconstruct argv array from decoded options. c-family: * c-common.h (c_common_option_lang_mask, c_common_initialize_diagnostics, c_common_complain_wrong_lang_p): New. (c_common_init_options): Update prototype. * c-opts.c (c_common_option_lang_mask): New. (c_common_initialize_diagnostics): Split out of c_common_init_options. (accept_all_c_family_options, c_common_complain_wrong_lang_p): New. (c_common_init_options): Update prototype. Use decoded options in search for -lang-asm. cp: * cp-objcp-common.c (cxx_initialize_diagnostics): First call c_common_initialize_diagnostics. * cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define. fortran: * cpp.c (gfc_cpp_init_options): Update prototype. Use number of decoded options in allocating deferred_opt. * cpp.h (gfc_cpp_init_options): Update prototype. * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define. * gfortran.h (gfc_option_lang_mask): New. (gfc_init_options): Update prototype. * options.c (gfc_option_lang_mask): New. (gfc_init_options): Update prototype. Pass new arguments to gfc_cpp_init_options. java: * lang.c (java_option_lang_mask): New. (java_init_options): Update prototype. (LANG_HOOKS_OPTION_LANG_MASK): Define. lto: * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p): New. (lto_init_options): Update prototype. (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define. From-SVN: r162560
2010-06-29re PR other/44034 (target hooks are hard to maintain)Joern Rennecke1-2/+2
gcc: PR other/44034 * target.def, doc/tm.texi.in, genhooks.c: New files. * target.h: Instead of defining individual hook members, define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and include target.def. * target-def.h: Instead of defining individual hook initializers, include target-hooks-def.h. * df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members: targetm.live_on_entry -> targetm.extra_live_on_entry targetm.sched.md_finish ->targetm.sched.finish targetm.sched.md_init -> targetm.sched.init targetm.sched.md_init_global -> targetm.sched.init_global targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label targetm.asm_out.except_table_label -> targetm.asm_out.emit_except_table_label targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility targetm.target_help -> targetm.help targetm.vectorize.builtin_support_vector_misalignment -> targetm.vectorize.support_vector_misalignment targetm.file_start_app_off -> targetm.asm_file_start_app_off targetm.file_start_file_directive -> targetm.asm_file_start_file_directive * dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise. * varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise. * gcc/config/spu/spu.c, config/ia64/ia64.c: Rename target macros: TARGET_VECTOR_ALIGNMENT_REACHABLE -> TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE TARGET_SUPPORT_VECTOR_MISALIGNMENT -> TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT * config/rs6000/rs6000.c, config/arm/arm.c: Likewise. * Makefile.in (TARGET_H): Depend on target.def. (TARGET_DEF_H): Depend on target-hooks-def.h. (target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules. (s-tm-texi, build/genhooks.o, build/genhooks): Likewise. * doc/tm.texi: Regenerate. gcc/c-family: * c-common.c: Rename targetm member: targetm.enum_va_list -> targetm.enum_va_list_p gcc/po: * EXCLUDES: Add genhooks.c. Index: gcc/doc/tm.texi From-SVN: r161547
2010-06-25tree-pass.h (pass_split_functions): Declare.Jan Hubicka1-0/+1
* tree-pass.h (pass_split_functions): Declare. * opts.c (decode_options): Enable function splitting at -O2 * timevar.def (TV_IPA_FNSPLIT): New macro. * ipa-split.c: New file. * common.opt (-fpartial-inlining): New flag. * Makefile.in (ipa-split.o): New object file. * passes.c (init_optimization_passes): Add ipa-split. * params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40. (partial-inlining-entry-probability): New parameters. * doc/invoke.texi (-fpartial-inlining): New. * testsuite/gcc.dg/tree-ssa/ipa-split.c From-SVN: r161382
2010-06-21diagnostic.h (diagnostic_classification_change_t): New.DJ Delorie1-2/+4
* diagnostic.h (diagnostic_classification_change_t): New. (diagnostic_context): Add history and push/pop list. (diagnostic_push_diagnostics): Declare. (diagnostic_pop_diagnostics): Declare. * diagnostic.c (diagnostic_classify_diagnostic): Store changes from pragmas in a history chain instead of the global table. (diagnostic_push_diagnostics): New. (diagnostic_pop_diagnostics): New. (diagnostic_report_diagnostic): Scan history chain to find state of diagnostics as of the diagnostic location. * opts.c (set_option): Pass UNKNOWN_LOCATION to diagnostic_classify_diagnostic. (enable_warning_as_error): Likewise. * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for use in the history chain. * c-family/c-pragma.c (handle_pragma_diagnostic): Add push/pop, allow these pragmas anywhere. * doc/extend.texi: Document pragma GCC diagnostic changes. * gcc.dg/pragma-diag-1.c: New. From-SVN: r161115
2010-06-20re PR other/32998 (-frecord-gcc-switches issues)Joseph Myers1-70/+77
PR other/32998 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown, OPT_SPECIAL_program_name and OPT_SPECIAL_input_file. * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure. (decode_cmdline_option): Update for this return value. Set orig_option_with_args_text field. Set arg field for unknown options. Make static. (decode_cmdline_options_to_array): New. (prune_options): Update handling of find_opt return value. * opts.c (read_cmdline_option): Take decoded option. Return void. (read_cmdline_options): Take decoded options. (decode_options): Add parameters for decoded options. Use decode_cmdline_options_to_array. Use decoded options for -O scan. Use integral_argument for -O parameters. Update call to read_cmdline_options. (enable_warning_as_error): Update handling of find_opt return value. * opts.h: Update comment on unknown options. (struct cl_decoded_option): Update comments on opt_index and arg. Add orig_option_with_args_text. (decode_cmdline_option): Remove. (decode_cmdline_options_to_array): Declare. (decode_options): Update prototype. * toplev.c (save_argv): Remove. (save_decoded_options, save_decoded_options_count): New. (read_integral_parameter): Remove. (print_switch_values): Use decoded options. (toplev_main): Don't set save_argv. Update call to decode_options. * toplev.h (read_integral_parameter): Remove. * varasm.c (elf_record_gcc_switches): Don't handle holding back names. c-family: * c-common.c (parse_optimize_options): Update call to decode_options. fortran: * options.c (gfc_handle_option): Don't handle N_OPTS. testsuite: * gcc.dg/opts-2.c: New test. From-SVN: r161053
2010-06-12opts-common.c: Include options.h.Joseph Myers1-117/+25
* opts-common.c: Include options.h. (integral_argument): Move from opts.c. (decode_cmdline_option): New. Based on read_cmdline_option. * opts.c (integral_argument): Move to opts-common.c. (read_cmdline_option): Move most contents to decode_cmdline_option. Use %qs in diagnostics. * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG, CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument, decode_cmdline_option): New. testsuite: * gcc.dg/funroll-loops-all.c: Update expected error. From-SVN: r160639
2010-06-11invoke.texi (Wsuggest-attribute): Document.Jan Hubicka1-0/+5
* doc/invoke.texi (Wsuggest-attribute): Document. (Wmissing-noreturn): Remove. * ipa-pure-const.c (warn_function_noreturn): New function. * opts.c (decode_options): Set warn_suggest_attribute_noreturn on warn_missing_noreturn. * common.opt (Wsuggest-attribute=noreturn): New. * tree-flow.h (warn_function_noreturn): Declare. * tree-cfg.c (execute_warn_function_noreturn): Use warn_function_noreturn. (gate_warn_function_noreturn): New. (pass_warn_function_noreturn): Update. From-SVN: r160606
2010-06-01optabs.c (init_optabs): Guard all accesses to reinit.Richard Guenther1-1/+2
2010-06-01 Richard Guenther <rguenther@suse.de> * optabs.c (init_optabs): Guard all accesses to reinit. * ipa-pure-const.c (propagate): Fix another typo. * opts.c (common_handle_option): Split assignment to bool. * c-opts.c (c_common_handle_option): Likewise. From-SVN: r160102
2010-05-26opts.c (common_handle_option): Handle OPT_Ofast.Richard Guenther1-0/+1
2010-05-26 Richard Guenther <rguenther@suse.de> * opts.c (common_handle_option): Handle OPT_Ofast. From-SVN: r159871
2010-05-26diagnostic.c: Don't include opts.h.Joseph Myers1-1/+53
* diagnostic.c: Don't include opts.h. (permissive_error_option): Define. (diagnostic_initialize): Take n_opts parameter. Allocate memory for classify_diagnostic. Don't use memset for classify_diagnostic. Initialize new and recently added fields. (diagnostic_classify_diagnostic): Use context->n_opts instead of N_OPTS. (diagnostic_report_diagnostic): Pass context parameter to diagnostic_report_warnings_p. Use option_enabled and option_name hooks from context. (emit_diagnostic): Use permissive_error_option. (permerror): Likewise. * diagnostic.h: Don't include options.h. (struct diagnostic_context): Add n_opts, opt_permissive, inhibit_warnings, warn_system_headers, option_enabled and option_name fields. Change classify_diagnostic to a pointer. * opts-diagnostic.h: New file. * opts.c: Include opts-diagnostic.h. (common_handle_option): Set global_dc fields for -Wfatal-errors, -Wsystem-headers, -fshow-column, -pedantic-errors and -w. (option_name): New function. * c-opts.c (c_common_init_options): Set global_dc->opt_permissive. (c_common_handle_option): Set global_dc->permissive for -fpermissive. * c-common.c (c_cpp_error): Save and restore global_dc->warn_system_headers, not variable warn_system_headers. * toplev.c: Include opts-diagnostic.h. (general_init): Update call to diagnostic_initialize. Set global_dc->show_column, global_dc->option_enabled and global_dc->option_name. (process_options): Don't set global_dc fields here. * Makefile.in (DIAGNOSTIC_H): Remove options.h. (diagnostic.o, opts.o, toplev.o): Update dependencies. fortran: * cpp.c (cb_cpp_error): Save and restore global_dc->warn_system_headers, not variable warn_system_headers. From-SVN: r159869
2010-05-25invoke.texi: Document -Ofast.Richard Guenther1-1/+23
2010-05-25 Richard Guenther <rguenther@suse.de> * doc/invoke.texi: Document -Ofast. * target.h (struct gcc_target): Add handle_ofast. * target-def.h (TARGET_HANDLE_OFAST): Add. (TARGET_INITIALIZER): Adjust. * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it. * common.opt (Ofast): Add. From-SVN: r159815
2010-05-19invoke.texi (-fwhopr): Document new optional jobs argument.Richard Guenther1-0/+4
2010-05-19 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fwhopr): Document new optional jobs argument. * common.opt (fwhopr=): New. * opts.c (common_handle_option): Handle OPT_fwhopr. * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*. * collect2.c (main): Match -fwhopr*. * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr. Execute ltrans stage in parallel when jobs is bigger than 1. From-SVN: r159573
2010-05-18ipacp_0.c: New test.Jan Hubicka1-1/+0
* gcc.dg/lto/ipacp_0.c: New test. * gcc.dg/lto/ipacp_1.c: New test. * opts.c (decode_options): Do not disable whopr at ipa_cp. * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too. From-SVN: r159535
2010-05-16invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.Richard Guenther1-1/+0
2010-05-16 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape. * ipa-type-escape.c (gate_type_escape_vars): Run when -fipa-struct-reorg runs. * opts.c (decode_options): Do not unset flag_ipa_type_escape. * common.opt (fipa-type-escape): Remove. * gcc.dg/pr43317.c: Do not pass -fipa-type-escape. * gcc.dg/pr43084.c: Likewise. * gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of -fipa-type-escape. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass -fipa-type-escape. * gcc.dg/struct/struct-reorg.exp: Likewise. * gcc.dg/struct/wo_prof_empty_str.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. From-SVN: r159464
2010-05-16opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.Eric Botcazou1-0/+8
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. (decode_options): Likewise. * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. From-SVN: r159463
2010-05-15ipa-reference.c: Include toplev.hJan Hubicka1-1/+0
* ipa-reference.c: Include toplev.h (is_proper_for_analysis): Only add to all_module_statics if it is allocated. (write_node_summary_p, stream_out_bitmap, ipa_reference_write_optimization_summary, ipa_reference_read_optimization_summary): New. (struct ipa_opt_pass_d pass_ipa_reference): Add optimization summary streaming. * lto-cgraph.c (referenced_from_this_partition_p, reachable_from_this_partition_p): New functions. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Ask ipa-reference even for public vars. * opts.c (decode_options): Enable ipa_reference. * Makefile.in (ipa-reference.o): Add toplev.h dependency. * lto-streamer.h (referenced_from_this_partition_p, reachable_from_this_partition_p): Declare. * gcc.dg/lto/ipareference_1.c: New file. * gcc.dg/lto/ipareference_2.c: New file. From-SVN: r159435
2010-05-06re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Manuel López-Ibáñez1-37/+57
2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 40989 * doc/invoke.texi (Wimplicit): Document as C only. * opts.c (common_handle_option): Add argument kind. (handle_option): Rename as read_cmdline_option. Factor out code to... (handle_option): ... here. New. (handle_options): Rename as read_cmdline_options. (decode_options): Update call. (set_option): Use option index instead of option pointer. Classify diagnostics correctly. (enable_warning_as_error): Call handle_option. * opts.h (set_option): Update declaration. (handle_option): Declare. * langhooks.h (struct lang_hooks): Add argument kind to handle_option. * c.opt (Wimplicit,Wimplicit-int): Initialize to -1. * c-opts.c (set_Wimplicit): Delete. (c_family_lang_mask): New static constant. (c_common_handle_option): Add argument kind. Use handle_option instead of set_Wimplicit. (c_common_post_options): warn_implicit and warn_implicit_int are disabled by default. * c-common.c (warn_implicit): Do not define here. * c-common.h (warn_implicit): Do not declare here. (c_common_handle_option): Update declaration. * lto-opts.c (lto_reissue_options): Update call to set_option. java/ * lang.c (java_handle_option): Add argument kind. fortran/ * options.c (gfc_handle_option): Add argument kind. * gfortran.h (gfc_handle_option): Update declaration. ada/ * gcc-interface/misc.c (gnat_handle_option): Add argument kind. testsuite/ * gcc.dg/pr40989.c: New. From-SVN: r159102
2010-05-04Sanitize the behavior of -Wcoverage-mismatch.Neil Vachharajani1-0/+3
2010-05-04 Neil Vachharajani <nvachhar@google.com> * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as per new semantics. * opts.c (decode_options): Enable -Werror=coverage-mismatch. * coverage.c (get_coverage_counts): Always emit a warning. Adjust conditions for printing notes. * common.opt (-Wcoverage-mismatch): Allow negative, default to true, update documentation. * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h. * testsuite/gcc.dg/tree-prof/wcoverage-mismatch.c: Adjusted. From-SVN: r159050
2010-04-27invoke.texi (-fipa-profile): Document.Jan Hubicka1-0/+1
* doc/invoke.texi (-fipa-profile): Document. * opts.c (decode_options): Enable ipa-profile at -O1. * timevar.def (TV_IPA_PROFILE): Define. * common.opt (fipa-profile): Add. * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag for clones. (cgraph_propagate_frequency): Handle only local ones. * tree-pass.h (pass_ipa_profile): Declare. * ipa-profile.c (gate_profile): Use flag_ipa_profile. (pass_ipa_profile): Use TV_IPA_PROFILE. * ipa.c (ipa_profile): New function. (gate_ipa_profile): Likewise. (pass_ipa_profile): New global variable. * passes.c (pass_ipa_profile): New. From-SVN: r158788
2010-04-23toplev.c (general_init): Set default for fdiagnostics-show-option.Manuel López-Ibáñez1-1/+1
2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org> * toplev.c (general_init): Set default for fdiagnostics-show-option. * opts.c (common_handle_option): Allow disabling it. * common.opt (fdiagnostics-show-option): Add Var. Enabled by default. testsuite/ * gcc.dg/Wconversion-integer.c: Update. From-SVN: r158676
2010-04-21* opts.c (decode_options): Enable pure-const pass for whopr.Jan Hubicka1-1/+0
From-SVN: r158608
2010-04-19opts.c (decode_options): Disable whpr incompatible passes.Jan Hubicka1-0/+10
* opts.c (decode_options): Disable whpr incompatible passes. * lto/lto.c (lto_1_to_1_map): Skip clones. (read_cgraph_and_symbols): Do not mark everything as needed. (do_whole_program_analysis): Do map only after optimizing; set proper cgraph_state; use passmanager. From-SVN: r158533
2010-04-07diagnostic.h (diagnostic_override_option_index): New macro to set a ↵Simon Baldwin1-6/+26
diagnostic's option_index. * diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index. * c-tree.h (c_cpp_error): Add warning reason argument. * opts.c (_warning_as_error_callback): New. (register_warning_as_error_callback): Store callback for warnings enabled via enable_warning_as_error. (enable_warning_as_error): Call callback, minor code tidy. * opts.h (register_warning_as_error_callback): Declare. * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in response to -Werror=. (c_common_init_options): Register warning_as_error_callback in opts.c. * common.opt: Add -Wno-cpp option. * c-common.c (struct reason_option_codes_t): Map cpp warning reason codes to gcc option indexes. * (c_option_controlling_cpp_error): New function, lookup the gcc option index for a cpp warning reason code. * (c_cpp_error): Add warning reason argument, call c_option_controlling_cpp_error for diagnostic_override_option_index. * doc/invoke.texi: Document -Wno-cpp. * cpp.c (cb_cpp_error): Add warning reason argument, set a value for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE. * directives.c (do_diagnostic): Add warning reason argument, call appropriate error reporting function for code. (directive_diagnostics): Call specific warning functions with warning reason where appropriate. (do_error, do_warning, do_pragma_dependency): Add warning reason argument to do_diagnostic calls. * macro.c (_cpp_warn_if_unused_macro, enter_macro_context, _cpp_create_definition): Call specific warning functions with warning reason where appropriate. * Makefile.in: Add new diagnostic functions to gettext translations. * include/cpplib.h (struct cpp_callbacks): Add warning reason code to error callback. (CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR, CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums. (CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS, CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR, CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS, CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS, CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF, CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE, CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp warning reason codes. (cpp_warning, cpp_pedwarning, cpp_warning_syshdr, cpp_warning_with_line, cpp_pedwarning_with_line, cpp_warning_with_line_syshdr): New specific error reporting functions. * pch.c (cpp_valid_state): Call specific warning functions with warning reason where appropriate. * errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central diagnostic handlers. (cpp_warning, cpp_pedwarning, cpp_warning_syshdr, cpp_warning_with_line, cpp_pedwarning_with_line, cpp_warning_with_line_syshdr): New specific error reporting functions. * expr.c (cpp_classify_number, eval_token, num_unary_op): Call specific warning functions with warning reason where appropriate. * lex.c (_cpp_process_line_notes, _cpp_skip_block_comment, warn_about_normalization, lex_identifier_intern, lex_identifier, _cpp_lex_direct): Ditto. * charset.c (_cpp_valid_ucn, convert_hex, convert_escape, narrow_str_to_charconst): Ditto. * gcc.dg/cpp/warn-undef-2.c: New. * gcc.dg/cpp/warn-traditional-2.c: New. * gcc.dg/cpp/warn-comments-2.c: New. * gcc.dg/cpp/warning-directive-1.c: New. * gcc.dg/cpp/warn-long-long.c: New. * gcc.dg/cpp/warn-traditional.c: New. * gcc.dg/cpp/warn-variadic-2.c: New. * gcc.dg/cpp/warn-undef.c: New. * gcc.dg/cpp/warn-normalized-1.c: New. * gcc.dg/cpp/warning-directive-2.c: New. * gcc.dg/cpp/warn-long-long-2.c: New. * gcc.dg/cpp/warn-variadic.c: New. * gcc.dg/cpp/warn-normalized-2.c: New. * gcc.dg/cpp/warning-directive-3.c: New. * gcc.dg/cpp/warn-deprecated-2.c: New. * gcc.dg/cpp/warn-trigraphs-1.c: New. * gcc.dg/cpp/warn-multichar-2.c: New. * gcc.dg/cpp/warn-normalized-3.c: New. * gcc.dg/cpp/warning-directive-4.c: New. * gcc.dg/cpp/warn-unused-macros.c: New. * gcc.dg/cpp/warn-trigraphs-2.c: New. * gcc.dg/cpp/warn-cxx-compat-2.c: New. * gcc.dg/cpp/warn-cxx-compat.c: New. * gcc.dg/cpp/warn-redefined.c: New. * gcc.dg/cpp/warn-trigraphs-3.c: New. * gcc.dg/cpp/warn-unused-macros-2.c: New. * gcc.dg/cpp/warn-deprecated.c: New. * gcc.dg/cpp/warn-trigraphs-4.c: New. * gcc.dg/cpp/warn-redefined-2.c: New. * gcc.dg/cpp/warn-comments.c: New. * gcc.dg/cpp/warn-multichar.c: New. * g++.dg/cpp/warning-directive-1.C: New. * g++.dg/cpp/warning-directive-2.C: New. * g++.dg/cpp/warning-directive-3.C: New. * g++.dg/cpp/warning-directive-4.C: New. * gfortran.dg/warning-directive-1.F90: New. * gfortran.dg/warning-directive-3.F90: New. * gfortran.dg/warning-directive-2.F90: New. * gfortran.dg/warning-directive-4.F90: New. From-SVN: r158079
2010-04-07invoke.texi (-fargument-alias, [...]): Remove.Richard Guenther1-0/+4
2010-04-07 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fargument-alias, -fargument-noalias, -fargument-noalias-global, -fargument-noalias-anything): Remove. * common.opt: Likewise. * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment. * alias.c (base_alias_check): Remove flag_argument_noalias handling. (nonoverlapping_memrefs_p): Likewise. * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. * opts.c (common_handle_option): Handle OPT_fargument_alias, OPT_fargument_noalias, OPT_fargument_noalias_anything and OPT_fargument_noalias_global for backward compatibility. fortran/ * options.c (gfc_init_options): Do not set. From-SVN: r158060
2010-03-29re PR other/43564 (ICE on code with optimize attribute and inlining)Jie Zhang1-7/+1
PR 43564 * toplev.c (process_options): Set optimization_default_node and optimization_current_node. * opts.c (decode_options): Don't set optimization_default_node and optimization_current_node. testsuite/ PR 43564 * gcc.dg/pr43564.c: New test. From-SVN: r157795
2010-02-09common.opt (fsched2-use-traces): Preserved for backward compatibility.Alexander Monakov1-0/+1
2010-02-09 Alexander Monakov <amonakov@ispras.ru> gcc/ChangeLog: * common.opt (fsched2-use-traces): Preserved for backward compatibility. * doc/invoke.texi: Remove the documentation about option -fsched2-use-traces. * sched-rgn.c (rest_of_handle_sched2): Remove usage of flag_sched2_use_traces. * opts.c (common_handle_option): Add OPT_fsched2_use_traces to the backward compatibility flag section. gcc/testsuite/ChangeLog: * gcc.dg/pr19340.c: Adjust. From-SVN: r156629
2010-02-03invoke.texi: Fix name of sched1 dump.Steven Bosscher1-1/+1
* doc/invoke.texi: Fix name of sched1 dump. * opts.c (decode_options): Set flag_tree_switch_conversion only conditionally on optimize >= 2. * gcse.c: Assorted comment fixes in pass description. From-SVN: r156466
2010-01-05invoke.texi: Remove the documentation about option -Wunreachable-code.Eric Fisher1-0/+1
2010-01-05 Eric Fisher <joefoxreal@gmail.com> * doc/invoke.texi: Remove the documentation about option -Wunreachable-code. * common.opt (Wunreachable-code): Preserved for backward compatibility. * tree-cfg.c: Remove the implementation of -Wunreachable-code. * opts.c (common_handle_option): Add OPT_Wunreachable_code to the backward compatibility flag section. * gcc.dg/pr12603.c: Remove -Wunreachable-code from dg-options. * gcc.dg/Wunreachable-1.c: Remove the testcase of -Wunreachable-code. * gcc.dg/Wunreachable-2.c: Likewise. * gcc.dg/Wunreachable-3.c: Likewise. * gcc.dg/Wunreachable-4.c: Likewise. * gcc.dg/Wunreachable-5.c: Likewise. * gcc.dg/Wunreachable-6.c: Likewise. * gcc.dg/Wunreachable-7.c: Likewise. * gcc.dg/Wunreachable-8.c: Likewise. * gcc.dg/20041231-1.c: Likewise. From-SVN: r155645
2010-01-03Pass -dumpbase and -dumpdir to gcc for LTOH.J. Lu1-17/+28
gcc/ 2010-01-03 H.J. Lu <hongjiu.lu@intel.com> PR lto/41564 * common.opt: Add dumpdir. * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase isn't specified. (option_map): Add --dumpdir. * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir. * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o. * opts.c (decode_options): Try dump_dir_name first if dump_base_name isn't an absolute path. (common_handle_option): Handle OPT_dumpdir. * toplev.c (dump_dir_name): New. (print_switch_values): Also ignore -dumpdir. * toplev.h (dump_dir_name): New. gcc/lto/ 2010-01-03 H.J. Lu <hongjiu.lu@intel.com> PR lto/41564 * lto.c (DUMPBASE_SUFFIX): New. (lto_execute_ltrans): Append a sequence number to -dumpbase for LTRANS. From-SVN: r155591
2009-12-15tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET and BINFO_VPTR_FIELD.Richard Guenther1-4/+0
2009-12-15 Richard Guenther <rguenther@suse.de> * tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET and BINFO_VPTR_FIELD. (free_lang_data_in_type): Do not free TYPE_STUB_DECL if we generate debug information. (free_lang_data_in_decl): Do not free DECL_SIZE_UNIT, DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT. (free_lang_data): Do not disable debuginfo. * lto-streamer-out.c (write_symbol_vec): Deal with non-constant DECL_SIZE. (pack_ts_base_value_fields): Write types with false TREE_ASM_WRITTEN. (lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL. * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream TYPE_STUB_DECL. * dwarf2out.c (add_pure_or_virtual_attribute): Check for DECL_CONTEXT. (gen_type_die_for_member): Test for TYPE_STUB_DECL. * opts.c (decode_options): Do not disable var-tracking for lto. * doc/invoke.texi (-flto): Document -flto vs. -g experimental status. (-fwhopr): Document experimental status. lto/ * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET. (lto_post_options): Do not disable debuginfo. From-SVN: r155259
2009-11-27opts.c (decode_options): If optimize is bigger than 255, set it to 255.Jakub Jelinek1-0/+2
* opts.c (decode_options): If optimize is bigger than 255, set it to 255. * gcc.dg/O16384.c: New test. From-SVN: r154699
2009-11-25Remove trailing white spaces.H.J. Lu1-10/+10
2009-11-25 H.J. Lu <hongjiu.lu@intel.com> * alias.c: Remove trailing white spaces. * alloc-pool.c: Likewise. * alloc-pool.h: Likewise. * attribs.c: Likewise. * auto-inc-dec.c: Likewise. * basic-block.h: Likewise. * bb-reorder.c: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * builtins.def: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-cppbuiltin.c: Likewise. * c-decl.c: Likewise. * c-format.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-parser.c: Likewise. * c-pretty-print.c: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfghooks.h: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphbuild.c: Likewise. * cgraphunit.c: Likewise. * cif-code.def: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * coverage.c: Likewise. * crtstuff.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * dbgcnt.c: Likewise. * dbgcnt.def: Likewise. * dbgcnt.h: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * ddg.c: Likewise. * ddg.h: Likewise. * defaults.h: Likewise. * df-byte-scan.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * df.h: Likewise. * dfp.c: Likewise. * diagnostic.c: Likewise. * diagnostic.h: Likewise. * dominance.c: Likewise. * domwalk.c: Likewise. * double-int.c: Likewise. * double-int.h: Likewise. * dse.c: Likewise. * dwarf2asm.c: Likewise. * dwarf2asm.h: Likewise. * dwarf2out.c: Likewise. * ebitmap.c: Likewise. * ebitmap.h: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * except.c: Likewise. * except.h: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * flags.h: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * fwprop.c: Likewise. * gcc.c: Likewise. * gcov-dump.c: Likewise. * gcov-io.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * genchecksum.c: Likewise. * genconfig.c: Likewise. * genflags.c: Likewise. * gengtype-parse.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genmddeps.c: Likewise. * genmodes.c: Likewise. * genopinit.c: Likewise. * genpreds.c: Likewise. * gensupport.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * ggc-zone.c: Likewise. * ggc.h: Likewise. * gimple-iterator.c: Likewise. * gimple-low.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple.c: Likewise. * gimple.def: Likewise. * gimple.h: Likewise. * gimplify.c: Likewise. * graphds.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * gthr-nks.h: Likewise. * gthr-posix.c: Likewise. * gthr-posix.h: Likewise. * gthr-posix95.h: Likewise. * gthr-single.h: Likewise. * gthr-tpf.h: Likewise. * gthr-vxworks.h: Likewise. * gthr.h: Likewise. * haifa-sched.c: Likewise. * hard-reg-set.h: Likewise. * hooks.c: Likewise. * hooks.h: Likewise. * hosthooks.h: Likewise. * hwint.h: Likewise. * ifcvt.c: Likewise. * incpath.c: Likewise. * init-regs.c: Likewise. * integrate.c: Likewise. * ipa-cp.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa-struct-reorg.h: Likewise. * ipa-type-escape.c: Likewise. * ipa-type-escape.h: Likewise. * ipa-utils.c: Likewise. * ipa-utils.h: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-emit.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * jump.c: Likewise. * lambda-code.c: Likewise. * lambda-mat.c: Likewise. * lambda-trans.c: Likewise. * lambda.h: Likewise. * langhooks.c: Likewise. * lcm.c: Likewise. * libgcov.c: Likewise. * lists.c: Likewise. * loop-doloop.c: Likewise. * loop-init.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-streamer.h: Likewise. * lto-symtab.c: Likewise. * lto-wpa-fixup.c: Likewise. * matrix-reorg.c: Likewise. * mcf.c: Likewise. * mode-switching.c: Likewise. * modulo-sched.c: Likewise. * omega.c: Likewise. * omega.h: Likewise. * omp-low.c: Likewise. * optabs.c: Likewise. * optabs.h: Likewise. * opts-common.c: Likewise. * opts.c: Likewise. * params.def: Likewise. * params.h: Likewise. * passes.c: Likewise. * plugin.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * predict.def: Likewise. * pretty-print.c: Likewise. * pretty-print.h: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * read-rtl.c: Likewise. * real.c: Likewise. * recog.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * reginfo.c: Likewise. * regmove.c: Likewise. * regrename.c: Likewise. * regs.h: Likewise. * regstat.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * resource.c: Likewise. * rtl.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sbitmap.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * sched-vis.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-dump.h: Likewise. * sel-sched-ir.c: Likewise. * sel-sched-ir.h: Likewise. * sel-sched.c: Likewise. * sel-sched.h: Likewise. * sese.c: Likewise. * sese.h: Likewise. * simplify-rtx.c: Likewise. * stack-ptr-mod.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * stringpool.c: Likewise. * stub-objc.c: Likewise. * sync-builtins.def: Likewise. * target-def.h: Likewise. * target.h: Likewise. * targhooks.c: Likewise. * targhooks.h: Likewise. * timevar.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tracer.c: Likewise. * tree-affine.c: Likewise. * tree-affine.h: Likewise. * tree-browser.def: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-chrec.h: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-data-ref.h: Likewise. * tree-dfa.c: Likewise. * tree-dump.c: Likewise. * tree-dump.h: Likewise. * tree-eh.c: Likewise. * tree-flow-inline.h: Likewise. * tree-flow.h: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-nested.c: Likewise. * tree-nomudflap.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.c: Likewise. * tree-optimize.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-pass.h: Likewise. * tree-phinodes.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-copyrename.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-live.h: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-operands.c: Likewise. * tree-ssa-operands.h: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-ter.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa.c: Likewise. * tree-ssanames.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vectorizer.h: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * tree.def: Likewise. * tree.h: Likewise. * treestruct.def: Likewise. * unwind-compat.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2.c: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vec.c: Likewise. * vec.h: Likewise. * vmsdbgout.c: Likewise. * web.c: Likewise. * xcoffout.c: Likewise. From-SVN: r154645
2009-11-22opts.c (decode_options): Don't enable flag_schedule_insns when optimizing ↵Richard Earnshaw1-1/+2
for size. * opts.c (decode_options): Don't enable flag_schedule_insns when optimizing for size. * doc/invoke.texi: Document change. From-SVN: r154424
2009-11-04c-opts.c (c_common_post_options): Move LTO option processing code ...Richard Guenther1-0/+22
2009-11-04 Richard Guenther <rguenther@suse.de> * c-opts.c (c_common_post_options): Move LTO option processing code ... * opts.c (decode_options): ... here. fortran/ * options.c (gfc_post_options): Rely on common code processing LTO options. Only enable -fwhole-file here. From-SVN: r153889
2009-10-28common.opt (fuse-linker-plugin): New option.Rafael Avila de Espindola1-0/+4
2009-10-28 Rafael Avila de Espindola <espindola@google.com> * common.opt (fuse-linker-plugin): New option. * gcc.c (LINK_COMMAND_SPEC, main): Rename use-linker-plugin to fuse-linker-plugin. * opts.c (common_handle_option): Ignore OPT_fuse_linker_plugin. From-SVN: r153683
2009-10-22invoke.texi (fira-loop-pressure): Update default value.Vladimir Makarov1-1/+0
2009-10-21 Vladimir Makarov <vmakarov@redhat.com> * doc/invoke.texi (fira-loop-pressure): Update default value. * opts.c (decode_options): Remove default value setting for flag_ira_loop_pressure. * config/ia64/ia64.c (ia64_override_options): Set flag_ira_loop_pressure up for -O3. * config/rs6000/rs6000.c (rs6000_override_options): Ditto. From-SVN: r153445
2009-10-14params.def (PARAM_IRA_LOOP_RESERVED_REGS): New.Vladimir Makarov1-0/+1
2009-09-26 Vladimir Makarov <vmakarov@redhat.com> * params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. * params.h (IRA_LOOP_RESERVED_REGS): New * tree-pass.h (pass_subregs_of_mode_init, pass_subregs_of_mode_finish): Remove. * passes.c (pass_subregs_of_mode_init, pass_subregs_of_mode_finish): Remove. (pass_reginfo_init): Move before loop optimizations. * config/i386/i386.h (STACK_REG_COVER_CLASS): Define. * common.opt (fira-loop-pressure): New. * toplev.h (flag_ira_loop_pressure): New. * rtl.h (init_subregs_of_mode, finish_subregs_of_mode): New externals. * reginfo.c (init_subregs_of_mode, finish_subregs_of_mode): Make external and void type functions. (gate_subregs_of_mode_init, pass_subregs_of_mode_init, pass_subregs_of_mode_finish): Remove. * ira-costs.c (init_costs): Call init_subregs_of_mode. * regmove.c: Include ira.h. (regmove_optimize): Call ira_set_pseudo_classes after IRA based register pressure calculation in loops. * loop-invariant.c: Include REGS_H and ira.h. (struct loop_data): New members max_reg_pressure, regs_ref, and regs_live. (struct invariant): New member orig_regno. (curr_loop): New variable. (find_exits): Initialize regs_ref and regs_live. (create_new_invariant): Initialize orig_regno. (get_cover_class_and_nregs): New. (get_inv_cost): Make aregs_needed an array. Use regs_needed as an array. Add code for flag_ira_loop_pressure. (gain_for_invariant): Make new_regs an array. Add code for flag_ira_loop_pressure. (best_gain_for_invariant): Ditto. (set_move_mark): New parameter gain. Use it for debugging output. (find_invariants_to_move): Make regs_needed and new_regs an array. Add code for flag_ira_loop_pressure. (move_invariant_reg): Set up orig_regno. (move_invariants): Set up reg classes for pseudos for flag_ira_loop_pressure. (free_loop_data): Clear regs_ref and regs_live. (curr_regs_live, curr_reg_pressure, regs_set, n_regs_set, get_regno_cover_class, change_pressure, mark_regno_live, mark_regno_death, mark_reg_store, mark_reg_clobber, mark_reg_death, mark_ref_regs, calculate_loop_reg_pressure): New. (move_loop_invariants): Calculate pressure. Initialize curr_loop. * ira.c (ira): Call ira_set_pseudo_classes after IRA based register pressure calculation in loops if new regs were added. Call finish_subregs_of_mode. * opts.c (decode_options): Set up flag_ira_loop_pressure. * Makefile.in (loop-invariant.o): Add ira.h. (regmove.o): Ditto. * doc/invoke.texi (-fira-loop-pressure, ira-loop-reserved-regs): Describe. * doc/tm.texi (STACK_REG_COVER_CLASS): Describe. From-SVN: r152770
2009-10-13re PR lto/41565 (-m32 causes an ICE when the object files were compiled with ↵Richard Guenther1-26/+37
64bit) 2009-10-13 Richard Guenther <rguenther@suse.de> PR lto/41565 * opts.c (handle_option): Split out code to handle setting the options flag var ... (set_option): ... here. * opts.h (set_option): Declare. * lto-opts.c (register_user_option_p): Include -fexceptions and all position independent code variants. (handle_common_option): Remove. (lto_reissue_options): Use set_option. From-SVN: r152705
2009-10-06re PR bootstrap/41395 (Revision 151800 failed bootstrap)Martin Jambor1-0/+1
2009-10-06 Martin Jambor <mjambor@suse.cz> PR bootstrap/41395 * opts.c (decode_options): Run IPA-SRA at -O2. From-SVN: r152492