Commit Graph

120338 Commits

Author SHA1 Message Date
Manuel López-Ibáñez 34a180a642 re PR c/53063 (encode group options in the .opt files)
c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53063
	* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
	Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
	Use LangEnabledBy.
	(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
	common.opt.
	(Wvariadic-macros): Init(1).
	* c-opts.c (c_common_handle_option): Do not handle them
	explicitly.
	(c_common_post_options): Likewise.
	(sanitize_cpp_opts): warn_unused_macros is now
	cpp_warn_unused_macros.
	(push_command_line_include): Likewise.
	* c-common.c (warn_unknown_pragmas): Do not define.
	* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53063
	* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53063
	* options.c (set_Wall): Do not set warn_switch here.

From-SVN: r193302
2012-11-07 17:54:11 +00:00
Manuel López-Ibáñez 3f46d6a577 re PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional expressions)
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/51294
c-family/
	* c-common.c (conversion_warning): Handle conditional expressions.
testsuite/
	* c-c++-common/pr51294.c: New.

From-SVN: r193301
2012-11-07 16:58:03 +00:00
Yufeng Zhang dc2d3c67bc aarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_constant' call.
gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/aarch64/aarch64.c (aarch64_expand_prologue): add the missing
	argument 'Pmode' to the 'plus_constant' call.

