1. 28 Mar, 2017 18 commits
    • tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's… · 3e907b90
      tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's irreducible flag accordign to it.
      
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
      	mark new edge's irreducible flag accordign to it.
      	(vect_do_peeling): Check loop preheader edge's irreducible flag
      	and pass it to function slpeel_add_loop_guard.
      	gcc/testsuite
      	* gcc.c-torture/compile/irreducible-loop.c: New.
      
      From-SVN: r246540
      Bin Cheng committed
    • re PR tree-optimization/80218 (tree-call-cdce does not update block frequencies) · 522818b9
      gcc/
      	PR tree-optimization/80218
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
      	Update block frequencies and counts.
      
      gcc/testsuite/
      	PR tree-optimization/80218
      	* gcc.dg/pr80218.c: New test.
      
      From-SVN: r246538
      Richard Sandiford committed
    • re PR ipa/78644 (ICE: SIGSEGV in is_gimple_reg_type with -Og -fipa-cp) · ea7d7da8
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78644
      	* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
      	of a simplification result we may not use it at all.
      
      	* gcc.dg/pr78644-1.c: New testcase.
      	* gcc.dg/pr78644-2.c: Likewise.
      
      From-SVN: r246534
      Richard Biener committed
    • Skip pic-3,4.c and pie-3,4.c for mips*-*-linux-*. · 498173ef
      gcc/testsuite/
      
      	* gcc.dg/pic-3.c: Skip for mips*-*-linux-*.
      	* gcc.dg/pic-4.c: Likewise.
      	* gcc.dg/pie-3.c: Likewise.
      	* gcc.dg/pie-4.c: Likewise.
      
      From-SVN: r246533
      Toma Tabacu committed
    • Add _GLIBCXX_RELEASE macro to "Using" section of manual · a138d52a
      	* doc/xml/manual/abi.xml: Add xml:id anchor.
      	* doc/xml/manual/using.xml (manual.intro.using.macros): Document
      	_GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
      	(concurrency.io.structure): Add markup.
      	* doc/html/*: Regenerate.
      
      From-SVN: r246532
      Jonathan Wakely committed
    • Handle PHI nodes w/o a argument (PR ipa/80205). · c5ad2433
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80205
      	* g++.dg/ipa/pr80205.C: New test.
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/80205
      	* tree-inline.c (copy_phis_for_bb): Do not create PHI node
      	without arguments, generate default definition of a SSA name.
      
      From-SVN: r246530
      Martin Liska committed
    • Fix broken tests for avr target · 17722fb9
      These tests assume {unsigned,} ints are 32 bits or wider. Explicitly
      specify __{U}INT32_TYPE__ for targets with __SIZEOF_INT__ < 4.
      
      gcc/testsuite/
      
      2017-03-28  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.c-torture/execute/pr79121.c:Use __{U}INT32_TYPE__ for targets
      	with sizeof(int) < 4.
      	* gcc.c-torture/execute/pr79737-1.c (struct S): Likewise.
      	* gcc.c-torture/execute/pr79737-2.c: Likewise.
      	* gcc.dg/torture/pr79777.c: Likewise.
      	* gcc.dg/torture/pr79910.c: Likewise.
      
      From-SVN: r246529
      Senthil Kumar Selvaraj committed
    • Support for Ada on aarch64 with -mabi=ilp32 · 41f44717
      	PR ada/80117
      	* system-linux-aarch64-ilp32.ads: New file.
      	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
      	from LIBGNAT_TARGET_PAIRS.
      	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
      	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
      	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
      	or -mabi=ilp32, resp.
      
      From-SVN: r246528
      Andreas Schwab committed
    • re PR middle-end/80222 (may_alias folded away) · 737f500a
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80222
      	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
      	TYPE_REF_CAN_ALIAS_ALL references.
      	* fold-const.c (fold_indirect_ref_1): Likewise.
      
      	* g++.dg/pr80222.C: New testcase.
      
      From-SVN: r246527
      Richard Biener committed
    • Fix calls.c for a _complex type (PR ipa/80104). · 62f96a79
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80104
      	* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
      	thunk call as DECL_GIMPLE_REG_P when vector or complex type.
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80104
      	* gcc.dg/ipa/pr80104.c: New test.
      
      From-SVN: r246525
      Martin Liska committed
    • [ARC] Define _REENTRANT when -pthread is passed. · 0dee55fe
      The compiler is supposed to have the builtin defined _REENTRANT defined
      when -pthread is passed, which wasn't done on the ARC architecture.
      
      When _REENTRANT is not passed, the C library will not use reentrant
      functions, and the latest version of ax_pthread.m4 from the
      autoconf-archive will no longer detect that thread support is
      available (see https://savannah.gnu.org/patch/?8186).
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      	    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      	* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
      	(EXTRA_SPECS): Define.
      	(SUBTARGET_EXTRA_SPECS): Likewise.
      	(SUBTARGET_CPP_SPEC): Likewise.
      	* config/arc/elf.h (EXTRA_SPECS): Renamed to
      	SUBTARGET_EXTRA_SPECS.
      	* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
      
      Co-Authored-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      From-SVN: r246524
      Claudiu Zissulescu committed
    • [ARC] Update ARC SIMD patterns. · d1ab0a32
      vec_select expects in selection a list of subparts. The old ARC SIMD
      extension instructions were not up-to-date.
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/simdext.md (vst64_insn): Update pattern.
      	(vld32wh_insn): Likewise.
      	(vld32wl_insn): Likewise.
      	(vld64_insn): Likewise.
      	(vld32_insn): Likewise.
      
      From-SVN: r246523
      Claudiu Zissulescu committed
    • re PR sanitizer/80067 (ICE in fold_comparison with -fsanitize=undefined) · 72785f26
      	PR sanitizer/80067
      	* fold-const.c (fold_comparison): Use protected_set_expr_location
      	instead of SET_EXPR_LOCATION.
      
      	* c-c++-common/ubsan/shift-10.c: New test.
      
      From-SVN: r246521
      Marek Polacek committed
    • PR libstdc++/80229 restore support for shared_ptr<function type> · b1bd9158
      	PR libstdc++/80229
      	* include/bits/shared_ptr_base.h
      	(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
      	non-const and then use remove_cv to get unqualified type.
      	* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
      	cast away constness on object created const.
      	* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
      
      From-SVN: r246520
      Jonathan Wakely committed
    • Avoid name lookup warning · a292245e
      /home/markus/gcc/gcc/tree.c: In function ‘void inchash::add_expr(const_tree, inchash::hash&, unsigned int)’:
      /home/markus/gcc/gcc/tree.c:8013:11: warning: name lookup of ‘i’ changed
            for (i = TREE_OPERAND_LENGTH (t) - 1; i >= 0; --i)
                 ^
      /home/markus/gcc/gcc/tree.c:7773:7: warning:   matches this ‘i’ under ISO standard rules
         int i;
             ^
      /home/markus/gcc/gcc/tree.c:7869:16: warning:   matches this ‘i’ under old rules
             for (int i = 0; i < TREE_VEC_LENGTH (t); ++i)
                      ^
      
      From-SVN: r246519
      Markus Trippelsdorf committed
    • Fix PR# in last commit · 4dbf1eee
      From-SVN: r246518
      Jeff Law committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · 86516987
              PR tree-optimization/80162
      	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
      	function name.  Limit recursion depth.
      	(record_temporary_equivalences): Corresponding changes.
      
      	PR tree-optimization/80162
      	* gcc.c-torture/compile/pr80216.c: New test.
      
      From-SVN: r246517
      Jeff Law committed
    • Daily bump. · 98099983
      From-SVN: r246516
      GCC Administrator committed
  2. 27 Mar, 2017 20 commits
    • Restructure -Wno-narrowing documentation · 7810f87a
      	* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
      	covered first.
      
      From-SVN: r246513
      Jonathan Wakely committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · a9e4a1a5
      	PR middle-end/80162
      c-family/
      	* c-common.c (c_common_mark_addressable_vec): Don't set
      	TREE_ADDRESSABLE on DECL_HARD_REGISTER.
      c/
      	* c-tree.h (c_mark_addressable): Add array_ref_p argument.
      	* c-typeck.c (c_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(build_array_ref): Pass true as array_ref_p to c_mark_addressable.
      cp/
      	* cp-tree.h (cxx_mark_addressable): Add array_ref_p argument.
      	* typeck.c (cxx_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(cp_build_array_ref): Pass true as array_ref_p to cxx_mark_addressable.
      testsuite/
      	* c-c++-common/pr80162-1.c: New test.
      	* c-c++-common/pr80162-2.c: New test.
      	* c-c++-common/pr80162-3.c: New test.
      
      From-SVN: r246512
      Jakub Jelinek committed
    • re PR target/80102 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2330) · aade772d
      	PR target/80102
      	* reg-notes.def (REG_CFA_NOTE): Define.  Use it for CFA related
      	notes.
      	* cfgcleanup.c (reg_note_cfa_p): New array.
      	(insns_have_identical_cfa_notes): New function.
      	(old_insns_match_p): Don't cross-jump in between /f
      	and non-/f instructions.  If both i1 and i2 are frame related,
      	verify all CFA notes, their order and content.
      
      	* g++.dg/opt/pr80102.C: New test.
      
      From-SVN: r246511
      Jakub Jelinek committed
    • * de.po, fr.po: Update. · e298b56a
      From-SVN: r246510
      Joseph Myers committed
    • re PR target/78543 (ICE in push_reload, at reload.c:1349 on powerpc64le-linux-gnu) · d89f355e
      [gcc]
      2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78543
      	* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
      	HImode and SImode with zero extend to DImode to one insn.
      	(bswap<mode>2_extenddi): Likewise.
      	(bswapsi2_extenddi): Likewise.
      	(bswaphi2_extendsi): Likewise.
      	(bswaphi2): Combine bswap HImode and SImode into one insn.
      	Separate memory insns from swapping register.
      	(bswapsi2): Likewise.
      	(bswap<mode>2): Likewise.
      	(bswaphi2_internal): Delete, no longer used.
      	(bswapsi2_internal): Likewise.
      	(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
      	store, and gpr<-gpr swap insns.
      	(bswap<mode>2_store): Likewise.
      	(bswaphi2_reg): Register only splitter, combine with the splitter.
      	(bswaphi2 splitter): Likewise.
      	(bswapsi2_reg): Likewise.
      	(bswapsi2 splitter): Likewise.
      	(bswapdi2): If we have the LDBRX and STDBRX instructions, split
      	the insns into load, store, and register/register insns.
      	(bswapdi2_ldbrx): Likewise.
      	(bswapdi2_load): Likewise.
      	(bswapdi2_store): Likewise.
      	(bswapdi2_reg): Likewise.
      
      [gcc/testsuite]
      2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78543
      	* gcc.target/powerpc/pr78543.c: New test.
      
      From-SVN: r246508
      Michael Meissner committed
    • list_read.c: Insert /* Fall through. · b6749273
      2017-03-27  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	* io/list_read.c: Insert /* Fall through. */ in the macro
      	CASE_SEPARATORS in order to silence warnings.
      
      From-SVN: r246507
      Dominique d'Humieres committed
    • system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case. · 34c66326
      	* system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
      	(HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
      
      From-SVN: r246506
      Gunther Nikl committed
    • re PR target/80103 (ICE in output_1144, at config/rs6000/vsx.md:2298) · 79c4d73b
      gcc/testsuite/ChangeLog:
      
      2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/80103
      	* gcc.target/powerpc/pr80103-1.c: New test.
      
      gcc/ChangeLog:
      
      2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/80103
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
      	add comments.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
      	special handling for target option conflicts between dform
      	options (-mpower9-dform, -mpower9-dform-vector,
      	-mpower9-dform-scalar) and -mno-direct-move.
      
      From-SVN: r246505
      Kelvin Nilsen committed
    • cplus_demangle_fill_component: Handle DEMANGLE_COMPONENT_RVALUE_REFERENCE · 7a312bbd
      This patch almost a decade ago:
      
      ...
          2007-08-31  Douglas Gregor  <doug.gregor@gmail.com>
      
              * cp-demangle.c (d_dump): Handle
              DEMANGLE_COMPONENT_RVALUE_REFERENCE.
              (d_make_comp): Ditto.
      ...
      
      ... missed doing the same change to cplus_demangle_fill_component that
      was done to d_make_comp.  I.e., teach it to only validate that we're
      not passing in a "right" subtree.  GDB has recently (finally) learned
      about rvalue references, and a change to make it use
      cplus_demangle_fill_component more ran into an assertion because of
      this.
      
      (GDB is the only user of cplus_demangle_fill_component in both the gcc
      and binutils-gdb trees.)
      
      libiberty/ChangeLog:
      2017-03-27  Pedro Alves  <palves@redhat.com>
      
      	* cp-demint.c (cplus_demangle_fill_component): Handle
      	DEMANGLE_COMPONENT_RVALUE_REFERENCE.
      
      From-SVN: r246502
      Pedro Alves committed
    • re PR tree-optimization/80181 (ICE in set_lattice_value, at tree-ssa-ccp.c:505) · 819df781
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80181
      	* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
      
      	* gcc.dg/torture/pr80181.c: New testcase.
      
      From-SVN: r246500
      Richard Biener committed
    • [ARC] Fix move_double_src_operand predicate. · e5dcff3e
      Durring compilation process, (subreg (mem ...) ...) can occur. Hence,
      we need to check if the address of mem is a valid one. This patch is
      fixing this check by directly calling the address_operand, instead of
      calling move_double_src_operand, as the latter is always checking
      against the original mode, thus, returning false when the inner and
      outer modes are different.
      
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/predicates.md (move_double_src_operand): Replace the
      	call to move_double_src_operand with a call to address_operand.
      
      From-SVN: r246499
      Claudiu Zissulescu committed
    • [ARC] Fix divdf3 emulation for arcem. · c4192ad7
      libgcc/
      2017-02-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/ieee-754/divdf3.S (__divdf3): Use __ARCEM__.
      
      From-SVN: r246498
      Claudiu Zissulescu committed
    • [ARC] Disable TP register when building for bare metal. · 81b98ef7
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
      	* config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
      	* config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
      
      From-SVN: r246497
      Claudiu Zissulescu committed
    • [ARC] Fix detection of long immediate for load/store operands. · ac255185
      ARC can use scaled offsets when loading (i.e. ld.as rA,[base,
      offset]).  Where base and offset can be a register or an immediate
      operand.  The scaling only applies on the offset part of the
      instruction.  The compiler can accept an address like this:
      
      (plus:SI (mult:SI (reg:SI 2 r2 [orig:596 _2129 ] [596])
      	          (const_int 4 [0x4]))
      	 (const_int 60 [0x3c]))
      
      Hence, to emit this instruction we place the (const_int 60) into base
      and the register into offset to take advantage of the scaled offset
      facility of the load instruction.  As a result the length of the load
      instruction is 8 bytes.  However, the long_immediate_loadstore_operand
      predicate used for calculating the length attribute doesn't recognize
      this address and returns a wrong decision leading to a wrong length
      computation for a load instruction using the above address.
      
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/predicates.md (long_immediate_loadstore_operand):
      	Consider scaled addresses cases.
      
      From-SVN: r246496
      Claudiu Zissulescu committed
    • [ARC] Save/restore blink when in ISR. · 84804c5b
      gcc/
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_epilogue_uses): BLINK should be also
      	restored when in interrupt.
      	* config/arc/arc.md (simple_return): ARCv2 rtie instruction
      	doesn't have delay slot.
      
      2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* testsuite/gcc.target/arc/interrupt-4.c: New file.
      
      From-SVN: r246495
      Claudiu Zissulescu committed
    • re PR ipa/79776 (ICE on valid code in insert_vi_for_tree, at tree-ssa-structalias.c:2807) · c5e5f5f6
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/79776
      	* tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
      	inlined thunk clones.
      
      	* g++.dg/ipa/pr79776.C: New testcase.
      
      From-SVN: r246494
      Richard Biener committed
    • re PR sanitizer/80168 (ICE in make_decl_rtl, at varasm.c:1311 w/ VLA and -fsanitize=address) · 7cd200f6
      	PR sanitizer/80168
      	* asan.c (instrument_derefs): Copy over last operand from
      	original COMPONENT_REF to the new COMPONENT_REF with
      	DECL_BIT_FIELD_REPRESENTATIVE.
      	* ubsan.c (instrument_object_size): Likewise.
      
      	* gcc.dg/asan/pr80168.c: New test.
      
      From-SVN: r246492
      Jakub Jelinek committed
    • re PR tree-optimization/80170 (SLP vectorization creates aligned access) · 79f512ff
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80170
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
      	sure DR/SCEV didnt fold in constants we do not see when looking
      	at the reference base alignment.
      
      	* gcc.dg/pr80170.c: New testcase.
      
      From-SVN: r246491
      Richard Biener committed
    • re PR tree-optimization/80171 (ICE (Segmentation fault) with optimization) · 672d9f8e
      2017-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80171
      	* gimple-fold.c (fold_ctor_reference): Properly guard against
      	NULL return value from canonicalize_constructor_val.
      
      	* g++.dg/torture/pr80171.C: New testcase.
      
      From-SVN: r246490
      Richard Biener committed
    • Daily bump. · fbede6f9
      From-SVN: r246489
      GCC Administrator committed
  3. 26 Mar, 2017 2 commits