1. 07 Nov, 2012 13 commits
    • init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1. · 92d38f38
      	* init.c (build_new_1): Do not check for arithmetic overflow if
      	inner array size is 1.
      
      	* g++.dg/init/new40.C: New.
      
      From-SVN: r193287
      Florian Weimer committed
    • lto-cgraph.c: Include tree-pass.h. · 7d57274b
      2012-11-07  Martin Jambor  <mjambor@suse.cz>
      
      	* lto-cgraph.c: Include tree-pass.h.
      	(lto_output_node): Stream node->ipa_transforms_to_apply.
      	(input_node): Likewise.
      	* tree-pass.h (passes_by_id): Declare.
      	(passes_by_id_size): Likewise.
      	* Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.
      
      From-SVN: r193286
      Martin Jambor committed
    • ipa-inline-analysis.c (true_predicate, [...]): Fix formatting. · 13412e2f
      	* ipa-inline-analysis.c (true_predicate, single_cond_predicate,
      	reset_inline_edge_summary): Fix
      	formatting.
      	(account_size_time): Bump up the limit on number of size/time entries to
      	256.
      	(estimate_function_body_sizes): Work in reverse postorder.
      
      From-SVN: r193285
      Jan Hubicka committed
    • stl_vector.h (vector(size_type)): Add missing allocator parameter. · d720a22b
      	* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
      	parameter.
      	* include/bits/stl_bvector.h: Likewise.
      	* include/debug/vector (vector(size_type)): Likewise.
      	* include/profile/vector (vector(size_type)): Likewise. Pass allocator
      	to base constructor.
      	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
      	Likewise.
      
      From-SVN: r193284
      Jonathan Wakely committed
    • Revert sparc "U" constraint removal. · aaa050aa
      	PR bootstrap/55211
      	Revert:
          	* config/sparc/constraints.md ("U"): Delete.
          	* config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
          	* config/sparc/sync.md: Likewise.
      	And revert parts of:
      	* doc/md.texi: Sync sparc constraint documentation with reality.
      
      From-SVN: r193283
      David S. Miller committed
    • i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand. · 9ac37178
      	* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
      	look for reg in CALL operand.
      
      From-SVN: r193282
      Jakub Jelinek committed
    • re PR debug/54693 (VTA guality issues with loops) · 6e02b5f5
      	PR debug/54693
      	* tree-flow.h (propagate_threaded_block_debug_into): New prototype.
      	* tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
      	longer static.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Use it.
      
      	* gcc.dg/guality/pr54693-2.c: New test.
      
      From-SVN: r193281
      Jakub Jelinek committed
    • Makefile.in: Revert most changes. · 4c166488
      	* gcc-interface/Makefile.in: Revert most changes.
      	* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
      libada/
      	* libada/Makefile.in: Revert most changes.
      
      From-SVN: r193280
      Eric Botcazou committed
    • dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF. · bdd11188
      2012-11-06  Sterling Augustine <saugustine@google.com>
      
      	* dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
      
      
      
      Co-Authored-By: Cary Coutant <ccoutant@google.com>
      
      From-SVN: r193279
      Sterling Augustine committed
    • re PR libstdc++/51850 (debug mode for std::array and tr1::array) · 0611ce44
      2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/51850
      	* include/debug/array: New, debug-mode implementation.
      	* include/profile/array: New.
      	* include/std/array: Adjust.
      	* include/std/tuple: Just include <array>.
      	* include/Makefile.am: Add.
      	* include/Makefile.in: Regenerate.
      	* testsuite/23_containers/array/debug/front1_neg.cc: New.
      	* testsuite/23_containers/array/debug/
      	square_brackets_operator1_neg.cc: Likewise.
      	* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
      	* testsuite/23_containers/array/debug/
      	square_brackets_operator2_neg.cc: Likewise.
      	* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
      	* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
      	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
      	to run only in normal-mode.
      	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
      	Likewise.
      	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
      	* testsuite/23_containers/array/tuple_interface/
      	tuple_element_debug_neg.cc: Likewise.
      
      From-SVN: r193278
      Paolo Carlini committed
    • Add a contrib script for comparing the performance of two sets of · bff0e529
      compiler runs.
      
      Usage documentation is in the script.
      
      The script produces output of the form:
      
      $ compare_two_ftime_report_sets "Log0/*perf" "Log3/*perf" 
      
      Arithmetic sample for timevar log files
      "Log0/*perf"
      and selecting lines containing "TOTAL" with desired confidence 95 is 
      trial count is 4, mean is 443.022 (95% confidence in 440.234 to 445.811),
      std.deviation is 1.75264, std.error is 0.876322
      
      Arithmetic sample for timevar log files
      "Log3/*perf"
      and selecting lines containing "TOTAL" with desired confidence 95 is 
      trial count is 4, mean is 441.302 (95% confidence in 436.671 to 445.934),
      std.deviation is 2.91098, std.error is 1.45549
      
      The first sample appears to be 0.39% larger,
      with 60% confidence of being larger.
      To reach 95% confidence, you need roughly 14 trials,
      assuming the standard deviation is stable, which is iffy.
      
      Tested on x86_64 builds.
      
      
      Index: contrib/ChangeLog
      
      2012-11-05  Lawrence Crowl  <crowl@google.com>
      
      	* compare_two_ftime_report_sets: New.
      
      From-SVN: r193277
      Lawrence Crowl committed
    • vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model. · 8f7a6877
      2012-11-06  Andrew Pinski  <apinski@cavium.com>
      
      	* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
      
      From-SVN: r193276
      Andrew Pinski committed
    • Daily bump. · 86d1f6a0
      From-SVN: r193275
      GCC Administrator committed
  2. 06 Nov, 2012 27 commits
    • tm: Add uninstrumented code path · 398b1daa
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r193271
      Aldy Hernandez committed
    • * cfghooks.c (copy_bbs): Handle a null loop_father. · 066b8354
      From-SVN: r193270
      Aldy Hernandez committed
    • Handle null current_function_decl in cgraph_debug_gimple_stmt · 27f7e1c3
              * cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
              current_function_decl.
      
      From-SVN: r193269
      Aldy Hernandez committed
    • Prevent "illegal" block sharing within transactions. · 7ec88701
              * tree-ssa-tail-merge.c (find_duplicate): Do not consider
              is_tm_ending_fndecl calls as mergable.
      
      From-SVN: r193268
      Richard Henderson committed
    • common.opt (gno-split-dwarf, [...]): New switches. · 99ea153e
      gcc/ChangeLog
      
      2012-11-06  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
      	* doc/invoke.texi (Debugging Options): Document them.
      	* gcc.c (replace_extension_spec_func):  New function.
      	(ASM_FINAL_SPEC): Adjust.
      	(static_spec_functions): Add new field for replace-extension.
      	(check_live_switch): Adjust comment.  Add case for 'g'.
      	* opts.c (finish_options): Set x_debug_generate_pub_sections based on
      	x_dwarf_split_debug_info.
      	(common_handle_option): Add case for OPT_gsplit_dwarf.
      	* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
      	(dw_val_struct): Add val_entry pointer.
      	* dwarf2out.c: (debug_skeleton_info_section,
      	debug_skeleton_abbrev_section, debug_addr_section,
      	debug_skeleton_line_section, debug_str_offsets_section): New globals.
      	(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
      	(indirect_string_node): New field index.
      	(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
      	ate_kind_label.
      	(addr_table_entry): New structure and type.
      	(dw_loc_list_struct): Add field begin_entry.
      	(new_loc_desc): Initialize val_entry.
      	(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
      	Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
      	(build_cfa_loc): Initialize val_entry.
      	(AT_index, add_addr_table_entry, remove_addr_table_entry,
      	add_AT_lbl_id): New functions.
      	(add_AT_addr, add_AT_range_list): New parameter force_direct.
      	(output_die_abbrevs): New function.
      	(add_ranges_by_labels): New parameter force_direct.
      	(output_line_info): New parameter prologue_only.
      	(dtprel_bool): New enum with dtprel_false and dtprel_true.
      	(dw_addr_op, new_addr_loc_descr): New functions.
      	(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
      	DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
      	DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
      	DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
      	DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
      	DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
      	DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
      	DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
      	DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
      	(DEBUG_STR_SECTION_FLAGS): Adjust.
      	(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
      	DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
      	DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
      	DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
      	DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
      	indentation.
      	(debug_skeleton_abbrev_section_label, debug_addr_section_label,
      	debug_skeleton_line_section_label, debug_skeleton_info_section_label):
      	New global variables.
      	(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
      	add_AT_data8): Initialize val_entry.
      	(add_AT_low_high_pc): New parameter force_direct. Handle
      	dwarf_split_debug_info.
      	(set_indirect_string, find_AT_string_form): New functions.
      	(AT_string_form): Adjust to call find_AT_string_from.
      	(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
      	Initialize val_entry.
      	(addr_index_table): New global variable.
      	(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
      	init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
      	remove_loc_list_addr_table_entries): New functions.
      	(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
      	force_direct.  Handle dwarf_split_debug_info.
      	(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
      	add_AT_offset): Initialize val_entry.
      	(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
      	(size_of_die): Handle dwarf_split_debug_info.
      	(size_of_aranges, value_format): Call AT_class.  Check AT_index.
      	(output_die_abbrevs): New function.
      	(output_abbrev_section): Call output_die_abbrevs.
      	(new_loc_list): Initialize begin_entry.
      	(output_loc_list): Handle dwarf_split_debug_info.
      	(output_range_list_offset, output_loc_list_offset,
      	output_attr_index_or_value, ): New functions.
      	(output_die): Fix call to dw2_asm_output_data.  Call
      	output_attr_index_or_value and output_range_list_offset.
      	Adjust logic around dw_val_class_str.
      	(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
      	output_skeleton_debug_sections): New functions.
      	(output_comdat_type_unit, output_pubname, output_aranges): Handle
      	dwarf_split_debug_info.
      	(add_ranges_by_labels): New parameter force_direct.
      	(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
      	(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
      	place of generic integer.
      	(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
      	gen_call_site_die, gen_subprogram_die, gen_variable_die,
      	add_high_low_attributes): Adjust calls to add_AT_lbl_id.
      	(output_macinfo_op): Adjust indirect_string_logic.
      	(save_macinfo_strings): New function.
      	(output_macinfo): Adjust.
      	(dwarf2out_init): Handle dwarf_split_debug_info.
      	(index_string, output_index_string_offset, output_index_string): New
      	functions.
      	(output_indirect_string): Adjust.
      	(output_indirect_strings, output_addr_table_entry, output_addr_table):
      	New functions.
      	(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
      	and DW_OP_GNU_const_index.  Handle dwarf_split_debug_info.  Call
      	remove_loc_list_addr_table_entries and remove_addr_table_entry.
      	(index_location_lists): New function.
      	(dwarf2out_finish): Handle dwarf_split_debug_info.  New variable
      	main_comp_unit_die.  Adjust calls to add_AT_low_high_pc,
      	add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
      	save_macinfo_strings and output_indirect_strings.
      
      include/ChangeLog
      
      2012-10-29  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
      	DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
      	DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.
      
      
      
      
      Co-Authored-By: Cary Coutant <ccoutant@google.com>
      
      From-SVN: r193267
      Sterling Augustine committed
    • generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary. · e808687a
      	* generic-morestack.c (__generic_morestack): Align the returned
      	stack pointer to a 32 byte boundary.
      	* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
      	increment the return address until we have decided that we don't
      	have a varargs function.
      	(__morestack) [32-bit]: Align stack correctly when calling C
      	functions.
      	(__morestack) [64-bit]: Likewise.
      
      From-SVN: r193264
      Ian Lance Taylor committed
    • 55123.cc: Remove duplicate include. · b142d8a2
      	* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
      	include.
      
      From-SVN: r193263
      Jonathan Wakely committed
    • i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION. · 9422dd19
      	* config/i386/i386.c (make_dispatcher_decl): Guard with
      	ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
      
      From-SVN: r193261
      Gerald Pfeifer committed
    • aarch64_guard1.C: Add -fno-section-anchors. · 46ffb64d
      2012-11-06  Andrew Pinski  <apinski@cavium.com>
      
      	* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.
      
      From-SVN: r193260
      Andrew Pinski committed
    • ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations. · 9dc4346a
      
      	* ipa-inline-analysis.c (estimate_function_body_sizes,
      	inline_update_overall_summary): Cap time calculations.
      
      From-SVN: r193259
      Jan Hubicka committed
    • Update index.go from master testsuite. · efa1fe23
      From-SVN: r193258
      Ian Lance Taylor committed
    • i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again. · 32387f4b
      	* config/i386/i386.c (ix86_init_machine_status): Do not
      	explicitly clear tls_descriptor_call_expanded_p again.
      
      From-SVN: r193257
      Uros Bizjak committed
    • * config/i386/sse.md · e4ecb922
      	(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
      	as read and written by the instruction.
      
      From-SVN: r193256
      Uros Bizjak committed
    • compiler, runtime: Size of int is now 64 bits on x86_64. · 8273ed80
      From-SVN: r193255
      Ian Lance Taylor committed
    • compiler, libgo: Fixes to prepare for 64-bit int. · fb3f38da
      From-SVN: r193254
      Ian Lance Taylor committed
    • compiler, runtime: Memcmp routine returns intgo. · 855a44ee
      From-SVN: r193253
      Ian Lance Taylor committed
    • ChangeLog: Add missing PR number. · d1a0e533
      	* ChangeLog: Add missing PR number.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r193252
      Uros Bizjak committed
    • re PR debug/54693 (VTA guality issues with loops) · fe77e0ed
      PR debug/54693
      * tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
      Use a stack vector before allocating a pointer set.
      
      From-SVN: r193251
      Alexandre Oliva committed
    • ipa-prop.c (ipa_get_param_decl_index_1): New function. · d044dd17
      2012-11-06  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.c (ipa_get_param_decl_index_1): New function.
      	(ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
      	(ipa_populate_param_decls): Accept descriptors parameter rather
      	than the whole info.
      	(load_from_unmodified_param): Likewise.
      	(ipa_load_from_parm_agg_1): Likewise.
      	(ipa_load_from_parm_agg): Extract descriptors from info.
      	(compute_complex_assign_jump_func): Likewise.
      	(ipa_analyze_indirect_call_uses): Likewise.
      
      From-SVN: r193250
      Martin Jambor committed
    • ipa-inline.c (compute_uninlined_call_time): Return gcov_type. · d3669566
      	* ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
      	(compute_inlined_call_time): Watch overflows.
      	(relative_time_benefit): Compute in gcov_type.
      
      From-SVN: r193249
      Jan Hubicka committed
    • Forgot changelog :( · 1a99ae7b
      From-SVN: r193248
      Jan Hubicka committed
    • cfgloopanal.c (get_loop_hot_path): New function. · 519cac4a
      	* cfgloopanal.c (get_loop_hot_path): New function.
      	* tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
      	NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
      	NUM_BRANCHES_ON_HOT_PATH.
      	(tree_estimate_loop_size): Compute the new values.
      	(try_unroll_loop_completely): Disable unrolling of loops with only
      	calls or too many branches.
      	(tree_unroll_loops_completely): Deal also with outer loops of hot loops.
      	* cfgloop.h (get_loop_hot_path): Declare.
      	* params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
      	* invoke.texi (max-peel-branches): Document.
      
      	* gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling candidate still.
      	* gcc.dg/tree-ssa/loop-23.c: Likewise.
      	* gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
      	* gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.
      
      From-SVN: r193246
      Jan Hubicka committed
    • * ipa-pure-const.c (check_stmt): Fix debug info formatting. · 425b784f
      From-SVN: r193245
      Jan Hubicka committed
    • i386.c (TARGET_INSTANTIATE_DECLS): New define. · 443ca5fc
      	* config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
      	(ix86_instantiate_decls): New function.
      	(ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
      	stack slot instead of SLOT_VIRTUAL.
      	<case IX86_BUILTIN_STMXCSR>: Ditto.
      	(assign_386_stack_local): Do not assert when virtual slot is valid.
      	* config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
      	* config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
      	(truncxf<mode>2): Ditto.
      	(floatunssi<mode>2): Ditto.
      	(isinf<mode>2): Ditto.
      	* config/i386/sync.md (atomic_load<mode>): Ditto.
      	(atomic_store<mode>): Ditto.
      
      From-SVN: r193244
      Uros Bizjak committed
    • * const-uniq-1.c: Expand regex to match AIX XCOFF labels. · ab72bd18
      From-SVN: r193243
      David Edelsohn committed
    • re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399) · 782a4ee8
      	PR middle-end/41993
      	* gcc.dg/torture/pr41993.c: New test.
      
      From-SVN: r193242
      Uros Bizjak committed
    • l_fma_float_?.c: Update. · 22458c5a
      
      	* gcc.target/i386/l_fma_float_?.c: Update.
      	* gcc.target/i386/l_fma_double_?.c: Update.
      
      	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound,
      	vect_do_peeling_for_alignment): Fix loop bound computation.
      	* tree-vect-loop.c (vect_transform_loop): Maintain loop bounds.
      
      From-SVN: r193241
      Jan Hubicka committed