From-SVN: r193299
2012-11-07 16:13:27 +00:00
Martin Jambor 2c9561b513 re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
2012-11-07  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/53787
	* ipa-cp.c (ipcp_value_source): New field offset.
	(ipcp_agg_lattice): New type.
	(ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
	(ipcp_agg_lattice_pool): New variable.
	(ipa_get_parm_lattices): New function.
	(ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
	Adjusted all callers.
	(print_lattice): New function.
	(print_all_lattices): Use the above, also print aggregate lattices.
	(set_agg_lats_to_bottom): New function.
	(set_agg_lats_contain_variable): Likewise.
	(set_all_contains_variable): Likewise.
	(initialize_node_lattices): Also handle aggregate lattices, set
	virt_call in ipcp_param_lattices.
	(add_value_source): Handle offsets.
	(add_value_to_lattice): Likewise.
	(add_scalar_value_to_lattice): New function.
	(propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
	(propagate_vals_accross_ancestor): Likewise.
	(propagate_accross_jump_function): Renamed to
	propagate_scalar_accross_jump_function, use
	add_scalar_value_to_lattice.
	(set_check_aggs_by_ref): New function.
	(merge_agg_lats_step): Likewise.
	(set_chain_of_aglats_contains_variable): Likewise.
	(merge_aggregate_lattices): Likewise.
	(propagate_constants_accross_call): Also handle aggregate lattices.
	(hint_time_bonus): New function.
	(context_independent_aggregate_values): Likewise.
	(gather_context_independent_values): Also handle agggregate values.
	(agg_jmp_p_vec_for_t_vec): New function.
	(estimate_local_effects): Also handle agggregate values.
	(add_all_node_vals_to_toposort): Likewise.
	(ipcp_propagate_stage): Use struct ipcp_param_lattices.
	(get_clone_agg_value): New function.
	(cgraph_edge_brings_value_p): Also handle agggregate values.
	(create_specialized_node): Likewise.
	(find_more_values_for_callers_subset): Rename to
	find_more_scalar_values_for_callers_subset.  Modify dump.
	(copy_plats_to_inter): New function.
	(intersect_with_plats): Likewise.
	(agg_replacements_to_vector): Likewise.
	(intersect_with_agg_replacements): Likewise.
	(find_aggregate_values_for_callers_subset): Likewise.
	(known_aggs_to_agg_replacement_list): Likewise.
	(cgraph_edge_brings_all_scalars_for_node): Likewise.
	(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
	(perhaps_add_new_callers): Old functionality moved to
	cgraph_edge_brings_all_scalars_for_node, call it and
	cgraph_edge_brings_all_agg_vals_for_node.
	(ipcp_val_in_agg_replacements_p): New function.
	(decide_about_value): New function.
	(decide_whether_version_node): A lot of functionality moved to
	decide_about_value.  Also handle agggregate values.
	(ipcp_driver): Also allocate ipcp_agg_lattice_pool.
	(pass_ipa_cp): Fill in new entries.
	* ipa-prop.c (ipa_node_agg_replacements): New variable.
	(free_parms_ainfo): New function.
	(ipa_analyze_node): Use free_parms_ainfo to free stuff.
	(ipa_find_agg_cst_for_param): Do not rely on offset ordering.
	(ipa_set_node_agg_value_chain): New function.
	(ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
	(ipa_node_duplication_hook): Likewise.
	(ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
	(ipa_free_all_structures_after_iinln): Likewise.
	(ipa_dump_agg_replacement_values): New function.
	(write_agg_replacement_chain): Likewise.
	(read_agg_replacement_chain): Likewise.
	(ipa_prop_write_all_agg_replacement): Likewise.
	(read_replacements_section): Likewise.
	(ipa_prop_read_all_agg_replacement): Likewise.
	(adjust_agg_replacement_values): Likewise.
	(ipcp_transform_function): Likewise.
	* ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
	ipa_agg_jump_function_t.
	(ipa_node_params): Make lattices an array of ipcp_param_lattices.
	(ipa_agg_replacement_value): New type and its vector.
	(ipa_set_node_agg_value_chain) Declare.
	(ipa_node_agg_replacements): Likewise.
	(ipa_get_agg_replacements_for_node): New function.
	(ipcp_agg_lattice_pool): Declare.
	(ipa_dump_agg_replacement_values): Likewise.
	(ipa_prop_write_all_agg_replacement): Likewise.
	(ipa_prop_read_all_agg_replacement): Likewise.
	(ipcp_transform_function): Likewise.
	* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
	known aggregates and hints.
	* ipa-inline.h: include ipa-prop.h.
	(estimate_ipcp_clone_size_and_time): Adjust declaration.
	* lto-streamer.h (lto_section_type): New item
	LTO_section_ipcp_transform.
	* lto-section-in.c (lto_section_name): New element ipcp_trans.
	* params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
	* Makefile.in (IPA_INLINE_H): New.  Use everywhee instead of
	ipa-inline.h.

	* testsuite/gcc.dg/ipa/ipa-5.c: Adjust.
	* testsuite/gcc.dg/ipa/ipcp-agg-1.c: New test.
	* testsuite/gcc.dg/ipa/ipcp-agg-2.c: Likewise.
	* testsuite/gcc.dg/ipa/ipcp-agg-3.c: Likewise.
	* testsuite/gcc.dg/ipa/ipcp-agg-4.c: Likewise.
	* testsuite/gcc.dg/ipa/ipcp-agg-5.c: Likewise.
	* testsuite/gcc.dg/ipa/ipcp-agg-6.c: Likewise.
	* testsuite/gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
	* testsuite/gfortran.dg/pr48636-2.f90: New test.
	* testsuite/gfortran.dg/pr53787.f90: Likewise.

From-SVN: r193298
2012-11-07 16:55:54 +01:00
David Edelsohn a57d75dc70 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
From-SVN: r193296
2012-11-07 09:16:04 -05:00
Paolo Carlini 54ba39f599 array (_GLIBCXX_THROW_OR_ABORT): Move...
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
	* include/bits/c++config: ... here.
	* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
	* include/ext/concurrence.h (__throw_concurrence_lock_error,
	__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
	__throw_concurrence_wait_error): Likewise.
	* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
	* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
	(_ArgTypes...)): Likewise.
	* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
	__cxxabiv1::__cxa_bad_typeid): Likewise.
	* libsupc++/vec.cc (compute_size): Likewise.
	* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
	* src/c++11/functexcept.cc: Likewise.
	* testsuite/util/io/illegal_input_error.hpp
	(__throw_illegal_input_error): Likewise.
	* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/
	tuple_element_debug_neg.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.

From-SVN: r193295
2012-11-07 13:20:33 +00:00
Uros Bizjak c501a38e3a i386.c (enum upper_128bits_state): Remove.
* config/i386/i386.c (enum upper_128bits_state): Remove.
	(check_avx256_store): Use bool pointer argument.
	(ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
	* config/i386/predicates.md (vzeroupper_operation): Use match_test.

From-SVN: r193294
2012-11-07 13:15:59 +01:00
Paolo Carlini e1dfe00531 re PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)
/cp
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55226
	Revert:
	2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54922
	* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
	members.

/testsuite
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55226
	Revert:
	2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54922
	* g++.dg/cpp0x/constexpr-union4.C: New.

From-SVN: r193292
2012-11-07 11:15:40 +00:00
Yufeng Zhang 44c0e7b925 aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...
gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/aarch64/aarch64.c (aarch64_expand_prologue): For the
	load-pair with writeback instruction, replace
	aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
	add new local variable 'cfa_reg' and use it.

gcc/testsuite/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

	* gcc.target/aarch64/dwarf-cfa-reg.c: New test.

From-SVN: r193291
2012-11-07 11:01:46 +00:00
Kaz Kojima b9195e54ef pr49220.c: New test.
* gcc.c-torture/compile/pr49220.c: New test.

From-SVN: r193290
2012-11-07 10:50:22 +00:00
Kaz Kojima d78e64db20 re PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)
PR middle-end/49220
	* mode-switching.c (create_pre_exit): Set short_block if there
	are no copy insns.

From-SVN: r193289
2012-11-07 10:48:12 +00:00
Florian Weimer 92d38f386b init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.
* 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
2012-11-07 10:45:57 +01:00
Martin Jambor 7d57274b36 lto-cgraph.c: Include tree-pass.h.
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
2012-11-07 10:28:50 +01:00
Jan Hubicka 13412e2fec ipa-inline-analysis.c (true_predicate, [...]): Fix formatting.
* 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
2012-11-07 09:22:50 +00:00
Jonathan Wakely d720a22b6e stl_vector.h (vector(size_type)): Add missing allocator parameter.
* 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
2012-11-07 09:17:42 +00:00
David S. Miller aaa050aa4a Revert sparc "U" constraint removal.
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
2012-11-07 00:42:09 -08:00
Jakub Jelinek 9ac37178e3 i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.
* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
	look for reg in CALL operand.

From-SVN: r193282
2012-11-07 08:52:16 +01:00
Jakub Jelinek 6e02b5f509 re PR debug/54693 (VTA guality issues with loops)
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
2012-11-07 08:50:01 +01:00
Eric Botcazou 4c166488ff Makefile.in: Revert most changes.
* 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
2012-11-07 04:58:23 +00:00
Sterling Augustine bdd1118890 dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
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
2012-11-07 01:18:28 +00:00
Paolo Carlini 0611ce440a re PR libstdc++/51850 (debug mode for std::array and tr1::array)
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
2012-11-07 00:42:19 +00:00
Lawrence Crowl bff0e5295a Add a contrib script for comparing the performance of two sets of
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
2012-11-07 00:36:04 +00:00
Andrew Pinski 8f7a6877db vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
2012-11-06  Andrew Pinski  <apinski@cavium.com>

	* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.

From-SVN: r193276
2012-11-06 16:18:31 -08:00
GCC Administrator 86d1f6a037 Daily bump.
From-SVN: r193275
2012-11-07 00:18:29 +00:00
Aldy Hernandez 398b1daa2d tm: Add uninstrumented code path
Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r193271
2012-11-06 15:55:39 -08:00
Aldy Hernandez 066b83541d * cfghooks.c (copy_bbs): Handle a null loop_father.
From-SVN: r193270
2012-11-06 15:55:29 -08:00
Aldy Hernandez 27f7e1c331 Handle null current_function_decl in cgraph_debug_gimple_stmt
* cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
        current_function_decl.

From-SVN: r193269
2012-11-06 15:55:20 -08:00
Richard Henderson 7ec887015f Prevent "illegal" block sharing within transactions.
* tree-ssa-tail-merge.c (find_duplicate): Do not consider
        is_tm_ending_fndecl calls as mergable.

From-SVN: r193268
2012-11-06 15:55:11 -08:00
Sterling Augustine 99ea153e45 common.opt (gno-split-dwarf, [...]): New switches.
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
2012-11-06 23:15:25 +00:00
Ian Lance Taylor e808687a8c generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
* 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
2012-11-06 23:04:28 +00:00
Jonathan Wakely b142d8a2b5 55123.cc: Remove duplicate include.
* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
	include.

From-SVN: r193263
2012-11-06 22:53:16 +00:00
Gerald Pfeifer 9422dd19d7 i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
* config/i386/i386.c (make_dispatcher_decl): Guard with
	ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.

From-SVN: r193261
2012-11-06 22:14:47 +00:00
Andrew Pinski 46ffb64d6c aarch64_guard1.C: Add -fno-section-anchors.
2012-11-06  Andrew Pinski  <apinski@cavium.com>

	* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.

From-SVN: r193260
2012-11-06 14:06:19 -08:00
Jan Hubicka 9dc4346aba ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.
* ipa-inline-analysis.c (estimate_function_body_sizes,
	inline_update_overall_summary): Cap time calculations.

From-SVN: r193259
2012-11-06 21:08:49 +00:00
Ian Lance Taylor efa1fe237a Update index.go from master testsuite.
From-SVN: r193258
2012-11-06 19:48:12 +00:00
Uros Bizjak 32387f4bfa i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again.
* config/i386/i386.c (ix86_init_machine_status): Do not
	explicitly clear tls_descriptor_call_expanded_p again.

From-SVN: r193257
2012-11-06 20:04:47 +01:00
Uros Bizjak e4ecb9228b * config/i386/sse.md
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
	as read and written by the instruction.

From-SVN: r193256
2012-11-06 19:53:21 +01:00
Ian Lance Taylor 8273ed8077 compiler, runtime: Size of int is now 64 bits on x86_64.
From-SVN: r193255
2012-11-06 18:46:38 +00:00
Ian Lance Taylor fb3f38da2a compiler, libgo: Fixes to prepare for 64-bit int.
From-SVN: r193254
2012-11-06 18:28:21 +00:00
Ian Lance Taylor 855a44ee8f compiler, runtime: Memcmp routine returns intgo.
From-SVN: r193253
2012-11-06 18:12:45 +00:00
Uros Bizjak d1a0e53309 ChangeLog: Add missing PR number.
* ChangeLog: Add missing PR number.
	* testsuite/ChangeLog: Ditto.

From-SVN: r193252
2012-11-06 19:00:46 +01:00
Alexandre Oliva fe77e0edab re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
Use a stack vector before allocating a pointer set.

From-SVN: r193251
2012-11-06 17:58:52 +00:00
Martin Jambor d044dd177f ipa-prop.c (ipa_get_param_decl_index_1): New function.
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
2012-11-06 18:39:37 +01:00
Jan Hubicka d3669566a7 ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
* 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
2012-11-06 17:32:40 +00:00
Jan Hubicka 1a99ae7bd9 Forgot changelog :(
From-SVN: r193248
2012-11-06 17:28:36 +00:00
Jan Hubicka 519cac4a7a cfgloopanal.c (get_loop_hot_path): New function.
* 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
2012-11-06 16:22:45 +00:00
Jan Hubicka 425b784f2c * ipa-pure-const.c (check_stmt): Fix debug info formatting.
From-SVN: r193245
2012-11-06 16:05:18 +00:00
Uros Bizjak 443ca5fc9b i386.c (TARGET_INSTANTIATE_DECLS): New define.
* 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
2012-11-06 17:00:35 +01:00
David Edelsohn ab72bd1821 * const-uniq-1.c: Expand regex to match AIX XCOFF labels.
From-SVN: r193243
2012-11-06 09:54:33 -05:00
Uros Bizjak 782a4ee8a9 re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)
PR middle-end/41993
	* gcc.dg/torture/pr41993.c: New test.

From-SVN: r193242
2012-11-06 15:30:52 +01:00