1. 28 Jul, 2007 1 commit
    • cfglayout.c, [...]: Fix comment typos. · cea618ac
      	* cfglayout.c, config/arm/arm.c, config/arm/cortex-a8.md,
      	config/arm/neon-schedgen.ml, config/arm/neon.ml,
      	config/arm/vec-common.md, config/ia64/div.md, cselib.c,
      	df-core.c, df.h, dominance.c, optabs.c, opts.c, reg-stack.c,
      	regstat.c, target.h, tree-ssa-live.c, tree-ssa-pre.c,
      	tree-vect-transform.c, tree.def: Fix comment typos.  Follow
      	spelling conventions.
      	* doc/invoke.texi: Follow spelling conventions.
      
      From-SVN: r127030
      Kazu Hirata committed
  2. 26 Jul, 2007 1 commit
  3. 04 Jul, 2007 1 commit
    • target.h (struct gcc_target): Add target_help field. · 67e6ba46
      * target.h (struct gcc_target): Add target_help field.
      * target-def.h (TARGET_HELP): New.
        (TARGET_INITIALIZER): Use TARGET_HELP.
      * opts.c (command_handle_option): Invoke target_help function, if defined, when the 
        user has specified --target-help on the command line.
      * doc/invoke.texi: Mention that --target-help might print additional information.
      * doc/tm.texi: Document TARGET_HELP hook.
      
      * arm.c (TARGET_HELP): Override default definition.
        (arm_target_help): New - display a wrapped list of cores and architectures supported.
      
      From-SVN: r126323
      Nick Clifton committed
  4. 12 Jun, 2007 1 commit
    • opts.c (common_handle_option): Handle new option -fdbg-cnt-list. · 0a090f42
      2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
      
      	* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
      	* dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
      	to indicate an error.
      	(dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): New functions
      	(dbg_cnt_process_opt): Print an error on a bad argument.
      	* dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
      	* common.opt (-fdbg-cnt-list): New.
      	* doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New.
      
      From-SVN: r125657
      Seongbae Park committed
  5. 11 Jun, 2007 1 commit
  6. 24 May, 2007 1 commit
    • passes.texi: Document predictive commoning. · bbc8a8dc
      	* doc/passes.texi: Document predictive commoning.
      	* doc/invoke.texi (-fpredictive-commoning): Document.
      	* opts.c (decode_options): Enable flag_predictive_commoning on -O3.
      	* tree-ssa-loop-im.c (get_lsm_tmp_name): Export.  Allow
      	adding indices to the generated name.
      	(schedule_sm): Pass 0 to get_lsm_tmp_name.
      	* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export.
      	* tree-pretty-print.c (op_symbol_1): Renamed to ...
      	(op_symbol_code): ... and exported.
      	(dump_omp_clause, op_symbol): Use op_symbol_code
      	instead of op_symbol_1.
      	* tree-pass.h (pass_predcom): Declare.
      	* timevar.def (TV_PREDCOM): New timevar.
      	* tree-ssa-loop.c (run_tree_predictive_commoning,
      	gate_tree_predictive_commoning, pass_predcom): New.
      	* tree-data-ref.c (find_data_references_in_loop): Find the
      	references in dominance order.
      	(canonicalize_base_object_address): Ensure that the result has
      	pointer type.
      	(dr_analyze_innermost): Export.
      	(create_data_ref): Code to fail for references with invariant
      	address moved ...
      	(find_data_references_in_stmt): ... here.
      	* tree-data-ref.h (dr_analyze_innermost): Declare.
      	* tree-affine.c: Include tree-gimple.h and hashtab.h.
      	(aff_combination_find_elt, name_expansion_hash,
      	name_expansion_eq, tree_to_aff_combination_expand,
      	double_int_constant_multiple_p, aff_combination_constant_multiple_p):
      	New functions.
      	* tree-affine.h (aff_combination_constant_multiple_p,
      	tree_to_aff_combination_expand): Declare.
      	* tree-predcom.c: New file.
      	* common.opt (fpredictive-commoning): New option.
      	* tree-flow.h (op_symbol_code, tree_predictive_commoning,
      	stmt_dominates_stmt_p, get_lsm_tmp_name): Declare.
      	* Makefile.in (tree-predcom.o): Add.
      	(tree-affine.o): Add TREE_GIMPLE_H dependency.
      	* passes.c (init_optimization_passes):  Add dceloop after
      	copy propagation in loop optimizer.  Add predictive commoning
      	to loop optimizer passes.
      
      	* gcc.dg/tree-ssa/predcom-1.c: New test.
      	* gcc.dg/tree-ssa/predcom-2.c: New test.
      	* gcc.dg/tree-ssa/predcom-3.c: New test.
      	* gcc.dg/tree-ssa/predcom-4.c: New test.
      	* gcc.dg/tree-ssa/predcom-5.c: New test.
      	* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Test dceloop2 dumps.
      
      From-SVN: r125030
      Zdenek Dvorak committed
  7. 11 May, 2007 1 commit
    • Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o. · 79bedddc
      gcc/
              * Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o.
              * c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic.
              * c-common.h (strict_aliasing_warning): Change return type.
              * c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing.
              * c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning.
              (build_c_cast): Condition call to strict_aliasing_warning.
              * doc/invoke.texi: Update description of -Wstrict-aliasing[=n].
              * flags.h (set_Wstrict_aliasing): Declare.
              * opts.c (set_Wstrict_alising): Define, add call to.
              * tree-flow.h (strict_aliasing_warning_backend): Declare.
              * tree-ssa-alias-warnings.c: New file.
              * tree-ssa-alias.c (compute_may_aliases): Add call to
              strict_aliasing_warning_backend.
      
      gcc/cp
              * cp/typeck.c (build_indirect_ref): Add call to
              strict_aliasing_warning.
              (build_reinterpret_cast_1): Condition call to
              strict_aliasing_warning.
      
      gcc/testsuite
              * gcc.dg/Wstrict-aliasing-bogus-const-ptr-nonconst-ptr.c: New test.
              * gcc.dg/Wstrict-aliasing-bogus-never-dereferenced.c: New test.
              * gcc.dg/Wstrict-aliasing-bogus-struct-included.c: New test.
              * gcc.dg/Wstrict-aliasing-converted-assigned.c: New test.
              * gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: New test.
              * gcc.dg/alias-1.c: Update option: -Wstrict-aliasing=2.
              * gcc.dg/alias-9.c: Update option: -Wstrict-aliasing=2.
              * g++.dg/warn/Wstrict-aliasing-7.C: Update option: -Wstrict-aliasing=2.
              * g++.dg/warn/Wstrict-aliasing-bogus-base-derived.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-char-1.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-const.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-nested-arrays.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-struct-included.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-union.C: New test.
              * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: New test.
      
      From-SVN: r124622
      Silvius Rus committed
  8. 04 May, 2007 1 commit
  9. 17 Apr, 2007 1 commit
    • invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options... · 39ef6592
      ./:	* doc/invoke.texi (Debugging Options): Add documentation for the
      	-femit-struct-debug options -femit-struct-debug-baseonly,
      	-femit-struct-debug-reduced, and
      	-femit-struct-debug-detailed[=...].
      
      	* c-opts.c (c_common_handle_option): Add
      	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
      	and OPT_femit_struct_debug_detailed_.
      	* c.opt: Add specifications for
      	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
      	and -femit-struct-debug-detailed[=...].
      	* opts.c (set_struct_debug_option): Parse the
      	-femit-struct-debug-... options.
      	* opts.c (matches_main_base, main_input_basename,
      	main_input_baselength, base_of_path, matches_main_base): Add
      	variables and functions to compare header base name to compilation
      	unit base name.
      	* opts.c (should_emit_struct_debug): Add to determine to emit a
      	structure based on the option.
      	(dump_struct_debug) Also disabled function to debug this
      	function.
      	* opts.c (handle_options): Save the base name of the
      	compilation unit.
      
      	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
              (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
      	This hook indicates if a type is generic.  Set it by default
      	to "never generic".
      	* langhooks.h (struct lang_hooks_for_types): Add a new hook
      	to determine if a struct type is generic or not.
      	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
      	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
      	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
      	with live C++ hook.
      
      	* flags.h (enum debug_info_usage): Add an enumeration to describe
      	a program's use of a structure type.
      	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
      	to indicate the program's usage of the type.  Filter structs based
      	on the -femit-struct-debug-... specification.
      	(gen_type_die): Split into two routines, gen_type_die and
      	gen_type_die_with_usage.  gen_type_die is now a wrapper
      	that assumes direct usage.
      	(gen_type_die_with_usage): Replace calls to gen_type_die
      	with gen_type_die_with_usage adding the program usage of
      	the referenced type.
      	(dwarf2out_imported_module_or_decl): Suppress struct debug
      	information using should_emit_struct_debug when appropriate.
      testsuite/:
      	* g++.dg/other/fesd-any.C: Test -femit-struct-debug-detailed=any.
      	* g++.dg/other/fesd-any.h: Test -femit-struct-debug-detailed=any.
      	* g++.dg/other/fesd-baseonly.C: Test -femit-struct-debug-baseonly.
      	* g++.dg/other/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
      	* g++.dg/other/fesd-none.C: Test -femit-struct-debug-detailed=none.
      	* g++.dg/other/fesd-none.h: Test -femit-struct-debug-detailed=none.
      	* g++.dg/other/fesd-reduced.C: Test -femit-struct-debug-reduced.
      	* g++.dg/other/fesd-reduced.h: Test -femit-struct-debug-reduced.
      	* g++.dg/other/fesd-sys.C: Test -femit-struct-debug-detailed=sys.
      	* g++.dg/other/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
      	* g++.dg/other/fesd.h: Common to -femit-struct-debug-... tests.
      
      	* gcc.dg/fesd-any.c: Test -femit-struct-debug-detailed=any.
      	* gcc.dg/fesd-any.h: Test -femit-struct-debug-detailed=any.
      	* gcc.dg/fesd-baseonly.c: Test -femit-struct-debug-baseonly.
      	* gcc.dg/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
      	* gcc.dg/fesd-none.c: Test -femit-struct-debug-detailed=none.
      	* gcc.dg/fesd-none.h: Test -femit-struct-debug-detailed=none.
      	* gcc.dg/fesd-reduced.c: Test -femit-struct-debug-reduced.
      	* gcc.dg/fesd-reduced.h: Test -femit-struct-debug-reduced.
      	* gcc.dg/fesd-sys.c: Test -femit-struct-debug-detailed=sys.
      	* gcc.dg/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
      	* gcc.dg/fesd.h: Common to -femit-struct-debug-... tests.
      
      From-SVN: r123909
      Lawrence Crowl committed
  10. 11 Apr, 2007 1 commit
    • re PR tree-optimization/30735 (50% slow down due to mem-ssa merge) · e9e0aa2c
      	PR 30735
      	PR 31090
      	* doc/invoke.texi: Document --params max-aliased-vops and
      	avg-aliased-vops.
      	* tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
      	debug_memory_partitions): Move to tree-flow.h
      	* params.h (AVG_ALIASED_VOPS): Define.
      	* tree-ssa-alias.c (struct mp_info_def): Remove.  Update all
      	users.
      	(mp_info_t): Likewise.
      	(get_mem_sym_stats_for): New.
      	(set_memory_partition): Move from tree-flow-inline.h.
      	(mark_non_addressable): Only clear the set of symbols for the
      	partition if it exists.
      	(dump_memory_partitions): Move from tree-ssa-operands.c
      	(debug_memory_partitions): Likewise.
      	(need_to_partition_p): New.
      	(dump_mem_ref_stats): New.
      	(debug_mem_ref_stats): New.
      	(dump_mem_sym_stats): New.
      	(debug_mem_sym_stats): New.
      	(update_mem_sym_stats_from_stmt): New.
      	(compare_mp_info_entries): New.
      	(mp_info_cmp): Call it.
      	(sort_mp_info): Change argument to a list of mem_sym_stats_t
      	objects.
      	(get_mpt_for): Move from tree-ssa-operands.c.
      	(find_partition_for): New.
      	(create_partition_for): Remove.
      	(estimate_vop_reduction): New.
      	(update_reference_counts): New.
      	(build_mp_info): New.
      	(compute_memory_partitions): Refactor.
      	Document new heuristic.
      	Call build_mp_info, update_reference_counts,
      	find_partition_for and estimate_vop_reduction.
      	(compute_may_aliases): Populate virtual operands before
      	calling debugging dumps.
      	(delete_mem_sym_stats): New.
      	(delete_mem_ref_stats): New.
      	(init_mem_ref_stats): New.
      	(init_alias_info): Call it.
      	(maybe_create_global_var): Remove alias_info argument.
      	Get number of call sites and number of pure/const call sites
      	from gimple_mem_ref_stats().
      	(dump_alias_info): Call dump_memory_partitions first.
      	(dump_points_to_info_for): Show how many times a pointer has
      	been dereferenced.
      	* opts.c (decode_options): For -O2 set --param
      	max-aliased-vops to 500.
      	For -O3 set --param max-aliased-vops to 1000 and --param
      	avg-aliased-vops to 3.
      	* fortran/options.c (gfc_init_options): Remove assignment to
      	MAX_ALIASED_VOPS.
      	* tree-flow-inline.h (gimple_mem_ref_stats): New.
      	* tree-dfa.c (dump_variable): Dump memory reference
      	statistics.
      	Dump NO_ALIAS* settings.
      	(referenced_var_lookup): Tidy.
      	(mem_sym_stats): New.
      	* tree-ssa-copy.c (may_propagate_copy): Return true if DEST
      	and ORIG are different SSA names for a memory partition.
      	* tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
      	* tree-flow.h (struct mem_sym_stats_d): Define.
      	(mem_sym_stats_t): Define.
      	(struct mem_ref_stats_d): Define.
      	(struct gimple_df): Add field mem_ref_stats.
      	(enum noalias_state): Define.
      	(struct var_ann_d): Add bitfield noalias_state.
      	(mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
      	debug_mem_ref_stats, debug_memory_partitions,
      	debug_mem_sym_stats): Declare.
      	* tree-ssa-structalias.c (update_alias_info): Update call
      	sites, pure/const call sites and asm sites in structure
      	returned by gimple_mem_ref_stats.
      	Remove local variable IS_POTENTIAL_DEREF.
      	Increase NUM_DEREFS if the memory expression is a potential
      	dereference.
      	Call update_mem_sym_stats_from_stmt.
      	If the memory references memory, call
      	update_mem_sym_stats_from_stmt for all the direct memory
      	symbol references found.
      	(intra_create_variable_infos): Set noalias_state field for
      	pointer arguments according to the value of
      	flag_argument_noalias.
      	* tree-ssa-structalias.h (struct alias_info): Remove fields
      	num_calls_found and num_pure_const_calls_found.
      	(update_mem_sym_stats_from_stmt): Declare.
      	* params.def (PARAM_MAX_ALIASED_VOPS): Change description.
      	Set default value to 100.
      	(PARAM_AVG_ALIASED_VOPS): Define.
      
      From-SVN: r123719
      Diego Novillo committed
  11. 04 Apr, 2007 1 commit
  12. 14 Mar, 2007 1 commit
    • flags.h (flag_random_seed): Remove declaration, in favor of... · 403d4851
      gcc/ChangeLog:
      * flags.h (flag_random_seed): Remove declaration, in favor of...
      * toplev.h (get_random_seed, set_random_seed): ... these.
      * tree.c (get_file_function_name): Use the former.
      * opts.c (common_handle_option): Use the latter.
      * toplev.c
      gcc/cp/ChangeLog:
      * cp/repo.c (init_repo): Initialize random_seed saved options.
      (finish_repo): Adjust.
      
      From-SVN: r122901
      Alexandre Oliva committed
  13. 09 Mar, 2007 1 commit
  14. 06 Mar, 2007 1 commit
    • c-common.c (targetcm): Add. · 1f1d5130
      	* c-common.c (targetcm): Add.   
      	* c-opts.c (c_common_handle_option): Handle language specific
      	target options.
      	* opts.c (handle_option): Verify language for target options, if
      	any are given.
      	* opth-gen.awk: Add CL_LANG_ALL.
      	* target-def.h (TARGET_HANDLE_C_OPTION): Add.
      	(TARGETCM_INITIALIZER): Add.
      	* target.h (struct gcc_targetcm): Add.
      	(targetcm): Add.
      	* targhooks.c (default_handle_c_option): Add.
      	* targhooks.h (default_handle_c_option): Add.
      	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Add.
      
      	* config/darwin.opt (iframework): Add.
      	* config/darwin.h (TARGET_HAS_TARGETCM): Add.
      	* config/darwin-c.c (handle_c_option): Add.
      	(TARGET_HANDLE_C_OPTION): Add.
      	(targetcm): Add.
      	* doc/invoke.texi (Darwin Options): Add -iframework.
      
      From-SVN: r122590
      Mike Stump committed
  15. 15 Feb, 2007 1 commit
    • re PR c/26494 (-pedantic-errors can be overridden by -W*) · dc90f45b
      2007-02-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c/26494
      	* doc/invoke.texi (Warning Options): Remove
      	-Werror-implicit-function-declaration.
      	(Wimplicit-function-declaration): Update description.
      	* opts.c (common_handle_option): Move handling of -Werror=* to...
      	(enable_warning_as_error): ...here.
      	* opts.h (enable_warning_as_error): Declare.
      	* c-decl.c (implicit_decl_warning): Unless
      	-Wno-implicit-function-declaration is given, emit a pedwarn if
      	-std=c99 or emit a warning if -Wimplicit-function-declaration.
      	* c.opt (Wimplicit-function-declaration): Replace
      	mesg_implicit_function_declaration with
      	warn_implicit_function_declaration.
      	* c-opts.c (c_common_handle_option):
      	-Werror-implicit-function-declaration is exactly equal as
      	-Werror=implicit-function-declaration.
      	(set_Wimplicit): Replace mesg_implicit_function_declaration with
      	warn_implicit_function_declaration.
      	(c_common_post_options): -Wimplict-function-declaration is enabled
      	by default by -std=c99, otherwise is disabled by default.
      	* c-objc-common.c (c_objc_common_init): Remove flawed logic.
      testsuite/
      	* gcc.dg/Wimplicit-function-declaration-c89.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c89-default.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c99.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New.
      	* gcc.dg/Werror-implicit-function-declaration.c: New.
      
      From-SVN: r122017
      Manuel López-Ibáñez committed
  16. 13 Feb, 2007 1 commit
    • common.opt: Add Wstrict-overflow and Wstrict-overflow=. · 6ac01510
      ./:	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
      	* flags.h (warn_strict_overflow): Declare.
      	(enum warn_strict_overflow_code): Define.
      	(issue_strict_overflow_warning): New static inline function.
      	* opts.c (warn_strict_overflow): New variable.
      	(common_handle_option): Handle OPT_Wstrict_overflow and
      	OPT_Wstrict_overflow_.
      	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
      	OPT_Wall.
      	* fold-const.c: Include intl.h.
      	(fold_deferring_overflow_warnings): New static variable.
      	(fold_deferred_overflow_warning): New static variable.
      	(fold_deferred_overflow_code): New static variable.
      	(fold_defer_overflow_warnings): New function.
      	(fold_undefer_overflow_warnings): New function.
      	(fold_undefer_and_ignore_overflow_warnings): New function.
      	(fold_deferring_overflow_warnings_p): New function.
      	(fold_overflow_warning): New static function.
      	(make_range): Add strict_overflow_p parameter.  Change all
      	callers.
      	(extract_muldiv, extract_muldiv_1): Likewise.
      	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
      	tree_expr_nonnegative_p.
      	(fold_negate_expr): Call fold_overflow_warning.
      	(fold_range_test): Likewise.
      	(fold_comparison): Likewise.
      	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
      	instead of tree_expr_nonnegative_p.
      	(tree_expr_nonnegative_warnv_p): Rename from
      	tree_expr_nonnegative_p, add strict_overflow_p parameter.
      	(tree_expr_nonnegative_p): New function.
      	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
      	strict_overflow_p parameter.
      	(tree_expr_nonzero_p): New function.
      	* passes.c (verify_interpass_invariants): New static function.
      	(execute_one_pass): Call it.
      	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
      	warnings.
      	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
      	(estimate_numbers_of_iterations): Likewise.
      	(scev_probably_wraps_p): Likewise.
      	* tree-ssa-ccp.c: Include "toplev.h".
      	(evaluate_stmt): Defer fold overflow warnings until we know we are
      	going to optimize.
      	(struct fold_stmt_r_data): Add stmt field.
      	(fold_stmt_r): Defer fold overflow warnings until we know we
      	optimized.
      	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
      	(fold_stmt_inplace): Likewise.
      	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
      	(cleanup_control_expr_graph): Defer fold overflow warnings until
      	we know we are going to optimize.
      	* tree-cfg.c (fold_cond_expr_cond): Likewise.
      	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
      	Likewise.
      	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
      	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
      	* tree-ssa-loop-manip.c (create_iv): Likewise.
      	* c-typeck.c (build_conditional_expr): Likewise.
      	(build_binary_op): Likewise.
      	* tree-vrp.c (vrp_expr_computes_nonzero): Call
      	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
      	(extract_range_from_unary_expr): Likewise.
      	* simplify-rtx.c (simplify_const_relational_operation): Warn when
      	assuming that signed overflow does not occur.
      	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
      	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
      	(fold_defer_overflow_warnings): Declare.
      	(fold_undefer_overflow_warnings): Declare.
      	(fold_undefer_and_ignore_overflow_warnings): Declare.
      	(fold_deferring_overflow_warnings_p): Declare.
      	(tree_expr_nonzero_warnv_p): Declare.
      	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
      	of warning options.
      	(Warning Options): Document -Wstrict-overflow.
      	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
      	(tree-ssa-ccp.o): Likewise.
      	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
      	(fold-const.o): Depend on intl.h.
      testsuite/:
      	* gcc.dg/Wstrict-overflow-1.c: New test.
      	* gcc.dg/Wstrict-overflow-2.c: New test.
      	* gcc.dg/Wstrict-overflow-3.c: New test.
      	* gcc.dg/Wstrict-overflow-4.c: New test.
      	* gcc.dg/Wstrict-overflow-5.c: New test.
      	* gcc.dg/Wstrict-overflow-6.c: New test.
      	* gcc.dg/Wstrict-overflow-7.c: New test.
      	* gcc.dg/Wstrict-overflow-8.c: New test.
      	* gcc.dg/Wstrict-overflow-9.c: New test.
      	* gcc.dg/Wstrict-overflow-10.c: New test.
      
      From-SVN: r121895
      Ian Lance Taylor committed
  17. 12 Feb, 2007 2 commits
    • invoke.texi (Overall Options): Document --help=. · c662432e
      * doc/invoke.texi (Overall Options): Document --help=.                                                        
      * gcc.c (target_help_flag): Rename to print_subprocess_flag.                                                  
        (cc1_options): Pass --help= on to cc1.                                                                      
        (display_help): Add description of --help=.                                                                 
        (process_command): Add code to handle --help=.  Allow translated                                            
        --help and --target-help switches to be passed on to compiler sub-process.                                                                                               
        (main): Remove unused if statement.                                                                         
      * opts.c (columns): Remove.                                                                                   
        (LEFT_COLUMN): Define.                                                                                      
        (wrap_help): Add columns argument.                                                                          
        (print_filtered_help): Change parameters to be an include bitmask,                                          
        an exclude bitmask, an any bitmask and the column width.  Move the                                          
        code to display the params list here.  Add code to display the                                              
        status of options rather than their descriptions if the quiet flag                                          
        is not active.                                                                                              
        (print_specific_help): Change parameters to be an include bitmask,                                          
        an exclude bitmask and an any bitmask.  Move code to look up the                                            
        column width here.  Decide upon the title for an options listing.                                           
        (common_handle_options): Add code to handle --help=.  Adapt code                                            
        for --help and --target-help to use the revised form of the                                                 
        print_specific_help function.                                                                               
        (print_help): Delete.                                                                                       
        (print_param_help): Delete.                                                                                 
        (print_switch): Delete.                                                                                     
      * opts.h (cl_lang_count): Add prototype.                                                                      
       (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, CL_MAX_OPTION_CLASS): New defines.            
      * optc-gen.awk: Add construction of cl_lang_count.                                                            
      * c.opt: Add Warning attribute to warning options and Optimization attribute to optimization options.         
      * common.opt: Likewise.                                                                                       
        Add --help=.                                                                                                
        Add -fhelp and -ftarget-help as aliases for the transformed --help and --target-help options.               
      * opt-functions.awk: Add code to handle Warning and Optimization attributes.
      
      From-SVN: r121849
      Nick Clifton committed
    • re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags) · 27f33b15
      2007-02-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR middle-end/7651
      	* doc/invoke.texi (Wunused-value): Update description.
      	(Wextra): Delete item.
      	* opts.c (set_Wextra): Don't use the value of Wextra to set the
      	value of Wunused-value.
      	* c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
      	(c_finish_stmt_expr): Don't check extra_warnings.
      	(emit_side_effect_warnings): The caller is responsible to check
      	warn_unused_value.
      cp/
      	* cp-gimplify.c (gimplify_expr_stmt): Don't check extra_warnings.
      	Check warn_unused_value just once.
      
      From-SVN: r121843
      Manuel López-Ibáñez committed
  18. 01 Feb, 2007 1 commit
    • lower-subreg.c: New file. · e53a16e7
      gcc/:
      	* lower-subreg.c: New file.
      	* rtl.def (CONCATN): Define.
      	* passes.c (init_optimization_passes): Add pass_lower_subreg and
      	pass_lower_subreg2.
      	* emit-rtl.c (update_reg_offset): New static function, broken out
      	of gen_rtx_REG_offset.
      	(gen_rtx_REG_offset): Call update_reg_offset.
      	(gen_reg_rtx_offset): New function.
      	* regclass.c: Revert patch of 2006-03-05, restoring
      	reg_scan_update.
      	(clear_reg_info_regno): New function.
      	* dwarf2out.c (concatn_loc_descriptor): New static function.
      	(loc_descriptor): Handle CONCATN.
      	* common.opt (fsplit_wide_types): New option.
      	* opts.c (decode_options): Set flag_split_wide_types when
      	optimizing.
      	* timevar.def (TV_LOWER_SUBREG): Define.
      	* rtl.h (gen_reg_rtx_offset): Declare.
      	(reg_scan_update): Declare.
      	* regs.h (clear_reg_info_regno): Declare.
      	* tree-pass.h (pass_lower_subreg): Declare.
      	(pass_lower_subreg2): Declare.
      	* doc/invoke.texi (Option Summary): List -fno-split-wide-types.
      	(Optimize Options): Add -fsplit-wide-types to -O1 list.  Document
      	-fsplit-wide-types.
      	* doc/rtl.texi (Regs and Memory): Document concat and concatn.
      	* Makefile.in (OBJS-common): Add lower-subreg.o.
      	(lower-subreg.o): New target.
      gcc/testsuite/:
      	* gcc.dg/lower-subreg-1.c (test): New test.
      
      From-SVN: r121453
      Ian Lance Taylor committed
  19. 28 Jan, 2007 1 commit
    • common.opt: Add fstrict-overflow. · eeef0e45
      ./:	* common.opt: Add fstrict-overflow.
      	* opts.c (decode_options): Set flag_strict_overflow if -O2.
      	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
      	(TYPE_OVERFLOW_UNDEFINED): Define.
      	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
      	Replace all uses.
      	* tree.h (TYPE_TRAP_SIGNED): Don't define.
      	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
      	(fold_negate_expr): Likewise.
      	(make_range): Likewise.
      	(extract_muldiv_1): Likewise.
      	(maybe_canonicalize_comparison): Likewise.
      	(fold_comparison): Likewise.
      	(fold_binary): Likewise.
      	(tree_expr_nonnegative_p): Likewise.
      	(tree_expr_nonzero_p): Likewise.
      	* tree-vrp.c (compare_values): Likewise.
      	(extract_range_from_binary_expr): Likewise.
      	(extract_range_from_unary_expr): Likewise.
      	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
      	Likewise.
      	(nowrap_type_p): Likewise.
      	* tree-scalar-evolution.c (simple_iv): Likewise.
      	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
      	(build_range_check): Likewise.
      	(extract_muldiv_1): Likewise.
      	(fold_comparison): Likewise.
      	* tree-vrp.c (vrp_int_const_binop): Likewise.
      	(extract_range_from_unary_expr): Likewise.
      	* convert.c (convert_to_integer): Likewise.
      	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
      	(fold_comparison): Likewise.
      	(fold_binary): Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
      	* simplify-rtx.c (simplify_const_relational_operation): Check
      	flag_strict_overflow and flag_trapv.
      	(simplify_const_relational_operation): Likewise.
      	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
      	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
      	-fstrict-overflow.
      testsuite/:
      	* gcc.dg/strict-overflow-1.c: New test.
      	* gcc.dg/no-strict-overflow-1.c: New test.
      	* gcc.dg/strict-overflow-2.c: New test.
      	* gcc.dg/no-strict-overflow-2.c: New test.
      	* gcc.dg/strict-overflow-3.c: New test.
      	* gcc.dg/no-strict-overflow-3.c: New test.
      	* gcc.dg/strict-overflow-4.c: New test.
      	* gcc.dg/no-strict-overflow-4.c: New test.
      	* gcc.dg/fold-mod-1.c: Add -fstrict-overflow option.
      	* gcc.dg/pr15784-1.c: Likewise.
      	* gcc.dg/pr20922-1.c: Likewise.
      	* gcc.dg/pr20922-3.c: Likewise.
      	* gcc.dg/pr20922-4.c: Likewise.
      	* gcc.dg/pr20922-6.c: Likewise.
      	* gcc.dg/compare-4.c: Likewise.
      	* gcc.dg/torture/pr26898-1.c: Likewise.
      	* gcc.dg/tree-ssa/divide-1.c: Likewise.
      	* gcc.dg/tree-ssa/divide-2.c: Likewise.
      	* gcc.dg/tree-ssa/divide-3.c: Likewise.
      	* gcc.dg/tree-ssa/divide-4.c: Likewise.
      	* gcc.dg/tree-ssa/pr14490-1.c: Likewise.
      	* gcc.dg/tree-ssa/pr14490-3.c: Likewise.
      	* gcc.dg/tree-ssa/pr21082.c: Likewise.
      	* gcc.dg/tree-ssa/pr26899.c: Likewise.
      	* g++.dg/tree-ssa/pr21082.C: Likewise.
      
      From-SVN: r121254
      Ian Lance Taylor committed
  20. 19 Jan, 2007 1 commit
    • common.opt (fsigned-zeros): New command line option. · db02da79
      	* common.opt (fsigned-zeros): New command line option.
      	* flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead
      	of flag_unsafe_math_optimizations.
      	* opts.c (set_fast_math_flags): The -ffast-math command line option
      	implies -fno-signed-zeros.
      	(fast_math_flags_set_p): Likewise.
      
      	* doc/invoke.texi: Document new -fno-signed-zeros option, and update
      	the documentation of -ffast-math appropriately.  Wrap long lines.
      
      	* gcc.dg/pr30172-1.c: Specify the -fno-signed-zeros command line
      	option instead of -funsafe-math-optimizations.
      
      From-SVN: r120978
      Roger Sayle committed
  21. 23 Dec, 2006 1 commit
  22. 10 Dec, 2006 1 commit
    • New out of ssa Coalescer. · 7290d709
      2006-12-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* common.opt (-ftree-lrs): Remove live range splitting option.
      	* makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
      	* opts.c (decode_options): Remove flag_tree_live_range_split.
      	* tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
      	* tree-flow-inline.h (single_imm_use_p): New.  Check for single use.
      	* tree-outof-ssa.c: Remove header files which aren't needed.
      	(SSANORM_*): Remove flags.
      	(print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands, 
      	coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
      	(coalesce_ssa_name): Move to tree-ssa-coalesce.c.
      	(assign_vars): Use Basevar instead of root_var structure.
      	(replace_def_variable): Dont do anything if def is replaceable.
      	(remove_ssa_form): Integrate functional changes.
      	(rewrite_out_of_ssa): Remove live-range_split option.
      	* tree-ssa-coalesce.c: New File for ssa-name coalescing.
      	(coalesce_cost): Calculate the cost of a coalesce.
      	(coalesce_cost_bb): Calculate the coalesce cost within a BB.
      	(coalesce_cost_edge): Calculate the coalesce cost on an edge.
      	(pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
      	(pop_best_coalesce): Remove the best coalesce from the list.
      	(coalesce_pair_map_hash): Calculate coalesce pair hash.
      	(coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
      	(create_coalesce_list): Create a coalesce list object.
      	(delete_coalesce_list): Free a coalesce list object.
      	(find_coalesce_pair): Find matching pair in the coalesce list.
      	(add_cost_one_coalesce): Add a coalesce to the "cost one" list.
      	(add_coalesce): Add a coalesce to the coalesce list.
      	(compare_pairs): Comparision function to determine pair sorted order.
      	(num_coalesce_pairs): Number of coalesced pairs.
      	(first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
      	Coalesce pair iterator functions.
      	(sort_coalesce_list): Sort coalesce pairs in order of expense.
      	(dump_coalesce_list): Show coalesce list.
      	(ssa_conflicts_new): Create an SSA conflict graph.
      	(ssa_conflicts_delete): Delete an SSA conflict graph.
      	(ssa_conflicts_test_p): Test for conflicts.
      	(ssa_conflicts_add_one): Add a single conflict.
      	(ssa_conflicts_add): Add a conflict pair.
      	(ssa_conflicts_merge): Merge conflicts.
      	(struct live_track_d): Struct for tracking live partitions.
      	(new_live_track): Create new live_track object.
      	(delete_live_track): Delete a live_track object.
      	(live_track_remove_partition): Remove a partition from the live list.
      	(live_track_add_partition): Add a partition from the live list.
      	(live_track_clear_var): Take VAR from the live list.
      	(live_track_live_p): Is var live?
      	(live_track_process_use): Make var come alive.
      	(live_track_process_def): Make var go dead, add conflicts.
      	(live_track_init): Initialize to a live on exit set.
      	(live_track_clear_base_vars): Clear live partitions.
      	(build_ssa_conflict_graph): Build a conflict graph.
      	(print_exprs): Common debug output routine.
      	(abnormal_corrupt): Output info about a failed coalesce across an
      	abnormal edge.
      	(fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
      	(create_outofssa_var_map): Create a var map and coalesce list.
      	(attempt_coalesce): Coalesce a pair.
      	(coalesce_partitions): Coalesce all pairs in a coalesce list.
      	(coalesce_ssa_name): Entry point.  Determine what ssa_names to coalesce.
      	* tree-ssa-live.c: Remove header files which aren't needed.
      	(var_map_base_init): New.  Initialize a basevar list.
      	(var_map_base_fini): New.  Finish a basevar list.
      	(init_var_map): Initialize new fields.
      	(delete_var_map): Free new fields.
      	(var_union): Use renamed fields.
      	(compact_var_map): Remove.
      	(partition_to_view_init): Use renamed fields, change order of an if.
      	(partition_view_fini): Use renamed fields.
      	(partition_view_normal): Create basevar list if requested.
      	(partition_view_bitmap): Create a view based on a bitmap of partitions.
      	(change_partition_var): Use renamed fields.
      	(create_ssa_var_map): Remove.
      	(tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
      	root_var_init): Remove.
      	(partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
      	delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
      	compare_pairs, num_coalesce_pairs, first_partition_pair,
      	end_partition_pair_p, next_partition_pair, sort_coalesce_list,
      	pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
      	build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
      	tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
      	(dump_var_map): Use renamed fields.
      	* tree-ssa-live.h (struct  _var_map): Modify fields.
      	(partition_to_var, version_to_var, var_to_partition): Use renamed 
      	fields.
      	(basevar_index): New.  Index of the base variable of a partition.
      	(num_basevars): New.  Number of unique base variables in partition map.
      	(register_ssa_partition): Use renamed fields.
      	(struct tree_partition_associator_d): Remove.
      	(tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
      	tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
      	root_var, root_var_first_partition, root_var_next_partition,
      	root_var_dump, root_var_delete, root_var_remove_partition, 
      	root_var_find, root_var_compact, root_var_decompact): Remove.
      	(struct partition_pair, struct coalesce_list_d): Moved to 
      	tree-ssa-coalesce.c
      	* tree-ssa-ter.c: Remove header files which aren't needed.
      
      From-SVN: r119711
      Andrew MacLeod committed
  23. 04 Nov, 2006 1 commit
    • fwprop.c: New file. · a52b023a
      2006-11-03  Paolo Bonzini  <bonzini@gnu.org>
                  Steven Bosscher  <stevenb.gcc@gmail.com>
      
              * fwprop.c: New file.
              * Makefile.in: Add fwprop.o.
              * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
              * passes.c (init_optimization_passes): Schedule forward propagation.
              * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
              parameter.
              * timevar.def (TV_FWPROP): New.
              * common.opt (-fforward-propagate): New.
              * opts.c (decode_options): Enable forward propagation at -O2.
              * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
              * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
              canon_for_address, table_size): Remove.
              (new_basic_block, insert, remove_from_table): Remove references to
              table_size.
              (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
              simplification loop more straightforward by not calling fold_rtx
              recursively.
              (equiv_constant): Move here a small part of fold_rtx_subreg,
              do not call fold_rtx.  Call avoid_constant_pool_reference
              to process MEMs.
              * recog.c (canonicalize_change_group): New.
              * recog.h (canonicalize_change_group): New.
      
              * doc/invoke.texi (Optimization Options): Document fwprop.
              * doc/passes.texi (RTL passes): Document fwprop.
      
      
      Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>
      
      From-SVN: r118475
      Paolo Bonzini committed
  24. 31 Oct, 2006 1 commit
  25. 16 May, 2006 1 commit
    • re PR target/26885 (-m64 -m32 no longer creates 32-bit object) · 14c7833c
      gcc/
      
      2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/26885
      	* Makefile.in (GCC_OBJS): New.
      	(OBJS-common): Add opts-common.o.
      	(xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
      	(cpp$(exeext)): Likewise.
      	(gcc.o): Also depend on opts.h.
      	(opts-common.o): New.
      
      	* common.opt (gcoff): Add Negative(gdwarf-2).
      	(gdwarf-2): Add Negative(gstabs).
      	(gstabs): Add Negative(gstabs+).
      	(gstabs+): Add Negative(gvms).
      	(gvms): Add Negative(gxcoff).
      	(gxcoff): Add Negative(gxcoff+).
      	(gxcoff+): Add Negative(gcoff).
      	* config/i386/i386.opt (m32): Add Negative(m64).
      	(m64): Add Negative(m32).
      
      	* doc/options.texi: Document the Negative option.
      
      	* gcc.c: Include "opts.h".
      	(main): Call prune_options after expandargv.
      
      	* optc-gen.awk: Generate common declarations for all flag
      	variables in options.c. Output the neg_index field.
      
      	* opts.c (find_opt): Moved to ...
      	* opts-common.c: Here. New file.
      
      	* opts.h (cl_option): Add a neg_index field.
      	(find_opt): New.
      	(prune_options): Likewise.
      
      gcc/cp/
      
      2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/26885
      	* Make-lang.in (GXX_OBJS): Replace gcc.o with $(GCC_OBJS).
      
      gcc/fortran/
      
      2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/26885
      	* Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with
      	$(GCC_OBJS).
      
      gcc/java/
      
      2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/26885
      	* Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with
      	$(GCC_OBJS).
      
      gcc/treelang/
      
      2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/26885
      	* Make-lang.in (gtreelang$(exeext)): Replace gcc.o with
      	$(GCC_OBJS).
      
      From-SVN: r113824
      H.J. Lu committed
  26. 07 May, 2006 1 commit
  27. 04 May, 2006 1 commit
    • [multiple changes] · 8cd37d0b
      2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
      
              * see.c: New file.
              * Makefile.in (OBJS-common): Add see.o.
              (see.o): Add dependencies.
              * common.opt (fsee): New flag for the see optimization was added.
              * opts.c (flag_see): Initialized.
              * passes.c (init_optimization_passes, pass_see): New pass.
              * rtl.h (see_main): Declaration as extern.
              * timevar.def (TV_SEE): New.
              * tree-pass.h (pass_see): Declaration as extern.
              * invoke.texi (-fsee): Document.
              * recog.c (validate_simplify_insn): New function.
              * recog.h (validate_simplify_insn): Declaration as extern.
              * df-problems.c (df_chain_dump): Check for NULL.
      
      2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
                  Daniel Berlin  <dberlin@dberlin.org>
      
              * cfgrtl.c (insert_insn_bb_end_new): New function.
              * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
      
      2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
      
              * df.h (struct web_entry): Moved from web.c.
              (union_defs): Declaration as extern.
              (unionfind_root): Likewise.
              (unionfind_union): Likewise.
              * web.c (struct web_entry): Moved to df.h.
              (unionfind_root): Remove static declaration.
              (unionfind_union): Likewise.
              (union_defs): Likewise and generalize to use callback function.
              (web_main): Update arguments for union_defs function call.
      
      From-SVN: r113518
      Razya Ladelsky committed
  28. 04 Mar, 2006 1 commit
    • builtins.c, [...]: Fix comment typos. · c0220ea4
      	* builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
      	combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
      	config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
      	config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
      	df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
      	loop-invariant.c, omp-low.c, opts.c, passes.c,
      	rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
      	tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c,
      	tree-ssa-threadupdate.c, tree-vect-patterns.c,
      	tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
      	unwind-dw2.c: Fix comment typos.  Follow spelling conventions.
      
      From-SVN: r111721
      Kazu Hirata committed
  29. 27 Feb, 2006 1 commit
    • opts.c (decode_options): Do not handle flag_strength_reduce. · efa1cdf0
      	* opts.c (decode_options): Do not handle flag_strength_reduce.
      	(common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
      	and OPT_fstrength_reduce.
      	* tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
      	flag_prefetch_loop_arrays for being nonzero.
      	* common.opt (floop-optimize, frerun-loop-opt): Resurrected as
      	no-ops.
      	(fprefetch-loop-arrays-rtl): Removed.
      	(flag_prefetch_loop_arrays): Do not specify the value.
      
      	* doc/passes.texi: Update documentation of loop optimizer
      	passes.
      	* doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
      	-frerun-loop-opt): Remove.
      
      	* gcc.target/i386/20000614-2.c: Do not use -fno-strength-reduce.
      	* gcc.dg/20030324-1.c: Do not use -fstrength-reduce.
      
      From-SVN: r111469
      Zdenek Dvorak committed
  30. 26 Feb, 2006 1 commit
    • common.opt (-floop-optimize, [...]): Remove. · 37818e7c
      gcc/
      	* common.opt (-floop-optimize, -frerun-loop-opt): Remove.
      	* tree-pass.h (pass_loop_optimize): Remove.
      	* passes.c (pass_loop_optimize): Never run it.
      	* toplev.c (backend_init): Don't call init_loop.
      	* opts.c (flag_loop_optimize_set): Remove.
      	(decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
      	(common_handle_option) <OPT_floop_optimize>: Remove.  Don't disable
      	the old RTL loop optimizer when profiling enabled.
      	* predict.c (tree_estimate_probability): Always strip builtin_expect.
      	* cfgcleanup.c (try_forward_edges): Don't avoid killing loop
      	pre-headers for the sake of the old RTL loop optimizer.
      	* Makefile.in: Remove all references to loop.o.
      
      	* doc/invoke.texi: Remove all references to -floop-optimize
      	and -frerun-loop-opt.
      
      testsuite/
      	* gcc.dg/20031201-1.c: Don't use -frerun-loop-opt.
      	* g++.old-deja/g++.robertl/eb132.C: Likewise.
      
      From-SVN: r111459
      Steven Bosscher committed
  31. 15 Feb, 2006 1 commit
    • re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function) · f4daf7e4
      2006-02-15  Uttam Pawar  <uttamp@us.ibm.com>
      
              PR rtl-optimization/26184
              * modulo-sched.c (generate_reg_moves): Free bitmap vector
              uses_of_defs.
              * modulo-sched.c (sms_schedule): Free g_arr pointer.
              * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
              must_precede, must_follow and tobe_scheduled.
      
              PR other/26147
              * opts.c (common_handle_option): Free new_option pointer.
              * df-core.c (df_analyze): Free postorder pointer.
      
      From-SVN: r111114
      Uttam Pawar committed
  32. 01 Feb, 2006 1 commit
    • opts.c (no_unit_at_a_time_default): New global variable. · 46fd0f8c
      2006-02-01  Jan Hubicka  <jh@suse.cz>
      
      	* opts.c (no_unit_at_a_time_default): New global variable.
      	(decode_options): Use it.
      	* opts.h (no_unit_at_a_time_default): Declare.
      
      java/
      	* decl.c (end_java_method): Kill hack disabling unit-at-a-time.
      	* lang.c (java_init_options): Set no_unit_at_a_time_default.
      
      From-SVN: r110479
      Jan Hubicka committed
  33. 31 Jan, 2006 1 commit
    • tree-vrp.c: Use XNEW/XCNEW allocation wrappers. · 5ed6ace5
      2006-01-31  Marcin Dalecki  <martin@dalecki.de>
      
      	* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
      	* regrename.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-dump.c: Ditto.
      	* tree-complex.c: Ditto.
      	* genrecog.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tracer.c: Ditto.
      	* java/class.c: Ditto.
      	* java/jcf-parse.c: Ditto.
      	* java/resource.c: Ditto.
      	* java/except.c: Ditto.
      	* java/jvspec.c: Ditto.
      	* java/jcf-write.c: Ditto.
      	* java/jcf-path.c: Ditto.
      	* java/gjavah.c: Ditto.
      	* java/zextract.c: Ditto.
      	* java/jcf-io.c: Ditto.
      	* java/jcf.h: Ditto.
      	* java/buffer.c: Ditto.
      	* java/lang.c: Ditto.
      	* java/parse-scan.y: Ditto.
      	* java/lex.c: Ditto.
      	* java/lex.h: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* postreload.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* loop.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* cppspec.c: Ditto.
      	* diagnostic.c: Ditto.
      	* final.c: Ditto.
      	* genoutput.c: Ditto.
      	* gcc.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* objc/objc-act.c: Ditto.
      	* gcov.c: Ditto.
      	* genextract.c: Ditto.
      	* genautomata.c: Ditto.
      	* pretty-print.c: Ditto.
      	* genemit.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* flow.c: Ditto.
      	* df-scan.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* dominance.c: Ditto.
      	* dbxout.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* df-core.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* graph.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* cse.c: Ditto.
      	* fix-header.c: Ditto.
      	* web.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* loop-init.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* cfganal.c: Ditto.
      	* global.c: Ditto.
      	* alloc-pool.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* opts.c: Ditto.
      	* genattrtab.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* predict.c: Ditto.
      	* timevar.c: Ditto.
      	* lcm.c: Ditto.
      	* fortran/gfortranspec.c: Ditto.
      	* regmove.c: Ditto.
      	* local-alloc.c: Ditto.
      	* langhooks.c: Ditto.
      	* function.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* gcse.c: Ditto.
      	* ipa-type-escape.c: Ditto.
      	* alias.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* profile.c: Ditto.
      	* ipa.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* treelang/treetree.c: Ditto.
      	* calls.c: Ditto.
      	* bt-load.c: Ditto.
      	* ggc-common.c: Ditto.
      	* except.c: Ditto.
      	* coverage.c: Ditto.
      	* cselib.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* print-tree.c: Ditto.
      	* conflict.c: Ditto.
      	* ggc-page.c: Ditto.
      	* sched-deps.c: Ditto.
      	* regclass.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* combine.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* resource.c: Ditto.
      	* var-tracking.c: Ditto.
      	* cfgloop.c: Ditto.
      	* df-problems.c: Ditto.
      	* reg-stack.c: Ditto.
      	* tlink.c: Ditto.
      	* gccspec.c: Ditto.
      	* sched-rgn.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* collect2.c: Ditto.
      	* reload1.c: Ditto.
      
      From-SVN: r110446
      Marcin Dalecki committed
  34. 18 Jan, 2006 1 commit
    • c-pragma.c (handle_pragma_diagnostic): New. · 79cf5994
      * c-pragma.c (handle_pragma_diagnostic): New.
      (init_pragma): Register it.
      * doc/extend.texi: Document it.
      
      * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED.
      * diagnostic.h (diagnostic_classify_diagnostic): Declare.
      (diagnostic_context): Add classify_diagnostic[].
      * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings
      as errors if they're overridden to DK_WARNING.
      (diagnostic_initialize): Initialize classify_diagnostic[].
      (diagnostic_set_kind_override): New.
      (diagnostic_report_diagnostic): Check for kind changes.
      * opts.c (common_handle_option): Take lang_mask.  Update callers.
      Handle OPT_Werror_.
      * common.opt (Werror=): New.
      * doc/invoke.texi: Document -Werror=*
      
      From-SVN: r109907
      DJ Delorie committed
  35. 06 Dec, 2005 2 commits
  36. 28 Jul, 2005 1 commit
    • Makefile.in (rtl-profile.o): Kill all traces of it. · 8a76829c
      	* Makefile.in (rtl-profile.o): Kill all traces of it.
      	* common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
      	* coverage.h (rtl_coverage_counter_ref): Kill.
      	* opts.c (flag_speculative_prefetching_set): Kill.
      	(flag_loop_optimize_set): New.
      	(common_handle_option): Disable loop optimizer when profiling;
      	do not handle speculative prefetching.
      	* passes.c (init_optimization_passes): Replace pass_profiling combo
      	by branch_prob pass.
      	* profile.c (compute_value_histograms): Update for simplified value
      	profiles.
      	(rtl_register_profile_hooks): Kill.
      	(pass_profiling): Kill.
      	(rest_of_handle_branch_prob): Do not profile.
      	* toplev.c (process_options): Remove speculative prefetching.
      	* toplev.h (flag_tree_based_profiling): Kill.
      	* tree-profile.c (prepare_instrumented_value,
      	tree_gen_interval_profiler, tree_gen_pow2_profiler,
      	tree_gen_one_value_profiler, do_tree_profiling): Update for
      	simplified datastructures.
      	* value-prof.c: Add comment that speculative prefetching was dropped;
      	update rest of file for simplified datastructures.
      	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
      	rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
      	find_mem_reference_1, find_mem_reference_2, find_mem_reference,
      	rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
      	rtl_mod_subtract, gen_speculative_prefetch,
      	rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
      	rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
      	(gate_handle_value_profile_transformations,
      	rest_of_handle_value_profile_transformations,
      	pass_value_profile_transformations): Kill.
      	* value-prof.h (histogram_value_t): Remove IL based unions.
      	(rtl_register_value_prof_hooks, rtl_register_profile_hooks,
      	rtl_profile_hooks): Remove hooks.
      
      	* invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
      
      	* inliner-1.c: Do not dump everything.
      	* tree-prof.exp: Do not pass -ftree-based-profiling.
      	* bprob.exp: Likewise.
      
      From-SVN: r102522
      Jan Hubicka committed
  37. 19 Jul, 2005 1 commit
    • Makefile.in: Removed tree-promote-statics.c · 6a9a79a8
      2005-07-19  Danny Berlin <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* Makefile.in: Removed tree-promote-statics.c
      	* tree-promote-statics.c: Removed.
      	* common.opt: Removed flag-promote-statics.
      	* opts.c: Ditto.
      	* passes.c: Removed tree-promote-statics pass.
      	* tree-pass.h: Ditto.
      	* timevar.def: Removed TV_PROMOTE_STATICS.
      
      
      2005-07-19  Danny Berlin <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* gcc.dg/tree-ssa/sra-2.c: Changed back to -O1 and added xfail.
      
      Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
      
      From-SVN: r102165
      Daniel Berlin committed
  38. 16 Jul, 2005 1 commit
    • Makefile.in: Added rules for ipa-pure-const.c... · ea900239
      2005-07-16  Danny Berlin <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
      	ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
      	ipa-type-escape.h, tree-promote-statics.c
      	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
      	ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
      	tree-promote-statics.c: new files.
      	* alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
      	nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
      	int nonlocal_set_p, mark_constant_function): Deleted.
      	(rest_of_handle_cfg): Removed call to mark_constant_function.
              (nonoverlapping_component_refs_p): Added calls to support
      	type based aliasing.
              * tree-ssa-alias.c (may_alias_p,
      	compute_flow_insensitive_aliasing): Ditto.
      	* calls.c (flags_from_decl_or_type): Removed reference to
      	cgraph_rtl_info.
      	(flags_from_decl_or_type): Support ECF_POINTER_NO_CAPTURE attribute.
      	* c-common.c (handle_pointer_no_capture_attribute): New function
      	and added pointer_no_capture attribute.
            	* c-typeck.c (convert_arguments): Make builtins tolerant of having
      	too many arguments.  This is necessary for Spec 2000.
      	* cgraph.h (const_function, pure_function): Removed.
      	* common.opt: Added "fipa-pure-const", "fipa-reference",
      	"fipa-type-escape", and "ftree-promote-static".
      	* opts.c: Ditto.
      	* passes.c: Added ipa and tree-promote-statics passes.
      	* timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
      	TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
      	* tree.h: Support ECF_POINTER_NO_CAPTURE attribute.
      	* tree-dfa.c (referenced_var_lookup_if_exists): New function.
      	* tree-flow.h: Added exposed sra calls and addition of
      	reference_vars_info field for FUNCTION_DECLS.
      	* tree-pass.h: Added passes.
      	* tree-sra.c: (sra_init_cache): New function.
      	(sra_insert_before, sra_insert_after) Made public.
      	(type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
      	and made public.
      	* tree-ssa-alias.c (dump_alias_stats): Added stats for type based
      	aliasing. (may_alias_p): Added code to use type escape analysis to
      	improve alias sets.
      	* tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
      	code to prune clobbers of static variables based on information
      	produced in ipa-reference pass.  Changed call clobbering so that
      	statics are not marked as clobbered if the call does not clobber
      	them.
      
      
      2005-07-16  Danny Berlin <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* gcc.dg/tree-ssa/ssa-dce-2.c: Changed dg-options to run at -O2
      	since pure const detection cannot run at -O1 in c compiler.
      	* gcc.dg/tree-ssa/20030714-1.c Changed scanning patterns because we
      	can now optimize this case properly.
      	* gcc.dg/tree-ssa/sra-2.c: Changed to -O3 and removed xfail
      	because we now pass.
      	* gcc.dg/vect/vect-92.c: Removed out of bounds array access.
      
      Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
      
      From-SVN: r102098
      Daniel Berlin committed