1. 06 Oct, 2017 4 commits
    • graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h. · bd8d431f
      2017-10-06  Richard Biener  <rguenther@suse.de>
      
      	* graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
      	(translate_isl_ast_to_gimple::translate_pending_phi_nodes,
      	translate_isl_ast_to_gimple::is_valid_rename,
      	translate_isl_ast_to_gimple::get_rename,
      	translate_isl_ast_to_gimple::get_def_bb_for_const,
      	translate_isl_ast_to_gimple::get_new_name,
      	translate_isl_ast_to_gimple::collect_all_ssa_names,
      	translate_isl_ast_to_gimple::copy_loop_phi_args,
      	translate_isl_ast_to_gimple::collect_all_ssa_names,
      	translate_isl_ast_to_gimple::copy_loop_phi_args,
      	translate_isl_ast_to_gimple::copy_loop_phi_nodes,
      	translate_isl_ast_to_gimple::add_close_phis_to_merge_points,
      	translate_isl_ast_to_gimple::add_close_phis_to_outer_loops,
      	translate_isl_ast_to_gimple::copy_loop_close_phi_args,
      	translate_isl_ast_to_gimple::copy_loop_close_phi_nodes,
      	translate_isl_ast_to_gimple::copy_cond_phi_args,
      	translate_isl_ast_to_gimple::copy_cond_phi_nodes,
      	translate_isl_ast_to_gimple::edge_for_new_close_phis,
      	translate_isl_ast_to_gimple::add_phi_arg_for_new_expr,
      	translate_isl_ast_to_gimple::rename_uses,
      	translate_isl_ast_to_gimple::rename_all_uses): Remove.
      	(translate_isl_ast_to_gimple::get_rename_from_scev): Simplify.
      	(set_rename_for_each_def): Likewise.
      	(graphite_copy_stmts_from_block): Handle debug stmt resetting
      	here.  Handle rewriting SCEV analyzable uses here.
      	(copy_bb_and_scalar_dependences): Generate code for PHI
      	copy-in/outs.
      	(graphite_regenerate_ast_isl): Adjust.
      	* graphite-scop-detection.c (trivially_empty_bb_p): Move to sese.[ch].
      	(add_write, add_read): New functions.
      	(build_cross_bb_scalars_def): Use it and simplify.
      	(build_cross_bb_scalars_use): Likewise.
      	(graphite_find_cross_bb_scalar_vars): Inline into...
      	(try_generate_gimple_bb): ...here.  Add dependences for PHIs,
      	simulating out-of-SSA.  Compute liveout and add dependencies.
      	(build_scops): Force an empty entry block.
      	* sese.h (sese_info_t::liveout, sese_info_t::debug_liveout): New
      	members.
      	(sese_build_liveouts): Declare.
      	(sese_trivially_empty_bb_p): Likewise.
      	* sese.c (sese_build_liveouts_bb): Properly handle PHIs,
      	compute liveout and debug_liveout.
      	(sese_bad_liveouts_use): Remove.
      	(sese_reset_debug_liveouts_bb): Likewise.
      	(sese_reset_debug_liveouts): Rewrite in terms of debug_liveout.
      	(sese_build_liveouts): Build liveout and debug_liveout and store
      	it in region.
      	(new_sese_info): Adjust.
      	(free_sese_info): Likewise.
      	(sese_insert_phis_for_liveouts): Reset debug stmts from here,
      	do not build liveout here.
      	(move_sese_in_condition): Adjust region entry.
      	(scev_analyzable_p): Match up with chrec_apply requirements.
      	(sese_trivially_empty_bb_p): New.
      	* tree-into-ssa.c (get_reaching_def): Properly support generating
      	default-defs for incremental rewrite of anonymous names.
      
      	* gcc.dg/graphite/id-15.c: No longer expect a code generation error.
      	* gcc.dg/graphite/id-16.c: Likewise.
      	* gcc.dg/graphite/pr46168.c: Likewise.
      	* gcc.dg/graphite/pr68756.c: Likewise.
      	* gcc.dg/graphite/pr69728.c: Likewise.
      	* gcc.dg/graphite/pr71575-2.c: Likewise.
      	* gcc.dg/graphite/pr77362.c: Likewise.
      	* gcc.dg/graphite/pr81373.c: Likewise.
      	* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
      	* gfortran.dg/graphite/interchange-1.f: Likewise.
      	* gfortran.dg/graphite/pr42334-1.f: Likewise.
      	* gfortran.dg/graphite/pr42393-1.f90: Likewise.
      	* gfortran.dg/graphite/pr42393.f90: Likewise.
      	* gfortran.dg/graphite/pr47019.f: Likewise.
      	* gfortran.dg/graphite/id-17.f: Likewise.
      	* gfortran.dg/graphite/id-19.f: Likewise.
      	* gfortran.dg/graphite/run-id-2.f90: Likewise.
      	* gfortran.dg/graphite/pr42326-1.f90: Likewise.
      	* gfortran.dg/graphite/pr42326.f90: Likewise.
      	* gfortran.dg/graphite/pr68550-2.f90: Likewise.
      	* gfortran.dg/graphite/pr29581.f90: Likewise.  No longer expect
      	a code generation error.
      	* gfortran.dg/graphite/run-id-3.f90: Likewise.
      	* gfortran.dg/graphite/pr29832.f90: Likewise.
      
      From-SVN: r253475
      Richard Biener committed
    • graphite-sese-to-poly.c (extract_affine): For casts increasing precision do not… · 57cfa172
      graphite-sese-to-poly.c (extract_affine): For casts increasing precision do not perform modulo reduction.
      
      2017-10-06  Richard Biener  <rguenther@suse.de>
      
      	* graphite-sese-to-poly.c (extract_affine): For casts increasing
      	precision do not perform modulo reduction.
      
      From-SVN: r253474
      Richard Biener committed
    • re PR tree-optimization/82436 (465.tonto ICE in vect_get_slp_vect_defs, at tree-vect-slp.c:3410) · 31bee964
      2017-10-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82436
      	* tree-vect-slp.c (vect_supported_load_permutation_p): More
      	conservatively choose the vectorization factor when checking
      	whether we can perform the required load permutation.
      	(vect_transform_slp_perm_load): Assert when we may not fail.
      
      	* gcc.dg/vect/pr82436.c: New testcase.
      
      From-SVN: r253473
      Richard Biener committed
    • Daily bump. · 604d1669
      From-SVN: r253472
      GCC Administrator committed
  2. 05 Oct, 2017 22 commits
  3. 04 Oct, 2017 14 commits
    • re PR c++/80471 ((gcc extension) Forwarding-reference `auto` function parameters… · 5b93c0ee
      re PR c++/80471 ((gcc extension) Forwarding-reference `auto` function parameters do not follow the same rules as template functions or generic lambdas)
      
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/80471
      	* g++.dg/cpp1y/pr80471.C: New.
      
      From-SVN: r253432
      Paolo Carlini committed
    • re PR c++/78131 (Inconsistent evaluation for `constexpr` lambdas in templates… · 25139006
      re PR c++/78131 (Inconsistent evaluation for `constexpr` lambdas in templates between `static_assert`, `if constexpr(…)` and `constexpr` variables)
      
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78131
      	* g++.dg/cpp1z/constexpr-lambda17.C: New.
      
      From-SVN: r253431
      Paolo Carlini committed
    • re PR c++/78018 ([C++14] "internal compiler error: Segmentation fault" with templates and lambdas) · 968e56bf
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78018
      	* g++.dg/cpp1y/lambda-generic-78018.C: New.
      
      From-SVN: r253430
      Paolo Carlini committed
    • [PATCH] remove some unneeded parens · a1440fa8
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00200.html
      	* toplev.c (toplev::main): Remove excess parens on pretty_printer
      	decl.
      	* caller-save.c (insert_save): Remove excess parens on TO_SAVE parm.
      
      From-SVN: r253427
      Nathan Sidwell committed
    • [C++ PATCH] give builtin types consistent name · e07b8366
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00201.html
      	Give builtin types the correct name.
      	* name-lookup.c (set_global_binding): Assert name is DECL_NAME.
      	* decl.c (record_builtin_type): Reimplement, use new TYPE_DECL for
      	rname.
      
      From-SVN: r253426
      Nathan Sidwell committed
    • PR c++/82406 - C++17 error with noexcept function type · d21f2166
      	* g++.dg/ext/attrib54.C: New.
      
      From-SVN: r253425
      Jason Merrill committed
    • re PR c++/71946 (asm in toplevel lambda function rejected) · fb4ccfed
      /cp
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Andrew Pinski  <apinski@cavium.com>
      
      	PR c++/71946
      	* parser.c (cp_parser_lambda_body): Set parser->in_function_body.
      
      /testsuite
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Andrew Pinski  <apinski@cavium.com>
      
      	PR c++/71946
      	* g++.dg/cpp0x/lambda/lambda-asm1.C: New.
      	* g++.dg/cpp0x/lambda/lambda-stmtexpr1.C: Likewise.
      
      Co-Authored-By: Andrew Pinski <apinski@cavium.com>
      
      From-SVN: r253423
      Paolo Carlini committed
    • [PATCH][AArch64] Add BIC-imm and ORR-imm SIMD pattern · ab6501d7
      This patch adds the support for BIC (vector, immediate) and
      ORR (vector, immediate) SIMD patterns to the AArch64 backend.
      
      Committed on behalf of Sudi Das.
      
      Reviewed-by: Richard Earnshaw <Richard.Earnshaw@arm.com>
      Reviewed-by: James Greenhalgh <james.greenhalgh@arm.com>
      
      gcc/
      
      	* config/aarch64/aarch64-protos.h (enum simd_immediate_check): New
      	check type for aarch64_simd_valid_immediate.
      	(aarch64_output_simd_mov_immediate): Update prototype.
      	(aarch64_simd_valid_immediate): Update prototype.
      	* config/aarch64/aarch64-simd.md (orr<mode>3): modified pattern to add
      	support for ORR-immediate.
      	(and<mode>3): modified pattern to add support for BIC-immediate.
      	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Function
      	now checks for valid immediate for BIC and ORR based on new enum
      	argument.
      	(aarch64_output_simd_mov_immediate): Function now used to output
      	BIC/ORR imm as well based on new enum argument.
      	* config/aarch64/constraints.md (Do): New vector immediate constraint.
      	(Db) : Likewise.
      	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): New predicate.
      	(aarch64_reg_or_bic_imm): Likewise.
      
      gcc/testsuite/
      
      	* gcc.target/aarch64/bic_imm_1.c: New test.
      	* gcc.target/aarch64/orr_imm_1.c: Likewise.
      
      From-SVN: r253422
      Sudakshina Das committed
    • [C++ PATCH] Move mangling alias out of :: · b419102c
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00199.html
      	gcc/cp/
      	Move mangling aliases out of global namespace.
      	* cp-tree.h (record_mangling): New.
      	(maybe_remove_implicit_alias): Delete.
      	* decl2.c (mangled_decls): New hash map.
      	(generate_mangling_alias): Reimplement using mangled_decls.
      	(record_mangling): New.
      	* mangle.c (decl_implicit_alias_p,
      	maybe_remove_implicit_alias): Delete.
      	(mangle_decl): Use record_mangling.
      	* name-lookup.c (supplement_binding_1): Remove
      	maybe_remove_implicit_alias check.
      
      	* call.c (convert_arg_to_ellipsis): Correct comment about passing
      	by reference.
      
      	gcc/testsuite/
      	* g++.dg/abi/mangle41.C: Adjust diagnostics.
      
      	libcc1/
      	* libcp1plugin.cc (supplement_binding): Don't use
      	maybe_remove_implicit_alias.
      
      From-SVN: r253421
      Nathan Sidwell committed
    • S/390: Fix mode in vector merge pattern. · baf20d8d
      vec_unpacks_hi_v4sf/vec_unpacks_lo_v4sf expand vec_mergeh and vec_mergel
      patterns also for z13 with V4SF modes so the patterns should better
      accept this.  Fixed by changing the mode iterator to V_128_NOSINGLE
      which accepts V4SF unconditionally.
      
      gcc/ChangeLog:
      
      2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/vx-builtins.md ("vec_mergeh<mode>")
      	("vec_mergel<mode>"): Change mode iterator to V_128_NOSINGLE.
      
      From-SVN: r253420
      Andreas Krebbel committed
    • Revert r253399: · 748d9390
      	PR rtl-optimization/82396
      	* haifa-sched.c (autopref_multipass_init): Simplify
      	initialization.
      	(autopref_rank_data): Simplify sort order.
      	* sched-int.h (autopref_multipass_data_): Remove
      	multi_mem_insn_p, min_offset and max_offset.
      
      From-SVN: r253419
      Wilco Dijkstra committed
    • re PR c++/82373 (syntax error in error message) · 420db574
      	PR c++/82373
      	* error.c (dump_function_decl): If show_return, call dump_type_suffix
      	on the same return type dump_type_prefix has been called on.
      
      	* g++.dg/cpp1y/pr82373.C: New test.
      
      From-SVN: r253418
      Jakub Jelinek committed
    • 2017-10-04 Petr Ovtchenkov <ptr@void-ptr.info> · 4e914524
      	    François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/streambuf_iterator.h
      	(istreambuf_iterator<>::operator*()): Do not capture iterator state
      	in Debug assertion.
      	(istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check.
      	(istreambuf_iterator<>::operator++(int)): Likewise.
      	(istreambuf_iterator<>::_M_get()): Remove _M_c assignment.
      	(istreambuf_iterator<>::_S_is_eof()): New.
      	(istreambuf_iterator<>::_M_at_eof()): Adapt, use latter.
      	(find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)):
      	Return an iterator with _M_c set to eof to capture streambuf state
      	on evaluation.
      	(testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks.
      
      Co-Authored-By: François Dumont <fdumont@gcc.gnu.org>
      
      From-SVN: r253417
      Petr Ovtchenkov committed
    • PR c++/81525 - broken handling of auto in generic lambda. · 6411847f
      	* pt.c (tsubst_decl) [VAR_DECL]: Use strip_innermost_template_args.
      
      From-SVN: r253414
      Jason Merrill committed