Commit Graph

120314 Commits

Author SHA1 Message Date
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
Jan Hubicka 22458c5af7 l_fma_float_?.c: Update.
* 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
2012-11-06 13:49:30 +00:00
Arnaud Charlet c8fef899e8 Makefile.in (osconstool): Revert previous change, still needed after all.
* Makefile.in (osconstool): Revert previous change, still needed
	after all. Add call to copy-s-oscons target.

From-SVN: r193240
2012-11-06 14:16:43 +01:00
Arnaud Charlet bd9d53f381 * gcc-interface/Makefile.in (copy-s-oscons): New target.
From-SVN: r193239
2012-11-06 14:15:37 +01:00
Arnaud Charlet 015bee83fd [multiple changes]
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, atree.ads: Minor reformatting.

2012-11-06  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in: Update dependencies.
	* gcc-interface/Makefile.in: Add runtime pairs for Android.
	Rework handling of s-oscons.ads.
	* s-osinte-android.ads, s-osinte-android.adb: New files.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
	binary representation of vax floats.

From-SVN: r193238
2012-11-06 12:56:42 +01:00
Arnaud Charlet 540d7a7787 * Makefile.in (osconstool): Removed, no longer needed.
From-SVN: r193237
2012-11-06 12:56:14 +01:00
Oleg Endo 0f9a3fd393 re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
	ops larger than SImode.
	* config/sh/sh.md (rotcl, *rotcl): New insns and splits.
	(ashldi3_k): Convert to insn_and_split and use new rotcl insn.

	PR target/54089
	* gcc.target/sh/pr54089-8.c: New.
	* gcc.target/sh/pr54089-9.c: New.

From-SVN: r193236
2012-11-06 11:55:43 +00:00
Arnaud Charlet ee2ba85639 [multiple changes]
2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
	in previous commit.

2012-11-06  Jose Ruiz  <ruiz@adacore.com>

	* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.

2012-11-06  Thomas Quinot  <quinot@adacore.com>

	* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
	erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
	exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
	fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
	par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
	sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
	sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
	sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
	stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
	more descriptive name 'Check_Error_Detected'. Add calls to
	Check_Error_Detected at places where semantic analysis is abandoned
	assuming a previously detected error.

From-SVN: r193235
2012-11-06 12:28:27 +01:00
Arnaud Charlet d8192289b5 [multiple changes]
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor comment change.

2012-11-06  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Extensive revision of documentation of overflow
	checking.
	* vms_data.ads: Overflow check numbers must be in range 1-3,
	not 0-3.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
	warning if pragma Priority is used in presence of an interrupt
	handler.

From-SVN: r193234
2012-11-06 12:16:06 +01:00
Robert Dewar a7f1b24f81 checks.ads, [...]: Minor changes throughout for new overflow checking.
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
	new overflow checking.
	* exp_util.adb (Insert_Actions): Remove special casing of
	Overflow_Check.
	* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
	of overflow checks.
	* sem.adb (Analyze): Remove special casing of Overflow_Check
	(Analyze_List): ditto.
	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
	SUPPRESSED and change CHECKED to STRICT.
	* sem_res.adb (Analyze_And_Resolve): No longer treat
	Overflow_Check specially.
	(Preanalyze_And_Resolve): ditto.
	(Resolve): ditto.
	* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
	* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
	CHECKED => STRICT.
	* types.ads (Overflow_Check_Type): Remove Suppressed, change
	Checked to Strict (Suppress_Record): Overflow check controlled
	by Suppress array.

From-SVN: r193233
2012-11-06 12:11:15 +01:00
Paolo Carlini c4ae987730 atomic_base.h: Don't include <cstddef>, use nullptr.
2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
  
	* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
	* include/std/atomic: Likewise.
	* include/tr2/dynamic_bitset: Likewise.

	* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
	std::size_t)): Fix for -fno-exceptions.

From-SVN: r193232
2012-11-06 11:03:45 +00:00
Ed Schonberg 1115dd7ed7 sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not disable checks...
2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
	disable checks, so that flags can be properly set on expressions
	that are not further expanded.

From-SVN: r193231
2012-11-06 11:47:21 +01:00
Robert Dewar 97ce3a148a exp_attr.adb, [...]: Minor reformatting.
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb, sem_attr.adb: Minor reformatting.

