1. 29 May, 2016 5 commits
  2. 28 May, 2016 12 commits
  3. 27 May, 2016 22 commits
    • Adjust URL in libstdc++ manual to use https · 9020909e
      	* doc/xml/manual/abi.xml: Adjust URL to use https.
      	* doc/html/manual/*: Regenerate.
      
      From-SVN: r236837
      Jonathan Wakely committed
    • re PR c++/60385 (confused by earlier errors, bailing out) · 8008c4d2
      /cp
      2016-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60385
      	* name-lookup.c (push_namespace): Return bool, false when pushdecl
      	fails.
      	* name-lookup.h (push_namespace): Adjust declaration.
      	* parser.c (cp_parser_namespace_definition): Check push_namespace
      	return value.
      
      /testsuite
      2016-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60385
      	* g++.dg/parse/namespace13.C: New.
      
      From-SVN: r236835
      Paolo Carlini committed
    • arm.h (TARGET_ARM_V6M): Remove. · 9a01befb
      2016-05-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm.h (TARGET_ARM_V6M): Remove.
          (TARGET_ARM_V7M): Likewise.
      
      From-SVN: r236832
      Thomas Preud'homme committed
    • tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h. · 8b2ef235
      	* tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
      	(thread_across_edge): Remove calls to find_jump_threads_backwards.
      	* passes.def: Add jump threading passes before DOM/VRP.
      	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Change
      	argument to a basic block from an edge.  Remove tests which are
      	handled elsewhere.
      	(pass_data_thread_jumps, class pass_thread_jumps): New.
      	(pass_thread_jumps::gate, pass_thread_jumps::execute): New.
      	(make_pass_thread_jumps): Likewise.
      	* tree-pass.h (make_pass_thread_jumps): Declare.
      
      	* gcc.dg/tree-ssa/pr21417.c: Update expected output.
      	* gcc.dg/tree-ssa/pr66752-3.c: Likewise.
      	* gcc.dg/tree-ssa/pr68198.c: Likewise.
      	* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
      	* gcc.dg/tree-ssa/pr69270-3.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-12.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dom-thread-13.c: Likewise.
      	* gcc.dg/tree-ssa/vrp56.c: Likewise.
      
      From-SVN: r236831
      Jeff Law committed
    • visium-protos.h (split_double_move): Rename into... · a8345bfd
      	* config/visium/visium-protos.h (split_double_move): Rename into...
      	(visium_split_double_move): ...this.
      	(visium_split_double_add): Declare.
      	* config/visium/visium.c (split_double_move): Rename into...
      	(visium_split_double_move): ...this.
      	(visium_split_double_add): New function.
      	(visium_expand_copysign): Renumber operands for consistency.
      	* config/visium/visium.md (DImode move splitter): Adjust to renaming.
      	(DFmode move splitter): Likewise.
      	(*addi3_insn): Split by means of visium_split_double_add.
      	(*adddi3_insn_flags): Delete.
      	(*plus_plus_sltu<subst_arith>): New insn.
      	(*subdi3_insn): Split by means of visium_split_double_add.
      	(subdi3_insn_flags): Delete.
      	(*minus_minus_sltu<subst_arith>): New insn.
      	(*negdi2_insn): Split by means of visium_split_double_add.
      	(*negdi2_insn_flags): Delete.
      
      From-SVN: r236827
      Eric Botcazou committed
    • re PR c++/69855 (Missing diagnostic for overload that only differs by return type) · 7d67159b
      /cp
      	PR c++/69855
      	* name-lookup.c (pushdecl_maybe_friend_1): Push local function
      	decls into the global scope after stripping template bits
      	and setting DECL_ANTICIPATED.
      
      /testsuite
      	PR c++/69855
      	* g++.dg/overload/69855.C: New.
      	* g++.old-deja/g++.law/missed-error2.C: Adjust.
      	* g++.old-deja/g++.pt/crash3.C: Likewise.
      
      From-SVN: r236826
      Ville Voutilainen committed
    • configure.ac: Treat a --with-headers option without argument the same as the default (i.e. · 9b2bf368
      	* configure.ac: Treat a --with-headers option without argument
      	the same as the default (i.e. consult sys-include directory).
      	* configure: Regenerate.
      
      From-SVN: r236825
      Ulrich Weigand committed
    • Fix build. · 48035dfb
      From-SVN: r236823
      Ville Voutilainen committed
    • re PR libstdc++/66338 (std::forward_as_tuple() issue with single argument) · b7021006
      2016-05-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	PR libstdc++/66338
      	* include/std/tuple (_TMC): Add a check for _NotSameTuple.
      	* include/std/tuple (tuple(_UElements&&...)): Remove the separate
      	check for _NotSameTuple.
      	* include/std/tuple (_TMCT): New.
      	* include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
      	* include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
      	* include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
      	      const tuple<_UElements...>&)): Likewise.
      	* include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
      	      tuple<_UElements...>&&)): Likewise.
      	* testsuite/20_util/tuple/cons/66338.cc: New.
      
      From-SVN: r236822
      Ville Voutilainen committed
    • [AArch64] Tie operand 1 to operand 0 in AESMC pattern when AES/AESMC fusion is enabled · f2879a90
      	* config/aarch64/aarch64.c (aarch64_fusion_enabled_p): New function.
      	* config/aarch64/aarch64-protos.h (aarch64_fusion_enabled_p): Declare
      	prototype.
      	* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aesmc_op>v16qi):
      	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.
      
      From-SVN: r236820
      Kyrylo Tkachov committed
    • [AArch64] PR target/63596, honor tree-stdarg analysis result to improve VAARG codegen · 88e3bdd1
      gcc/
      	PR target/63596
      	* config/aarch64/aarch64.c (aarch64_expand_builtin_va_start): Honor
      	tree-stdarg analysis results.
      	(aarch64_setup_incoming_varargs): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/va_arg_1.c: New testcase.
      	* gcc.target/aarch64/va_arg_2.c: Likewise.
      	* gcc.target/aarch64/va_arg_3.c: Likewise.
      
      From-SVN: r236819
      Jiong Wang committed
    • [AArch64] Enable tree-stdarg pass for AArch64 by defining counter fields · 3fd6b9cc
      gcc/
      	* config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Initialize
      	va_list_gpr_counter_field and va_list_fpr_counter_field.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/stdarg-2.c: Enable all testcases for AArch64.
      	* gcc.dg/tree-ssa/stdarg-3.c: Likewise.
      	* gcc.dg/tree-ssa/stdarg-4.c: Likewise.
      	* gcc.dg/tree-ssa/stdarg-5.c: Likewise.
      	* gcc.dg/tree-ssa/stdarg-6.c: Likewise.
      
      From-SVN: r236818
      Jiong Wang committed
    • Remove aarch64_cannot_change_mode_class as the underlying issue (PR67609) has been resolved. · f6e0013a
      Remove aarch64_cannot_change_mode_class as the underlying issue
      (PR67609) has been resolved.  This avoids a few unnecessary lane
      widening operations like:
      
      faddp   d18, v18.2d
      mov     d18, v18.d[0]
      
          gcc/
      	PR67609
      	* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Remove.
      	* config/aarch64/aarch64.c
      	(aarch64_cannot_change_mode_class): Remove function.
      	* config/aarch64/aarch64-protos.h
      	(aarch64_cannot_change_mode_class): Remove.
      
      From-SVN: r236817
      Wilco Dijkstra committed
    • cfgloop.c (record_niter_bound): Record likely upper bounds. · 105e29c5
      	* cfgloop.c (record_niter_bound): Record likely upper bounds.
      	(likely_max_stmt_executions_int, get_likely_max_loop_iterations,
      	get_likely_max_loop_iterations_int): New.
      	* cfgloop.h (struct loop): Add nb_iterations_likely_upper_bound,
      	any_likely_upper_bound.
      	(get_likely_max_loop_iterations_int, get_likely_max_loop_iterations):
      	Declare.
      	* cfgloopmanip.c (copy_loop_info): Copy likely upper bounds.
      	* loop-unroll.c (unroll_loop_constant_iterations): Update likely
      	upper bound.
      	(unroll_loop_constant_iterations): Likewise.
      	(unroll_loop_runtime_iterations): Likewise.
      	* lto-streamer-in.c (input_cfg): Stream likely upper bounds.
      	* lto-streamer-out.c (output_cfg): Likewise.
      	* tree-ssa-loop-ivcanon.c (try_peel_loop): Update likely upper
      	bounds.
      	(canonicalize_loop_induction_variables): Dump likely upper bounds.
      	* tree-ssa-loop-niter.c (record_estimate): Record likely upper bounds.
      	(likely_max_loop_iterations): New.
      	(likely_max_loop_iterations_int): New.
      	(likely_max_stmt_executions): New.
      	* tree-ssa-loop-niter.h (likely_max_loop_iterations,
      	likely_max_loop_iterations_int, likely_max_stmt_executions_int,
      	likely_max_stmt_executions): Declare.
      
      From-SVN: r236816
      Jan Hubicka committed
    • re PR middle-end/71308 (ICE (segfault) in in gimple_fold_call gimple-fold.c:3060) · 3cee7e4e
      	PR middle-end/71308
      	* gimple-fold.c (gimple_fold_call): Check that LHS is not null.
      
      	* g++.dg/torture/pr71308.C: New test.
      
      From-SVN: r236815
      Marek Polacek committed
    • S/390: Replace rtx_equal_p with reg_overlap_mentioned_p in splitter check. · 3168e073
      gcc/ChangeLog:
      
      2016-05-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.md (2x risbg splitters): Use
      	reg_overlap_mentioned_p instead of rtx_equal_p.
      
      From-SVN: r236814
      Andreas Krebbel committed
    • combine: Take known zero bits into account when checking extraction. · 6a813c96
      gcc/ChangeLog:
      
      	* combine.c (make_compound_operation): Take known zero bits into
      	account when checking for possible zero_extend.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/zero_bits_compound-1.c: New test.
      	* gcc.dg/zero_bits_compound-2.c: New test.
      
      From-SVN: r236813
      Dominik Vogt committed
    • [AArch64] Simplify ashl<mode>3 expander for SHORT modes · 4bc72f35
      	* config/aarch64/aarch64.md (ashl<mode>3, SHORT modes):
      	Use const_int_operand for operand 2 predicate.  Simplify expand code
      	as a result.
      
      From-SVN: r236812
      Kyrylo Tkachov committed
    • re PR middle-end/71279 (ICE on trunk gcc with knl target) · 0561bcfb
      gcc/
      
      	PR middle-end/71279
      	* fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
      	into comparison.
      
      gcc/testsuite/
      
      	PR middle-end/71279
      	* gcc.dg/pr71279.c: New test.
      
      From-SVN: r236810
      Ilya Enkovich committed
    • [AArch64] Delete obsolete CC_ZESWP and CC_SESWP CC modes · 2aca2504
      	* config/aarch64/aarch64-modes.def (CC_ZESWP, CC_SESWP): Delete.
      	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Remove condition
      	that returns CC_SESWPmode and CC_ZESWPmode.
      	(aarch64_get_condition_code_1): Remove handling of CC_SESWPmode
      	and CC_SESWPmode.
      	(aarch64_rtx_costs): Likewise.
      
      From-SVN: r236809
      Kyrylo Tkachov committed
    • Daily bump. · 09867e18
      From-SVN: r236804
      GCC Administrator committed
  4. 26 May, 2016 1 commit
    • rs6000.c (rs6000_emit_p9_fp_minmax): New function for ISA 3.0 min/max support. · 21316320
      [gcc]
      2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
      	for ISA 3.0 min/max support.
      	(rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
      	conditional move support.
      	(rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
      	rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
      	available.
      	* config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
      	conditional moves where the comparison type is different from move
      	type.
      	(fp_minmax): New code iterator for smin/smax.
      	(minmax): New code attributes for min/max.
      	(SMINMAX): Likewise.
      	(smax<mode>3): Combine min, max insns into one insn using the
      	fp_minmax code iterator.  Add support for ISA 3.0 min/max
      	instructions that don't need -ffast-math.
      	(s<minmax><mode>3): Likewise.
      	(smax<mode>3_vsx): Likewise.
      	(smin<mode>3): Likewise.
      	(s<minmax><mode>3_vsx): Likewise.
      	(smin<mode>3_vsx): Likewise.
      	(pre-VSX min/max splitters): Likewise.
      	(s<minmax><mode>3_fpr): Likewise.
      	(movsfcc): Rewrite floating point conditional moves to combine
      	SFmode/DFmode into a single insn.
      	(mov<mode>cc): Likewise.
      	(movdfcc): Likewise.
      	(fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
      	SFDF2 iterators to handle all combinations.
      	(fseldfsf4): Likewise.
      	(fsel<SFDF:mode><SFDF2:mode>4): Likewise.
      	(fseldfdf4): Likewise.
      	(fselsfdf4): Likewise.
      	(mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
      	comparison instructions that set a 0/-1 mask, and use it for
      	floating point conditional move via XXSEL.
      	(fpmask<mode>): Likewise.
      	(xxsel<mode>): Likewise.
      	* config/rs6000/predicates.md (min_max_operator): Delete, no
      	longer used.
      	(fpmask_comparison_operaton): New insn for ISA 3.0 comparison
      	instructions that generate a 0/-1 mask for use with XXSEL.
      	* config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
      	say whether floating point min/max is available, either through
      	FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
      	(TARGET_MINMAX_DF): Likewise.
      
      [gcc/testsuite]
      2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p9-minmax-1.c: New tests for ISA 3.0
      	floating point min/max/comparison instructions.
      	* gcc.target/powerpc/p9-minmax-2.c: Likewise.
      
      From-SVN: r236795
      Michael Meissner committed