1. 14 Dec, 2015 2 commits
  2. 13 Dec, 2015 9 commits
    • [PR67355] drop dummy zero from reverse VTA ops, fix infinite recursion · c779924e
      VTA's cselib expression hashing compares expressions with the same
      hash before adding them to the hash table.  When there is a collision
      involving a self-referencing expression, we could get infinite
      recursion, in spite of the cycle breakers already in place.  The
      problem is currently latent in the trunk, because by chance we don't
      get a collision.
      
      Such value cycles are often introduced by reverse_op; most often,
      they're indirect, and then value canonicalization takes care of the
      cycle, but if the reverse operation simplifies to the original value,
      we used to issue a (plus V (const_int 0)), because at some point
      adding a plain value V to a location list as a reverse_op equivalence
      caused other problems.
      
      This dummy zero, in turn, caused the value canonicalizer to not fully
      realize the equivalence, leading to more complex graphs and,
      occasionally, to infinite recursion when comparing such
      value-plus-zero expressions recursively.
      
      Simply using V solves the infinite recursion from the PR testcase,
      since the extra equivalence and the preexisting value canonicalization
      together prevent recursion while the unrecognized equivalence
      wouldn't, but it exposed another infinite recursion in
      memrefs_conflict_p: get_addr had a cycle breaker in place, to skip RTL
      referencing values introduced after the one we're examining, but it
      wouldn't break the cycle if the value itself appeared in the
      expression being examined.
      
      After removing the dummy zero above, this kind of cycle in the
      equivalence graph is no longer introduced by VTA itself, but dummy
      zeros are also present in generated code, such as in the 32-bit x86's
      pro_epilogue_adjust_stack_si_add epilogue insn generated as part of
      the builtin longjmp in _Unwind_RaiseException building libgcc's
      unwind-dw2.o.  So, break the recursion cycle for them too.
      
      
      for  gcc/ChangeLog
      
      	PR debug/67355
      	* var-tracking.c (reverse_op): Don't add dummy zero to reverse
      	ops that simplify back to the original value.
      	* alias.c (refs_newer_value_p): Cut off recursion for
      	expressions containing the original value.
      
      From-SVN: r231599
      Alexandre Oliva committed
    • * gcc.dg/graphite/pr42729.c: XFAIL AIX. · 8454aad3
      From-SVN: r231598
      David Edelsohn committed
    • [PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k · dcca1b05
      [PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k
      	* config/m68k/m68k.md (load feeding clear byte): New peephole2.
      
      	* gcc.target/m68k/pr19201.c: New test.
      
      From-SVN: r231597
      Kazu Kirata committed
    • [PATCH] m68k testsuite TLC · d686d806
      	* gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to
      	command line options.
      	* gcc.target/m68k/20090709-1.c: Adjust expected output.
      
      From-SVN: r231596
      Jeff Law committed
    • Handle sizes and kinds params of GOACC_paralllel in find_func_clobbers · 40e2341e
      2015-12-13  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
      	parameters of GOACC_paralllel.
      
      From-SVN: r231595
      Tom de Vries committed
    • cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data. · 7fa658c2
      
      	* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
      	flag to lto_get_section_data.
      	* varpool.c (varpool_node::get_constructor): Likewise.
      	* lto-section-in.c (lto_get_section_data): Add new flag decompress.
      	(lto_free_section_data): Likewise.
      	(lto_get_raw_section_data): New function.
      	(lto_free_raw_section_data): New function.
      	(copy_function_or_variable): Copy sections w/o decompressing.
      	(lto_output_decl_state_refs): Picke compressed bit.
      	* lto-streamer.h (lto_in_decl_state): New flag compressed.
      	(lto_out_decl_state): Likewise.
      	(lto_get_section_data, lto_free_section_data): Update prototypes
      	(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
      	(lto_write_raw_data): Declare.
      	(lto_begin_section): Remove FIXME.
      	(lto_write_raw_data): New function.
      	(lto_write_stream): Remove FIXME.
      	(lto_new_out_decl_state): Set compressed flag.
      
      From-SVN: r231594
      Jan Hubicka committed
    • cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data. · ca834876
      
      	* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
      	flag to lto_get_section_data.
      	* varpool.c (varpool_node::get_constructor): Likewise.
      	* lto-section-in.c (lto_get_section_data): Add new flag decompress.
      	(lto_free_section_data): Likewise.
      	(lto_get_raw_section_data): New function.
      	(lto_free_raw_section_data): New function.
      	(copy_function_or_variable): Copy sections w/o decompressing.
      	(lto_output_decl_state_refs): Picke compressed bit.
      	* lto-streamer.h (lto_in_decl_state): New flag compressed.
      	(lto_out_decl_state): Likewise.
      	(lto_get_section_data, lto_free_section_data): Update prototypes
      	(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
      	(lto_write_raw_data): Declare.
      	(lto_begin_section): Remove FIXME.
      	(lto_write_raw_data): New function.
      	(lto_write_stream): Remove FIXME.
      	(lto_new_out_decl_state): Set compressed flag.
      
      	* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
      
      From-SVN: r231593
      Jan Hubicka committed
    • pr48549.C: XFAIL AIX. · b44c0c0c
              * g++.dg/opt/pr48549.C: XFAIL AIX.
              * g++.dg/abi/anon1.C: XFAIL AIX.
              * gcc.dg/graphite/pr42917.c: XFAIL AIX.
      
      From-SVN: r231592
      David Edelsohn committed
    • Daily bump. · c6683011
      From-SVN: r231591
      GCC Administrator committed
  3. 12 Dec, 2015 8 commits
    • tree.c (free_lang_data_in_type, [...]): Also free unnecesary type decls. · b8e99d03
      	* tree.c (free_lang_data_in_type, find_decls_types_r): Also free
      	unnecesary type decls.
      	* tree.h (is_redundant_typedef): Declare.
      	* dwarf2out.c (is_redundant_typedef): Export; booleanize
      
      From-SVN: r231588
      Jan Hubicka committed
    • Fix date · 425112c8
      From-SVN: r231587
      Eric Botcazou committed
    • sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. · eaac029f
      	* config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
      	* config/sparc/sparc.c (sparc_emit_set_const64): Remove code
      	conditionalized on HOST_BITS_PER_WIDE_INT == 32.
      	(sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
      	<CONST_DOUBLE>: Remove VOIDmode test.
      	(epilogue_renumber) <CONST_WIDE_INT>: New case.
      	(sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
      	(sparc_assemble_integer): Likewise.
      	(set_extends): Likewise.
      	(sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
      	<CONST_WIDE_INT>: New case.
      	<CONST_DOUBLE>: Remove support for VOIDmode.
      	<MULT>: Remove support for CONST_DOUBLE with VOIDmode.
      	* config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
      	(const_all_ones_operand): Likewise.
      	(uns_small_int_operand): Remove const_double and code conditionalized
      	on HOST_BITS_PER_WIDE_INT == 32.
      	(arith_double_operand): Likewise.
      	(arith_double_add_operand): Likewise.
      	(input_operand): Remove support for CONST_DOUBLE with DImode.
      	* config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
      	conditionalized on HOST_BITS_PER_WIDE_INT == 32.
      	(DFmode CONST_DOUBLE splitter): Likewise.
      	(*adddi3_insn_sp32): Likewise.
      	(*subdi3_insn_sp32): Likewise.
      	(DImode logical splitter): Likewise.
      	(DImode CONST_DOUBLE splitter): Delete.
      
      From-SVN: r231586
      Eric Botcazou committed
    • re PR fortran/45859 ([Coarray, F2008, IR] Rejects valid actuals to coarray dummies) · 460263d0
      2014-12-12  Tobias Burnus  <burnus@net-b.de>
      
      gcc/fortran
              PR fortran/45859
              * expr.c (gfc_is_simply_contiguous): Optionally permit array
              * elements.
              (gfc_check_pointer_assign): Update call.
              * interface.c (compare_parameter): Ditto.
              * trans-array.c (gfc_conv_array_parameter): Ditto.
              * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
              conv_isocbinding_function): Ditto.
              * gfortran.h (gfc_is_simply_contiguous): Update prototype.
      
      gcc/testsuite/
              PR fortran/45859
              * gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error.
      
      From-SVN: r231585
      Tobias Burnus committed
    • re PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to… · 8d4227c8
      re PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to %qs-like or %<%s%>-like string strings)
      
      2014-12-12  Tobias Burnus  <burnus@net-b.de>
      
      gcc/c-family/
              PR fortran/68815
              * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
              specifiers (%d, %i,%u and %c).
      
      gcc/fortran/
              PR fortran/68815
              * check.c (gfc_check_reshape): Replace %<%d%> by %qd.
              * matchexp.c (gfc_match_defined_op_name): Use %qc.
              * symbol.c (gfc_add_new_implicit_range,
              gfc_merge_new_implicit): Ditto.
      
      From-SVN: r231584
      Tobias Burnus committed
    • pr67808.c: Add -mlong-double-128 option. · 68f7e79e
              * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option.
              * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of
              wchar_t.
      
      From-SVN: r231583
      David Edelsohn committed
    • re PR sanitizer/68418 (ubsan complains about left shifts even with -fwrapv) · b3007644
      gcc:
      	PR sanitizer/68418
      	* c-family/c-ubsan.c (ubsan_instrument_shift): Disable
      	sanitization of left shifts for wrapping signed types as well.
      
      gcc/testsuite:
      	PR sanitizer/68418
      	* gcc.dg/ubsan/c99-wrapv-shift-1.c,
      	gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases.
      
      From-SVN: r231582
      Paolo Bonzini committed
    • Daily bump. · aa31006f
      From-SVN: r231580
      GCC Administrator committed
  4. 11 Dec, 2015 21 commits