From-SVN: r193230
2012-11-06 11:45:56 +01:00
Vladimir Yakovlev ff97910daf i386-protos.h (emit_i387_cw_initialization): Deleted.
* config/i386/i386-protos.h (emit_i387_cw_initialization): Deleted.
        (emit_vzero): Added prototype.
        (ix86_mode_entry): Likewise.
        (ix86_mode_exit): Likewise.
        (ix86_emit_mode_set): Likewise.

        * config/i386/i386.c (typedef struct block_info_def): Deleted.
        (define BLOCK_INFO): Deleted.
        (check_avx256_stores): Added checking for MEM_P.
        (move_or_delete_vzeroupper_2): Deleted.
        (move_or_delete_vzeroupper_1): Deleted.
        (move_or_delete_vzeroupper): Deleted.
        (ix86_maybe_emit_epilogue_vzeroupper): Deleted.
        (function_pass_avx256_p): Deleted.
        (ix86_function_ok_for_sibcall): Deleted disabling sibcall.
        (nit_cumulative_args): Deleted initialization of of avx256 fields of
        cfun->machine.
        (ix86_emit_restore_sse_regs_using_mov): Deleted vzeroupper generation.
        (ix86_expand_epilogue): Likewise.
        (ix86_avx_u128_mode_needed): New.
        (ix86_i387_mode_needed): Renamed ix86_mode_needed.
        (ix86_mode_needed): New.
        (ix86_avx_u128_mode_after): New.
        (ix86_mode_after): New.
        (ix86_avx_u128_mode_entry): New.
        (ix86_mode_entry): New.
        (ix86_avx_u128_mode_exit): New.
        (ix86_mode_exit): New.
        (ix86_emit_mode_set): New.
        (ix86_expand_call): Deleted vzeroupper generation.
        (ix86_split_call_vzeroupper): Deleted.
        (ix86_init_machine_status): Initialzed optimize_mode_switching.
        (ix86_expand_special_args_builtin): Changed.
        (ix86_reorg): Deleted a call of move_or_delete_vzeroupper.

        * config/i386/i386.h  (VALID_AVX256_REG_OR_OI_MODE): New.
        (AVX_U128): New.
        (avx_u128_state): New.
        (NUM_MODES_FOR_MODE_SWITCHING): Added AVX_U128_ANY.
        (MODE_AFTER): New.
        (MODE_ENTRY): New.
        (MODE_EXIT): New.
        (EMIT_MODE_SET): Changed.
        (machine_function): Deleted avx256 fields.

        * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Deleted.
        (define_insn_and_split "*call_vzeroupper"): Deleted.
        (define_insn_and_split "*call_rex64_ms_sysv_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_vzeroupper"): Deleted.
        (define_insn_and_split "*call_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_value_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_rex64_ms_sysv_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_value_pop_vzeroupper"): Deleted.
        (define_expand "return"): Deleted vzeroupper emitting.
        (define_expand "simple_return"): Deleted.

        * config/i386/predicates.md (vzeroupper_operation): New.

        * config/i386/sse.md (avx_vzeroupper): Changed.

testsuite/ChangeLog:
        * gcc.target/i386/avx-vzeroupper-5.c: Changed scan-assembler-times.
        * gcc.target/i386/avx-vzeroupper-8.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-9.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-10.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-11.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-12.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-19.c: Likewis.
        * gcc.target/i386/avx-vzeroupper-27.c: New.

From-SVN: r193229
2012-11-06 10:29:23 +00:00
Gary Dismukes 3d6db7f84d exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate check when evaluating the attribute Valid...
2012-11-06  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
	check when evaluating the attribute Valid, and issue a warning
	about infinite recursion when the check occurs within the
	predicate function of the prefix's subtype.
	* exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
	when we're checking that there's no predicate check function as a
	condition for substituting a Valid check for a scalar membership
	test (substitution should be suppressed for any kind of scalar
	subtype with a predicate check). Also, don't emit a predicate
	check when the right operand is a range.

