1. 12 Mar, 2016 7 commits
    • re PR target/69614 (wrong code with -Os -fno-expensive-optimizations… · cefe08a4
      re PR target/69614 (wrong code with -Os -fno-expensive-optimizations -fschedule-insns -mtpcs-leaf-frame -fira-algorithm=priority @ armv7a)
      
      2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/69614
      	* lra-constraints.c (delete_move_and_clobber): New.
      	(remove_inheritance_pseudos): Use it.
      
      2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/69614
      	* gcc.target/arm/pr69614.c: New.
      
      From-SVN: r234162
      Vladimir Makarov committed
    • re PR fortran/70031 (Error in recursive module subroutine declaration if… · 70112e2a
      re PR fortran/70031 (Error in recursive module subroutine declaration if declared as "module recursive")
      
      2016-03-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/70031
      	* decl.c (gfc_match_prefix): Treat the 'module' prefix in the
      	same way as the others, rather than fixing it to come last.
      	(gfc_match_function_decl, gfc_match_subroutine): After errors
      	in 'copy_prefix', emit them immediately in the case of module
      	procedures to prevent a later ICE.
      
      	PR fortran/69524
      	* decl.c (gfc_match_submod_proc): Permit 'module procedure'
      	declarations within the contains section of modules as well as
      	submodules.
      	* resolve.c (resolve_fl_procedure): Likewise.
      	*trans-decl.c (build_function_decl): Change the gcc_assert to
      	allow all forms of module procedure declarations within module
      	contains sections.
      
      2016-03-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/70031
      	* gfortran.dg/submodule_14.f08: New test
      
      	PR fortran/69524
      	* gfortran.dg/submodule_15.f08: New test
      
      From-SVN: r234161
      Paul Thomas committed
    • re PR ada/70017 (c52103x and c52104x test failure on s390x) · 0529235d
      	PR ada/70017
      	* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
      	the libcall is LCT_THROW.
      	* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
      	for the checking routine.
      
      From-SVN: r234160
      Eric Botcazou committed
    • Fix PR c++/70106 (type of parenthesized qualified-id has wrong cv-qualifiers) · 3f1e5d3a
      gcc/cp/ChangeLog:
      
      	PR c++/70106
      	* semantics.c (force_paren_expr): Just build a PAREN_EXPR when
      	processing_template_decl and EXPR is a SCOPE_REF.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/70106
      	* g++.dg/cpp1y/paren3.C: New test.
      
      From-SVN: r234159
      Patrick Palka committed
    • Daily bump. · c1e88465
      From-SVN: r234158
      GCC Administrator committed
    • re PR target/70131 (PowerPC ISA 2.07 is inefficient at doint (float)(int)x.) · a3f6d680
      [gcc]
      2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/70131
      	* config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
      	optimization if we have direct move.
      	(roundu32<mode>2_fprs): Likewise.
      
      [gcc/testsuite]
      2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/70131
      	* gcc.target/powerpc/ppc-round2.c: New test.
      
      From-SVN: r234155
      Michael Meissner committed
    • * sv.po: Update. · 089d955f
      From-SVN: r234153
      Joseph Myers committed
  2. 11 Mar, 2016 17 commits
    • re PR target/70123 (Miscompilation of cfitsio testcase on s390x-linux starting with r222144) · 92348f09
      	PR target/70123
      	* lra-remat.c (operand_to_remat): Disallow hard regs in the value t
      	be rematerialized.
      	(reg_overlap_for_remat_p): Renamed from input_regno_present_p.
      	Arguments swapped.  All callers changed.  Take reg_renumber into
      	account, and Calculate and compare register ranges for hard regs.
      
      	PR target/70123
      	* gcc.dg/torture/pr70123.c: New test.
      
      From-SVN: r234152
      Bernd Schmidt committed
    • re PR tree-optimization/70190 (ICE (segfault) at -O2 and -O3 on x86_64-linux-gnu) · cebde9e9
      	PR tree-optimization/70190
      	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
      	Handle cases where we can not extract the taken edge, even though we
      	found a constant value.
      
      	PR tree-optimization/70190
      	* gcc.c-torture/compile/pr70190.c: New test.
      
      From-SVN: r234151
      Jeff Law committed
    • re PR tree-optimization/64058 (Performance degradation after r216304) · 015782a5
      	PR tree-optimization/64058
      	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
      	(num_coalesce_pairs): Move up earlier in file.
      	(find_coalesce_pair): Initialize the INDEX field for each pair
      	discovered.
      	(compare_pairs): No longer sort on the elements in each pair.
      	Instead break ties with the index of the coalesce pair.
      
      From-SVN: r234149
      Jeff Law committed
    • Wmisleading-indentation.c: add more test cases for PR c/68187 · 3edc5da4
      gcc/testsuite/ChangeLog:
      	PR c/68187
      	* c-c++-common/Wmisleading-indentation.c (test43_a): New test
      	case.
      	(test43_b): Likewise.
      	(test43_c): Likewise.
      	(test43_d): Likewise.
      	(test43_e): Likewise.
      	(test43_f): Likewise.
      	(test43_g): Likewise.
      	(test44_a): Likewise.
      	(test44_b): Likewise.
      	(test44_c): Likewise.
      	(test44_d): Likewise.
      	(test44_e): Likewise.
      
      From-SVN: r234146
      David Malcolm committed
    • Wmisleading-indentation: add reproducer for PR c/70085 · 318c1204
      PR c/70085 reported a false-positive from -Wmisleading-indentation.
      
      The warning was fixed by the fix for PR c/68187 (r233972), but it seems
      worth capturing the reproducer for PR c/70085 as an additional test case,
      as it's slightly different to those seen in PR c/68187.
      
      gcc/testsuite/ChangeLog:
      	PR c/70085
      	* c-c++-common/Wmisleading-indentation.c (pr70085): New test case.
      
      From-SVN: r234145
      David Malcolm committed
    • [AArch64] Fix gcc.target/aarch64/vect-reduc-or_1.c for -mcpu=cortex-a57 · bc062234
      	* gcc.target/aarch64/vect-reduc-or_1.c: Add -fno-vect-cost-model to
      	dg-options.
      
      From-SVN: r234142
      Kyrylo Tkachov committed
    • [AArch64] PR target/70002: Make aarch64_set_current_function play nice with pragma resetting · acfc1ac1
      	PR target/70002
      	* config/aarch64/aarch64-protos.h
      	(aarch64_save_restore_target_globals): New prototype.
      	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
      	Call the above when popping pragma.
      	* config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
      	New function.
      	(aarch64_set_current_function): Rewrite using the above.
      
      	PR target/70002
      	PR target/69245
      	* gcc.target/aarch64/pr69245_2.c: New test.
      
      From-SVN: r234141
      Kyrylo Tkachov committed
    • re PR tree-optimization/70177 (ICE in extract_ops_from_tree starting with r233660) · d1e2bb2d
      	PR tree-optimization/70177
      	* gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
      	(extract_ops_from_tree): ... this.  In the 2 argument
      	overload remove _1 suffix.
      	* gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
      	(extract_ops_from_tree): ... this.
      	* gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
      	Adjust callers.
      	* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
      	* tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
      	extract_ops_from_tree instead of 2 operand one.
      
      	* gcc.dg/pr70177.c: New test.
      
      From-SVN: r234140
      Jakub Jelinek committed
    • Re: Add -funconstrained-commons to work around PR/69368 (and others) in SPEC2006 · 07350627
      gcc/testsuite:
      
      	* gfortran.dg/unconstrained_commons.f: Widen regexp to match j_<N>.
      
      From-SVN: r234139
      Alan Lawrence committed
    • Fix PR/70013 · 5c6706f7
      gcc:
      
      	PR tree-optimization/70013
      	* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
      	for constant-pool entries.
      
      gcc/testsuite:
      
      	* gcc.dg/tree-ssa/sra-20.c: New.
      
      From-SVN: r234138
      Alan Lawrence committed
    • re PR rtl-optimization/70174 (ICE at -O1 and above on x86_64-linux-gnu in… · 686d390a
      re PR rtl-optimization/70174 (ICE at -O1 and above on x86_64-linux-gnu in gen_lowpart_general, at rtlhooks.c:63)
      
      	PR rtl-optimization/70174
      	* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
      	followed by gen_lowpart on force_reg instead of just gen_lowpart.
      
      	* gcc.dg/pr70174.c: New test.
      
      From-SVN: r234137
      Jakub Jelinek committed
    • re PR tree-optimization/70169 (ICE at -O1 and above on x86_64-linux-gnu in… · 02d472a2
      re PR tree-optimization/70169 (ICE at -O1 and above on x86_64-linux-gnu in gen_lsm_tmp_name, at tree-ssa-loop.c:791)
      
      	PR tree-optimization/70169
      	* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
      	LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
      	for unknown codes.
      
      	* gcc.dg/pr70169.c: New test.
      
      From-SVN: r234136
      Jakub Jelinek committed
    • re PR rtl-optimization/70160 (gcc ICE at -O2 (seg fault) and above on valid code… · 0f9befa1
      re PR rtl-optimization/70160 (gcc ICE at -O2 (seg fault) and above on valid code on x86_64-linux-gnu)
      
      gcc/
      
      	PR target/70160
      	* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
      	of uninitialized values.
      
      gcc/testsuite/
      
      	PR target/70160
      	* gcc.target/i386/pr70160.c: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r234135
      Ilya Enkovich committed
    • S/390: Fix rounding for _Decimal128 to _Decimal32 conversion · 432d4670
      We do not have a direct conversion instruction from 128 bit DFP to 32
      bit DFP so this needs to be done in two steps.  The first needs to be
      done with the "prepare for shorter precision rounding mode" in order
      to produce a correct result.
      
      gcc/ChangeLog:
      
      2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
      	define_expand.
      	("*trunctddd2"): New pattern definition.
      	("trunctdsd2"): Set prep_for_short_prec rounding mode for the
      	TD->DD truncation.
      
      gcc/testsuite/ChangeLog:
      
      2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/dfp-1.c: New test.
      
      From-SVN: r234134
      Andreas Krebbel committed
    • S/390: Define macros for rounding mode constants · ae8e301e
      This patch replaces a few magic numbers used for floating point
      rounding modes with macros.  This is mostly a NoOp change apart from:
      
      fixuns_truncdddi2, fixuns_trunctddi2, fixuns_trunc<mode>si2: Replace 5
      with DFP_RND_TOWARD_0 (which is 9).
      
      5 as well as 9 represent round towards 0 with the difference that for
      5 the new DFP quantum exception is enabled as well.  This exception
      isn't IEEE754 and we do not have an interface to enable and test it
      anyway.  So we do not intend to enable it.  This so far should not
      have any noticable effect since the quantum exception was not
      observable through the Posix functions.
      
      Some pattern ("fix_trunc<mode>di2") is already using rounding mode 9
      correctly.
      
      gcc/ChangeLog:
      
      2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
      	definitions for BFP and DFP rounding modes.
      	("fixuns_truncdddi2", "fixuns_trunctddi2")
      	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
      	("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
      	("fix_trunctf<mode>2"): Use the new constants instead of magic
      	numbers.
      
      From-SVN: r234133
      Andreas Krebbel committed
    • S/390: Rename shift_count_or_setmem_operand to setmem_operand · dd95128b
      The shift_count_or_setmem_operand predicate is now only used for
      setmem patterns anymore.  Rename it together with the related
      functions.
      
      gcc/ChangeLog:
      
      2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/constraints.md: Adjust comment.
      	("Y"): Adjust comment.  Rename s390_decompose_shift_count to
      	s390_decompose_addrstyle_without_index.
      	* config/s390/predicates.md (shift_count_or_setmem_operand):
      	Rename to setmem_operand.
      	* config/s390/s390-protos.h
      	(s390_decompose_shift_count): Rename to
      	s390_decompose_addrstyle_without_index.
      	* config/s390/s390.c (s390_decompose_shift_count)
      	(s390_mem_constraint, print_shift_count_operand)
      	(print_operand_address, print_operand): Rename
      	s390_decompose_shift_count to
      	s390_decompose_addrstyle_without_index and rename
      	print_shift_count_operand to print_addrstyle_operand troughout the
      	file.
      	* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
      	("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
      	Rename shift_count_or_setmem_operand to setmem_operand.
      	* config/s390/vx-builtins.md ("vec_insert<mode>")
      	("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
      	nonmemory_operand.
      
      From-SVN: r234132
      Andreas Krebbel committed
    • Daily bump. · a0232c64
      From-SVN: r234130
      GCC Administrator committed
  3. 10 Mar, 2016 16 commits