summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* revert to assign_parms assignments using default defsaoliva/pr64164aoliva2015-09-2714-537/+688
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the fragile and complicated changes to assign_parms designed to enable it to use RTL assigments chosen by cfgexpand, and instead have cfgexpand use the RTL assignments by assign_parms, keying them off of the default defs that are now necessarily introduced for each parm and result. The possible lack of a default def was already a problem, and the fallbacks in place were not enough, as shown by PR67312. We now have checking asserts in set_rtl that verify that we're assigning to each var a piece of RTL that matches the expectations set forth by use_register_for_decl. for gcc/ChangeLog PR rtl-optimization/64164 PR tree-optimization/67312 PR middle-end/67340 PR middle-end/67490 PR bootstrap/67597 * cfgexpand.c (parm_in_stack_slot_p): Remove. (ssa_default_def_partition): Remove. (get_rtl_for_parm_ssa_default_def): Remove. (set_rtl): Check that RTL assignments match expectations. Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the default def location for params and results. Record SSA names or types in REG and MEM attrs, respectively. (set_parm_rtl): New. (expand_one_ssa_partition): Drop logic that assigned MEMs with unassigned addresses. (adjust_one_expanded_partition_var): Don't accept NULL RTL on deferred stack alloc vars. (expand_used_vars): Skip partitions holding parm default defs. Move adjust_one_expanded_partition_var loop... (pass_expand::execute): ... here. Drop redundant assert. Adjust comments before the final loop over all ssa names. Require assigned rtl of parms and results to match exactly. Reset its attributes to match them, not any other variables in the same partition. (expand_debug_expr): Use entry value for PARM's default defs only iff they have zero nondebug uses. * cfgexpand.h (parm_in_stack_slot_p): Remove. (get_rtl_for_parm_ssa_default_def): Remove. (set_parm_rtl): Declare. * doc/invoke.texi: Improve wording. * explow.c (promote_decl_mode): Fix promote_function_mode for result decls not by reference. (promote_ssa_mode): Disregard BLKmode from promote_decl, and bypass TYPE_MODE to get the actual vector mode. * function.c: Include tree-dfa.h. Revert 2015-08-14's and 2015-08-19's changes as follows. Drop include of basic-block.h and df.h. (rtl_for_parm): Remove. (maybe_reset_rtl_for_parm): Remove. (parm_in_unassigned_mem_p): Remove. (use_register_for_decl): Add logic for RESULT_DECLs matching assign_parms' behavior. (split_complex_args): Revert. (assign_parms_augmented_arg_list): Revert. Add comment referencing the logic above. (assign_parm_adjust_stack_rtl): Revert. (assign_parm_setup_block): Revert. Use set_parm_rtl instead of SET_DECL_RTL. Set up a REG if the parm demands so. (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL calls into a single set_parm_rtl. Set up a temporary RTL temporarily for expand_assignment. (assign_parm_setup_stack): Revert. Use set_parm_rtl. (assign_parms_unsplit_complex): Revert. Use set_parm_rtl. (assign_bounds): Revert. (assign_parms): Revert. Use set_parm_rtl. (allocate_struct_function): Relayout result and parms of non-abstruct functions. (expand_function_start): Revert. Use set_parm_rtl. If the result is not a hard reg, create a pseudo from the promoted mode of the default def. Promote static chain mode. * tree-outof-ssa.c (remove_ssa_form): Drop unused partition_has_default_def. Set up partitions_for_parm_default_defs. (finish_out_of_ssa): Remove partition_has_default_def. Release partitions_for_parm_default_defs. * tree-outof-ssa.h (struct ssaexpand): Remove partition_has_default_def. Add partitions_for_parm_default_defs. * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and stor-layout.h. (build_ssa_conflict_graph): Fix conflict-detection of default defs of even unused default defs of params and results. (for_all_parms): New. (create_default_def): New. (register_default_def): New. (coalesce_with_default): New. (create_outofssa_var_map): Create default defs for all parms and results, and register their partitions. Add GIMPLE_RETURN operands as coalesce candidates with results. Add default defs of each parm or result as coalesce candidates with its other defs. Mark each result def, and each default def of parms, as used_in_copy. (gimple_can_coalesce_p): Call it. Call use_register_for_decl with the ssa names, even anonymous ones. Drop parm_in_stack_slot_p calls. Require same signedness and alignment. (coalesce_ssa_name): Add coalesce candidates for all defs of each parm and result, even unused ones. (parm_default_def_partition_arg): New type. (set_parm_default_def_partition): New. (get_parm_default_def_partitions): New. * tree-ssa-coalesce.h (get_parm_default_def_partitions): New. * tree-ssa-live.c (partition_view_init): Regard unused defs of parms and results as used. (verify_live_on_entry): Don't error out just because they're not live. for gcc/testsuite/ChangeLog PR rtl-optimization/64164 PR tree-optimization/67312 * gcc.dg/pr67312.c: New. From Zdenek Sojka. * gcc.target/i386/stackalign/return-4.c: Add -O. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228175 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/debug/dwarf2/pr44641.C: Add one to expected line numbers.dje2015-09-272-3/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228174 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2015-09-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228173 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix missing deep copy when assigning a DT constructor to an arraymikael2015-09-264-1/+41
| | | | | | | | | | | | | | | | | | | This adds the missing deep copy when assiging a constructor of a derived type with allocatable components to an array. The check for consantness is removed so that the deep_copy argument passed to gfc_trans_scalar_assign is set to true. PR fortran/67721 gcc/fortran/ * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness condition guarding deep copy. gcc/testsuite/ * gfortran.dg/alloc_comp_deep_copy_3.f03: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228170 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-26 Paul Thomas <pault@gcc.gnu.org>pault2015-09-262-17/+21
| | | | | | | | | PR fortran/67567 * resolve.c (resolve_fl_procedure): For module procedures, take the parent module name and the submodule name from the name of the namespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228169 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/pr64935-1.c: XFAIL on AIX.dje2015-09-2626-25/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/pr64935-2.c: XFAIL on AIX. * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL Start new file on AIX. * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL At line number on AIX. * gcc.dg/debug/dwarf2/global-used-types.c: XFAIL ascii on AIX. * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: XFAIL DW_AT_noreturn on AIX. * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: XFAIL DW_AT_noreturn on AIX. * gcc.dg/debug/dwarf2/lang-c89.c: XFAIL DW_AT_language on AIX. * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: XFAIL DW_TAG on AIX. * g++.dg/debug/dwarf2/deleted-member-function.C: XFAIL DW_AT_GNU_deleted on AIX. * g++.dg/debug/dwarf2/noreturn-function.C: XFAIL DW_AT_noreturn on AIX. * g++.dg/debug/dwarf2/template-params-6.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/dwarf4-nested.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/pubnames-2.C: Skip on AIX. * g++.dg/debug/dwarf2/pr44641.C: Skip on AIX. * g++.dg/debug/dwarf2/pr46527.C: XFAIL on AIX. * g++.dg/debug/dwarf2/imported-decl-2.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/namespace-1.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/global-used-types-1.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/lambda1.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/pubnames-3.C: Skip on AIX. * g++.dg/debug/dwarf2/pr61433.C: XFAIL on AIX. * g++.dg/debug/dwarf2/nested-4.C: XFAIL on AIX. * g++.dg/debug/dwarf2/template-func-params-6.C: XFAIL ascii on AIX. * g++.dg/debug/dwarf2/lineno-simple1.C: XFAIL on AIX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228168 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.dje2015-09-269-51/+477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition. (output_fde): Don't output length for debug_frame on AIX. (output_call_frame_info): Don't output length for debug_frame on AIX. (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not HAVE_XCOFF_DWARF_EXTRAS. (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not HAVE_XCOFF_DWARF_EXTRAS. (output_compilation_unit_header): Don't output length on AIX. (output_pubnames): Don't output length on AIX. (output_aranges): Delete argument. Compute length locally. Don't output length on AIX. (output_line_info): Don't output length on AIX. (dwarf2out_finish): Don't compute aranges_length. * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition. (dw2_asm_output_nstring): Emit .byte not .ascii on AIX. * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct symbol decoration for AIX. (rs6000_xcoff_debug_unwind_info): New. (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op for SECTION_DEBUG. (rs6000_xcoff_declare_function_name): Emit different .function pseudo-op when DWARF2_DEBUG. Don't call xcoffout_declare_function for DWARF2_DEBUG. * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO): Redefine. * config/rs6000/aix71.h: New. * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF locations support. * configure: Regenerate. * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with DWARF support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228167 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH] Fix undefined behaviour in arc portlaw2015-09-263-4/+11
| | | | | | | | | * config/arc/arc.c (arc_output_addsi): Fix left shift undefined behaviour. * config/arc/constraints.md (Cca, C2a): Fix left shift undefined behaviour. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228166 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH] Fix undefined behaviour in SH portlaw2015-09-262-1/+4
| | | | | | | * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined behaviour git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228165 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH] Fix undefined behaviour in mips portlaw2015-09-262-1/+4
| | | | | | | * config/mips/mips.c (mips_compute_frame_info): Fix left shift undefined behaviour. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228164 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH] Fix undefined behaviour in cris portlaw2015-09-262-2/+10
| | | | | | | | * config/cris/cris.md (asrandb): Fix left shift undefined behaviour. (asrandw): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228163 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2015-09-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228161 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>kargl2015-09-254-1/+27
| | | | | | | | | | | | | PR fortran/67614 * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL. 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67614 * gfortran.dg/pr67614.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228156 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>kargl2015-09-254-4/+36
| | | | | | | | | | | | | | | PR fortran/67525 * parse.c (match_deferred_characteristics): Remove an assert, which allows an invalid SELECT TYPE selector to be detected. 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67525 * gfortran.dg/pr67525.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228155 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix type in the changelog entry,vmakarov2015-09-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228154 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-25 Vladimir Makarov <vmakarov@redhat.com>vmakarov2015-09-252-0/+12
| | | | | | | | | | PR target/61578 * lra-constarints.c (match_reload): Check presence of the input pseudo in the output pseudo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228153 138bc75d-0d04-0410-961f-82ee72b054a4
* Add PR fortran/55603 working testmikael2015-09-252-0/+22
| | | | | | | | | | gcc/testsuite/ PR fortran/55603 * gfortran.dg/allocatable_function_9.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228151 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-25 Tobias Burnus <burnus@net-b.de>burnus2015-09-252-2/+6
| | | | | | | | * doc/invoke.texi (-fsanitize): Minor wording tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228148 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-25 Tobias Burnus <burnus@net-b.de>burnus2015-09-252-8/+13
| | | | | | | | * doc/invoke.texi (-fsanitize): Update URLs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228144 138bc75d-0d04-0410-961f-82ee72b054a4
* * tr.po: Update.jsm282015-09-252-3063/+193
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228138 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix old ChangeLog entry to include global variable name that was changed.tejohnson2015-09-251-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228137 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch unsets -freorder-blocks-and-partition when -fprofile-usetejohnson2015-09-252-0/+15
| | | | | | | | | | | | | | | | is not specified. Function splitting was not actually being performed in that case, as probably_never_executed_bb_p does not distinguish any basic blocks as being cold vs hot when there is no profile data. Leaving it enabled, however, causes the assembly code generator to create (empty) cold sections and labels, leading to unnecessary size overhead. 2015-09-25 Teresa Johnson <tejohnson@google.com> * opts.c (finish_options): Unset -freorder-blocks-and-partition if not using profile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228136 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid creating dangling references in case of nested tuplesville2015-09-253-8/+106
| | | | | | | | | | | | | | | | for tuple constructors that construct from other tuples. 2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com> Avoid creating dangling references in case of nested tuples for tuple constructors that construct from other tuples. * include/std/tuple (_TC::_NonNestedTuple): New. * include/std/tuple (tuple::_TNTC): New. * include/std/tuple (tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&): Use _TNTC. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228134 138bc75d-0d04-0410-961f-82ee72b054a4
* PR pretty-print/67567 do not pass NULL as a stringmanu2015-09-255-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortran passes NULL where a non-null string is expected by the pretty-printer, which causes a sanitizer warning. This could have been found earlier by using gcc_checking_assert. Even if the assertion is false, the result is just an incomplete diagnostic, thus it seems more user-friendly to assert only when checking. I do not have any idea how to properly fix the Fortran bug, thus this patch simply works-around it. gcc/fortran/ChangeLog: 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org> PR pretty-print/67567 * resolve.c (resolve_fl_procedure): Work-around when iface->module == NULL. gcc/ChangeLog: 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org> PR pretty-print/67567 * pretty-print.c (pp_string): Add gcc_checking_assert. * pretty-print.h (output_buffer_append_r): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228131 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/olegendo2015-09-254-6/+106
| | | | | | | | | | | | | | | PR target/67675 * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and addr2 individually. Don't emit logical or insn if one is known to be aligned approriately. (sh_expand_cmpnstr): Likewise. gcc/testsuite/ PR target/67675 * gcc.target/sh/pr67675.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228118 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Force __builtin_aarch64_fp[sc]r argument into a REGrsandifo2015-09-254-1/+36
| | | | | | | | | | | | | | | | The testcase triggered an ICE because the builtin expansion code passed the output of expand_normal directly to the SET_FP[SC]R generator, without forcing it into a register first. gcc/ * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force __builtin_aarch64_fp[sc]r arguments into a register. gcc/testsuite/ * gcc.target/aarch64/fpcr_fpsr_1.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228116 138bc75d-0d04-0410-961f-82ee72b054a4
* Rename IA MCU processor lakemount to lakemonthjl2015-09-2511-33/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IA MCU processor name is lakemont, not lakemount. gcc/ * config.gcc (x86_archs): Replace lakemount with lakemont. (with_cpu): Likewise. (with_arch): Likewise. * config/i386/i386-c.c (ix86_target_macros_internal): Replace PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace __tune_lakemount__ with __tune_lakemont__. * config/i386/i386.c (lakemount_cost): Renamed to ... (lakemont_cost): This. (m_LAKEMOUNT): Renamed to ... (m_LAKEMONT): This. (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT. (processor_target_table): Replace "lakemount" with "lakemont". (processor_alias_table): Likewise. (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Likewise. * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT. * doc/invoke.texi: Replace lakemount with lakemont. Replace Lakemount with Lakemont. gcc/testsuite/ * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=lakemount with -mtune=lakemont. * gcc.target/i386/pr66821.c (dg-options): Likewise. * gcc.target/i386/pr67329.c (dg-options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228115 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.mpolacek2015-09-255-28/+58
| | | | | | | | | | (ubsan_instrument_shift): Likewise. * c-c++-common/ubsan/bounds-11.c: New test. * c-c++-common/ubsan/bounds-12.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228114 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/64906mpolacek2015-09-254-0/+23
| | | | | | | | | * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1. * c-c++-common/ubsan/pr64906.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228112 138bc75d-0d04-0410-961f-82ee72b054a4
* Change IA MCU processor from iamcu to lakemounthjl2015-09-2511-33/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first IA MCU processor will be Lakemount. This patch changes IA MCU processor name from iamcu to lakemount. gcc/ * config.gcc (x86_archs): Replace iamcu with lakemount. (with_cpu): Likewise. (with_arch): Likewise. * doc/invoke.texi: Likewise. * config/i386/i386-c.c (ix86_target_macros_internal): Replace PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace __tune_iamcu__ with __tune_lakemount__. * config/i386/i386.c (iamcu_cost): Renamed to ... (lakemount_cost): This. (m_IAMCU): Renamed to ... (m_LAKEMOUNT): This. (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT. (processor_target_table): Replace "iamcu" with "lakemount". (processor_alias_table): Likewise. (ix86_issue_rate): Replace PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Likewise. * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT. gcc/testsuite/ * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu with -mtune=lakemount. * gcc.target/i386/pr66821.c (dg-options): Likewise. * gcc.target/i386/pr67329.c (dg-options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228109 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2015-09-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228108 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.danglin2015-09-255-23/+284
| | | | | | | | | | | | | | | | | * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): Declare. * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. (pa_expand_compare_and_swap_loop): New. (pa_maybe_emit_compare_and_swap_exchange_loop): New. * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. (atomic_loaddf_1, atomic_storedf_1): New insn patterns. (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): Revise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228104 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-24 Michael Collison <michael.collison@linaro.org>collison2015-09-242-4/+21
| | | | | | | | | PR other/57195 * read-md.c (read_name): Allow mode iterators inside angle brackets in rtl expressions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228102 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-24 Vladimir Makarov <vmakarov@redhat.com>vmakarov2015-09-242-7/+25
| | | | | | | | | | | PR target/61578 * ira-color.c (update_allocno_cost): Add parameter. (update_costs_from_allocno): Decrease conflict cost. Pass the new parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228097 138bc75d-0d04-0410-961f-82ee72b054a4
* fdiagnostics-color=never does not disable color for some diagnosticsmanu2015-09-245-3/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually, I was trying to reject non-warning options as argument to -Werror=. However, the new test fails because -fdiagnostics-color=never is always placed by the driver after the warning options when calling the compiler proper. This patch prunes all -fdiagnostics-color from the command-line but the last one, which is moved to the first position. gcc/ChangeLog: 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/67640 * opts-common.c (prune_options): Discard all -fdiagnostics-color but the last one, which is moved to the front to be processed first. * opts.c (enable_warning_as_error): Reject options that do not control warnings. gcc/testsuite/ChangeLog: 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/67640 * gcc.dg/Werror-13.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228094 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Handle const address in aarch64_print_operandjiwang2015-09-242-0/+5
| | | | | | | | | | 2015-09-24 Jiong Wang <jiong.wang@arm.com> * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228093 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Delete aarch64_symbol_context which is not usedjiwang2015-09-244-39/+31
| | | | | | | | | | | | | | | | | | | 2015-09-24 Jiong Wang <jiong.wang@arm.com> * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete. * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise. (aarch64_cannot_force_const_mem): Likewise. (aarch64_classify_address): Likewise. (aarch64_classify_symbolic_expression): Likewise. (aarch64_print_operand): Likewise. (aarch64_classify_symbol): Likewise. (aarch64_mov_operand_p): Likewise. * config/aarch64/predicates.md (aarch64_valid_symref): Likewise. (aarch64_mov_operand): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228092 138bc75d-0d04-0410-961f-82ee72b054a4
* Leave moved-from std::deque in a valid stateredi2015-09-243-0/+19
| | | | | | | | | | PR libstdc++/67707 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize empty object. * testsuite/23_containers/deque/allocator/move.cc: Check moved-from deque. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228090 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix aarch64/target_attr_10 test following r227997.nsz2015-09-242-1/+5
| | | | | | | | | | gcc/testsuite/ChangeLog: * gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228088 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Fix recent lfstack change on Solaris.ian2015-09-242-2/+2
| | | | | | | Reviewed-on: https://go-review.googlesource.com/14922 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228087 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Fix -mdebug=stack code for spe_gp_offsetsegher2015-09-242-1/+6
| | | | | | | | | | 2015-09-23 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.c (debug_stack_info): Invert the test for info->spe_gp_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228086 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-24 Richard Biener <rguenther@suse.de>rguenth2015-09-244-15/+19
| | | | | | | | | | | PR lto/67699 * lto-cgraph.c (compute_ltrans_boundary): Do not stream abstract origins. * g++.dg/pr67699.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228084 138bc75d-0d04-0410-961f-82ee72b054a4
* ARM: fp16 Fix PR 67624 - Incorrect conversion of float Infinity to __fp16rearnsha2015-09-244-2/+29
| | | | | | | | | | | | PR libgcc/67624 libgcc: * config/arm/fp16.c (__gnu_f2h_internal): Handle infinity correctly. gcc/testsuite: * gcc.target/arm/fp16-inf.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228082 138bc75d-0d04-0410-961f-82ee72b054a4
* Additional changes to switch from gimple to gimple *tschwinge2015-09-245-6/+14
| | | | | | | | | | | | gcc/ * tree-object-size.c (plus_stmt_object_size) (cond_expr_object_size): Change the formal parameters from gimple to gimple *. * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise. * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static. * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228080 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/kyukhin2015-09-242-1/+6
| | | | | | | | * gcc.target/i386/avx512vbmi-check.h (main): Fix register name while checking for AVX-512VBMI presence. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228079 138bc75d-0d04-0410-961f-82ee72b054a4
* Support PIE on Solarisro2015-09-2415-34/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Check for PIE support on Solaris 11.x and 12. libgcc: * config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file. Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts. * config/sol2/gmon.c: (monstartup): Don't write trailing NUL of messages. (internal_mcount): Likewise. * config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with crt_compile, add CRTSTUFF_T_CFLAGS_S. gcc: * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. Check for ld -type pie on Solaris 11.x and 12. * configure: Regenerate. * config.in: Regenerate. * gcc.c (LD_PIE_SPEC): Allow redefinition. * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. (STARTFILE_SPEC): Use it. (ENDFILE_CRTEND_SPEC): Define. (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define. (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define. * config/i386/sol2.h (ENDFILE_SPEC): Remove. (ENDFILE_ARCH_SPEC): Define. * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228078 138bc75d-0d04-0410-961f-82ee72b054a4
* Use CRTs provided by Solarisro2015-09-2414-22/+289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * configure.ac (gcc_cv_solaris_crts): New test. * configure. Regenerate. * config.in: Regenerate. * config/sol2.h (STARTFILE_SPEC): Simplify, provide HAVE_SOLARIS_CRTS variant. libgcc: * configure.ac (libgcc_cv_solaris_crts): New test. * configure: Regenerate. * config.in: Regenerate. * config/sol2/crtp.c, config/sol2/crtpg.c: New files. * config/gmon-sol2.c: Rename to ... * config/sol2/gmon.c: ... this. Include auto-target.h. (internal_mcount): Wrap setup handling in !HAVE_SOLARIS_CRTS. * config/t-sol2: Rename to ... * config/sol2/t-sol2: ... this. (gmon.o): Reflect renaming. (crtp.o, crtpg.o): New rules. * config.host (*-*-solaris2*): Reflect renaming. Use system CRTs if present. Remove default CRT case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228077 138bc75d-0d04-0410-961f-82ee72b054a4
* [tree-inline][obvious] Delete redundant count_insns_seqktkachov2015-09-244-17/+13
| | | | | | | | | | | | | * tree-inline.h (count_insns_seq): Delete prototype. (estimate_num_insns_seq): Define prototype. * tree-inline.c (count_insns_seq): Delete. (estimate_num_insns_seq): Remove static qualifier. * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq with estimate_num_insns_seq. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228075 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-24 Richard Biener <rguenther@suse.de>rguenth2015-09-246-3/+52
| | | | | | | | | | | | | | | | * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base members. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF offset. (ao_ref_init_from_vn_reference): Record clique and base in the built base. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise * g++.dg/tree-ssa/restrict3.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228074 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-24 Richard Biener <rguenther@suse.de>rguenth2015-09-244-2/+25
| | | | | | | | | | | PR tree-optimization/48885 * tree-ssa-structalias.c (visit_loadstore): Handle default defs as not including any restrict tags from other pointers. * gcc.dg/tree-ssa/restrict-6.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228073 138bc75d-0d04-0410-961f-82ee72b054a4