From-SVN: r193228
2012-11-06 11:22:42 +01:00
Arnaud Charlet 150ac76e0e [multiple changes]
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
	errout.adb, sem_ch8.adb: Minor reformatting.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Include Loop_Entry_Attributes to the list of
	Node/List/Elist10 usage.
	(Loop_Entry_Attributes): New routine.
	(Set_Loop_Entry_Attributes): New routine.
	(Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
	* einfo.ads: Define new attribute Loop_Entry_Attributes along
	with its usage in nodes.
	(Loop_Entry_Attributes): New routine and dedicated pragma Inline.
	(Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
	* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
	Attribute_Loop_Entry here.
	* exp_ch5.adb: Add with and use clause for Elists;
	(Expand_Loop_Entry_Attributes): New routine.
	(Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
	* exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
	search to include multiple nested loops produced by the expansion
	of Ada 2012 array iterator.
	* sem_attr.adb: Add with and use clause for Elists.
	(Analyze_Attribute): Check the legality of attribute Loop_Entry.
	(Resolve_Attribute): Nothing to do for Loop_Entry.
	(S14_Attribute): New routine.
	* snames.ads-tmpl: Add a comment on entries marked with
	HiLite. Add new name Name_Loop_Entry. Add new attribute
	Attribute_Loop_Entry.

From-SVN: r193227
2012-11-06 11:20:41 +01:00
Janus Weil fa1ed65806 re PR fortran/54917 ([OOP] TRANSFER on polymorphic variable causes ICE)
2012-11-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54917
	* target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
	Handle BT_CLASS.
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Add support for
	polymorphic arguments.

2012-11-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54917
	* gfortran.dg/transfer_class_1.f90: New.
	* gfortran.dg/transfer_class_2.f90: New.

From-SVN: r193226
2012-11-06 11:15:42 +01:00
Arnaud Charlet b887f1a033 [multiple changes]
2012-11-06  Geert Bosch  <bosch@adacore.com>

	* eval_fat.adb (Machine, Succ): Fix front end to support static
	evaluation of attributes on targets with both VAX and IEEE float.
	* sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
	New type-specific functions. Previously we used Denorm_On_Target
	and Signed_Zeros_On_Target directly, but that doesn't work well
	for OpenVMS where a single target supports both floating point
	with and without signed zeros.
	* sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
	new Has_Denormals and Has_Signed_Zeros functions to support both
	IEEE and VAX floating point on a single target.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* bindgen.adb (System_Interrupts_Used): New variable.
	(Gen_Adainit): Declare and call
	Install_Restricted_Handlers_Sequential if System.Interrupts is
	used when elaboration policy is sequential.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb: Complete previous change.

From-SVN: r193225
2012-11-06 11:14:13 +01:00
Arnaud Charlet 436d9f924c [multiple changes]
2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
	* eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
	* exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
	(Expand_Vax_Real_Literal): Remove.
	* exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
	* sem_eval.adb (Expr_Value_R): Remove special Vax float case,
	as this is not anymore a special case.

2012-11-06  Yannick Moy  <moy@adacore.com>

	* uintp.ads: Minor correction of typo in comment.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
	requirement that discriminants of an unchecked_union must have
	defaults.

2012-11-06  Vasiliy Fofanov  <fofanov@adacore.com>

	* projects.texi: Minor wordsmithing.

From-SVN: r193224
2012-11-06 11:11:20 +01:00
Robert Dewar a9b9fbf664 sem_ch9.adb, [...]: Minor reformatting.
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.

From-SVN: r193223
2012-11-06 11:09:01 +01:00
Arnaud Charlet 7028ce0d39 [multiple changes]
2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* exp_vfpt.adb: Document VAX float point layout.

2012-11-06  Geert Bosch  <bosch@adacore.com>

	* eval_fat.adb (Machine): Don't return -0.0 on targets without
	signed zeros.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb (Analyze_Entry_Call_Alternative,
	Check_Triggering_Statement): Reject properly an indirect call.

From-SVN: r193222
2012-11-06 11:05:10 +01:00
Pascal Obry 9276875d7b xoscons.adb, [...]: Add support for post-processing.
2012-11-06  Pascal Obry  <obry@adacore.com>

	* xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.

From-SVN: r193221
2012-11-06 11:03:08 +01:00
Arnaud Charlet fb174746b2 [multiple changes]
2012-11-06  Yannick Moy  <moy@adacore.com>

	* s-bignum.adb (Div_Rem): Fix another bug in step D3.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

	* s-tarest.adb (Create_Restricted_Task): Call
	Create_Restricted_Task_Sequential in sequential case.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
	pragma into a null statement as its presence is desirable in -gnatG
	output.

From-SVN: r193219
2012-11-06 11:01:03 +01:00
Arnaud Charlet 2780d17486 [multiple changes]
2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
	renamed object is a limited record.

2012-11-06  Bernard Banner  <banner@adacore.com>

	* sysdep.c (_getpagesize): New. Minor reformatting.

From-SVN: r193218
2012-11-06 10:59:02 +01:00
Robert Dewar 0ce1ec6465 sem_prag.adb: Minor reformatting.
2012-11-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

	* s-bignum.adb (Div_Rem): Fix bug in step D3.
	* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.

From-SVN: r193217
2012-11-06 10:55:50 +01:00