1. 28 Jul, 2010 10 commits
  2. 27 Jul, 2010 30 commits
    • pt.c (tsubst_expr): Handle getting an AGGR_INIT_EXPR from build_value_init. · 462aa169
      	* pt.c (tsubst_expr) [DECL_EXPR]: Handle getting an AGGR_INIT_EXPR
      	from build_value_init.
      	* init.c (build_value_init_noctor): Give error for unknown array
      	bound.
      
      From-SVN: r162603
      Jason Merrill committed
    • rtl.def (DEBUG_INSN, [...]): Swap operands 4 and 5. · 418e920f
      	* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
      	4 and 5.
      	* rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
      	NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
      	NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
      	* gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
      	CODE_LABELs and NOTEs.
      	* caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
      	* combine.c (try_combine): Likewise.
      	* ira.c (setup_prohibited_mode_move_regs): Likewise.
      	* print-rtl.c (print_rtx): Start REG_NOTES on a new line.
      
      From-SVN: r162602
      Bernd Schmidt committed
    • coretypes.h (struct cl_option_handlers): Declare. · 5f20c657
      	* 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
      Joseph Myers committed
    • re PR rtl-optimization/40956 (Constants are never candidates for hoisting) · 689d6c4a
      	PR rtl-optimization/40956
      	PR target/42495
      	PR middle-end/42574
      	* gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
      	* gcc.target/arm/pr42574.c: Add tests.
      
      From-SVN: r162600
      Maxim Kuvyrkov committed
    • arm.c (params.h): Include. · ec3728ad
      	* config/arm/arm.c (params.h): Include.
      	(arm_override_options): Tune gcse-unrestricted-cost.
      	* config/arm/t-arm (arm.o): Define dependencies.
      
      From-SVN: r162598
      Maxim Kuvyrkov committed
    • re PR target/42495 (redundant memory load) · cad9aa15
      	PR target/42495
      	PR middle-end/42574
      	* basic-block.h (get_dominated_to_depth): Declare.
      	* dominance.c (get_dominated_to_depth): New function, use
      	get_all_dominated_blocks as a base.
      	(get_all_dominated_blocks): Use get_dominated_to_depth.
      
      	* gcse.c (occr_t, VEC (occr_t, heap)): Define.
      	(hoist_exprs): Remove.
      	(alloc_code_hoist_mem, free_code_hoist_mem): Update.
      	(compute_code_hoist_vbeinout): Add debug print outs.
      	(hoist_code): Partially rewrite, simplify.  Use get_dominated_to_depth.
      
      	* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
      	quadratic behavior.
      	* params.h (MAX_HOIST_DEPTH): New macro.
      	* doc/invoke.texi (max-hoist-depth): Document.
      
      From-SVN: r162597
      Maxim Kuvyrkov committed
    • re PR rtl-optimization/40956 (Constants are never candidates for hoisting) · 9b9ee6d3
      	PR rtl-optimization/40956
      	* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
      	constants.
      
      From-SVN: r162596
      Maxim Kuvyrkov committed
    • re PR target/42495 (redundant memory load) · d37c3c62
      	PR target/42495
      	PR middle-end/42574
      	* config/arm/arm.c (legitimize_pic_address): Use
      	gen_calculate_pic_address pattern to emit calculation of PIC address.
      	(will_be_in_index_register): New function.
      	(arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
      	(thumb1_legitimate_address_p): Use it provided !strict_p.
      	* config/arm/arm.md (calculate_pic_address): New expand and split.
      
      From-SVN: r162595
      Maxim Kuvyrkov committed
    • re PR target/42495 (redundant memory load) · 3393e880
      	PR target/42495
      	PR middle-end/42574
      	* config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
      	* config/arm/arm.md (define_split "J", define_split "K"): Make
      	IRA/reload friendly.
      
      From-SVN: r162594
      Maxim Kuvyrkov committed
    • gcse.c (insert_insn_end_basic_block): Update signature, remove unused checks. · eae7938e
      	* gcse.c (insert_insn_end_basic_block): Update signature, remove
      	unused checks.
      	(pre_edge_insert, hoist_code): Update.
      
      From-SVN: r162593
      Maxim Kuvyrkov committed
    • re PR target/42495 (redundant memory load) · c7c910ce
      	PR target/42495
      	PR middle-end/42574
      	* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
      
      From-SVN: r162592
      Maxim Kuvyrkov committed
    • re PR rtl-optimization/40956 (Constants are never candidates for hoisting) · ce4c0015
      	PR rtl-optimization/40956
      	PR target/42495
      	PR middle-end/42574
      	* gcse.c (compute_code_hoist_vbeinout): Consider more expressions
      	for hoisting.
      	(hoist_code): Count occurences in current block too.
      
      From-SVN: r162590
      Maxim Kuvyrkov committed
    • gcse.c (struct expr:max_distance): New field. · 20160347
      	* gcse.c (struct expr:max_distance): New field.
      	(doing_code_hoisting_p): New static variable.
      	(want_to_gcse_p): Change signature.  Allow constrained hoisting of
      	simple expressions, don't change behavior for PRE.  Set max_distance.
      	(insert_expr_in_table): Set new max_distance field.
      	(hash_scan_set): Update.
      	(hoist_expr_reaches_here_p): Stop search after max_distance
      	instructions.
      	(find_occr_in_bb): New static function.  Use it in ...
      	(hoist_code): Calculate sizes of basic block before any changes are
      	done.  Pass max_distance to hoist_expr_reaches_here_p.
      	(one_code_hoisting_pass): Set doing_code_hoisting_p.
      
      	* params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
      	(PARAM_GCSE_UNRESTRICTED_COST): New parameters.
      	* params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
      	macros.
      	* doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
      	Document.
      
      From-SVN: r162589
      Maxim Kuvyrkov committed
    • gcse.c (compute_transpout, transpout): Remove, move logic to prune_expressions. · 9b774782
      	* gcse.c (compute_transpout, transpout): Remove, move logic
      	to prune_expressions.
      	(compute_pre_data): Move pruning of trapping expressions ...
      	(prune_expressions): ... here.  New static function.
      	(compute_code_hoist_data): Use it.
      	(alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
      
      Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
      
      From-SVN: r162588
      Jeff Law committed
    • dbgcnt.def (hoist_insn): New debug counter. · 62a3f636
      	* dbgcnt.def (hoist_insn): New debug counter.
      	* gcse.c (hoist_code): Use it.
      
      From-SVN: r162586
      Maxim Kuvyrkov committed
    • * Fix extra brackets in my previous commit. · 01d2a0c1
      From-SVN: r162584
      Uros Bizjak committed
    • gcc-dg.exp (cleanup-coverage-files): Remove options from test name. · c013221e
      	* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
      	test name.
      	(cleanup-repo-files): Ditto.
      	(cleanup-saved-temps): Ditto.
      
      From-SVN: r162583
      Uros Bizjak committed
    • re PR target/44542 (expand_one_stack_var_at may set DECL_ALIGN to a too high value) · f3184b4c
      	PR target/44542
      	* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
      	of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
      	instead of MAX_SUPPORTED_STACK_ALIGNMENT.
      	(expand_one_var): Don't consider DECL_ALIGN for variables for
      	which expand_one_stack_var_at has been already called.
      
      From-SVN: r162582
      Jakub Jelinek committed
    • re PR testsuite/44701 (PR44492 fix broke gcc.target/powerpc/asm-es-2.c) · fea31288
      	PR testsuite/44701
      	* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
      	constraints on IA-64.
      
      	* gcc.target/powerpc/asm-es-2.c (f2): Add <> constraints.
      
      From-SVN: r162581
      Jakub Jelinek committed
    • acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages. · 9b04fa91
      2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
      	messages.
      	* configure: Regenerate.
      
      From-SVN: r162580
      Paolo Carlini committed
    • re PR target/44290 (__naked attribute is broken) · 65e29588
      	PR target/44290
      	Revert
      	2010-07-23  Jie Zhang  <jie@codesourcery.com>
      	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
      	false if ! tree_versionable_function_p.
      
      From-SVN: r162579
      Jie Zhang committed
    • [multiple changes] · f67a9881
      2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/ext/vstring_util.h: Include bits/range_access.h.
      	* testsuite/ext/vstring/range_access.cc: New test.
      
      2010-07-27  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	* include/bits/range_access.h: New.
      	* include/Makefile.in: Add bits/range_access.h.
      	* include/Makefile.am: Regenerate.
      	* include/std/array: Include bits/range_access.h.
      	* include/std/deque: Ditto.
      	* include/std/forward_list: Ditto.
      	* include/std/iterator: Ditto.
      	* include/std/list: Ditto.
      	* include/std/map: Ditto.
      	* include/std/regex: Ditto.
      	* include/std/set: Ditto.
      	* include/std/string: Ditto.
      	* include/std/unordered_map: Ditto.
      	* include/std/unordered_set: Ditto.
      	* include/std/vector: Ditto.
      	* include/std/valarray: Add begin() and end().
      	* libsupc++/initializer_list: Ditto.
      	* include/tr1_impl/utility: Add begin() and end().
      	* include/std/tuple: Ditto.
      	* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
      	* testsuite/24_iterators/range_access.cc: Ditto.
      	* testsuite/28_regex/range_access.cc: Ditto.
      	* testsuite/18_support/initializer_list/range_access.cc: Ditto.
      	* testsuite/21_strings/basic_string/range_access.cc: Ditto.
      	* testsuite/26_numerics/valarray/range_access.cc: Ditto.
      	* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
      	* testsuite/23_containers/multimap/range_access.cc: Ditto.
      	* testsuite/23_containers/set/range_access.cc: Ditto.
      	* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
      	* testsuite/23_containers/forward_list/range_access.cc: Ditto.
      	* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
      	* testsuite/23_containers/vector/range_access.cc: Ditto.
      	* testsuite/23_containers/deque/range_access.cc: Ditto.
      	* testsuite/23_containers/multiset/range_access.cc: Ditto.
      	* testsuite/23_containers/list/range_access.cc: Ditto.
      	* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
      	* testsuite/23_containers/map/range_access.cc: Ditto.
      	* testsuite/23_containers/array/range_access.cc: Ditto.
      	* testsuite/20_util/tuple/range_access.cc: Ditto.
      	* testsuite/20_util/pair/range_access.cc: Ditto.
      
      From-SVN: r162578
      Paolo Carlini committed
    • dwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of… · 9f39bd53
      dwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of add_AT_int if offset is non-negative.
      
      	* dwarf2out.c (add_data_member_location_attribute): Use
      	add_AT_unsigned instead of add_AT_int if offset is non-negative.
      
      From-SVN: r162576
      Jakub Jelinek committed
    • re PR c/45079 (function names in error message (�c_maybe_const_expr� not… · f551f80c
      re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported by 'pp_c_expression'))
      
      	PR c/45079
      	* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
      
      	* gcc.dg/pr45079.c: New test.
      
      From-SVN: r162575
      Jakub Jelinek committed
    • postreload.c (try_replace_in_use): New static function. · a78e242c
      	* postreload.c (try_replace_in_use): New static function.
      	(reload_combine_recognize_const_pattern): Use it here.  Allow
      	substituting into a final add insn, and substituting into a memory
      	reference in an insn that sets the reg.
      
      From-SVN: r162573
      Bernd Schmidt committed
    • common.opt (o): Add MissingArgError. · 61ff2bdc
      	* 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
      Joseph Myers committed
    • add missing changelog · 4e98bcaf
      From-SVN: r162569
      Iain Sandoe committed