1. 25 Sep, 2017 11 commits
    • [multiple changes] · d449ed75
      2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
      
      	* adabkend.adb (Call_Back_End): Fix wording of "front-end" and
      	"back-end" in comments.
      
      2017-09-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Call_Helper): The extra accessibility check in a
      	call that appears in a classwide precondition and that mentions an
      	access formal of the subprogram, must use the accessibility level of
      	the actual in the call. This is one case in which a reference to a
      	formal parameter appears outside of the body of the subprogram.
      
      From-SVN: r253141
      Pierre-Marie de Rodat committed
    • [multiple changes] · f71b4cd4
      2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Replace_Actual_Discriminants): Replace a discriminant
      	for GNATprove.
      	(Resolve_Entry): Clean up predicate
      
      2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Constituent): Raise Unrecoverable_Error rather
      	than Program_Error because U_E is more in line with respect to the
      	intended behavior.
      
      2017-09-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression for aspect
      	Storage_Size does not freeze, and thus can include references to
      	deferred constants.
      
      2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Do not process a
      	reference when it appears within a pragma of no significance to SPARK.
      	(In_Insignificant_Pragma): New routine.
      	* sem_prag.ads: Add new table Pragma_Significant_In_SPARK.
      
      2017-09-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations, case N_Formal_Package): If the
      	actual is a renaming, indicate that it is the renamed package that must
      	be frozen before the instantiation.
      
      2017-09-25  Yannick Moy  <moy@adacore.com>
      
      	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo in description
      	of dimensionality system in GNAT UG.
      	* gnat_ugn.texi: Regenerate.
      
      2017-09-25  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb: Call Check_Safe_Pointers from the frontend in
      	GNATprove_Mode when switch -gnatdF used.
      
      2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
      
      	* adabkend.adb (Call_Back_End): Reset Current_Error_Node when starting
      	the backend.
      
      From-SVN: r253140
      Pierre-Marie de Rodat committed
    • exp_imgv.adb (Expand_Image_Attribute): Disable the optimized expansion of… · e98cd75f
      exp_imgv.adb (Expand_Image_Attribute): Disable the optimized expansion of user-defined enumeration types when...
      
      gcc/ada/
      
      2017-09-25  Javier Miranda  <miranda@adacore.com>
      
      	* exp_imgv.adb (Expand_Image_Attribute): Disable the optimized
      	expansion of user-defined enumeration types when the generation of
      	names for enumeration literals is suppressed.
      
      2017-09-25  Gary Dismukes  <dismukes@adacore.com>
      
      	* libgnarl/s-taprop__linux.adb: Minor reformatting.
      
      2017-09-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Resolve_Aspect_Expressions): Do not resolve identifiers
      	that appear as selector names of parameter associations, as these are
      	never resolved by visibility.
      
      2017-09-25  Justin Squirek  <squirek@adacore.com>
      
      	* sem_res.adb (Resolve_Entry): Generate reference for index entities.
      
      gcc/testsuite/
      
      2017-09-25  Justin Squirek  <squirek@adacore.com>
      
      	* gnat.dg/entry_family.adb: New testcase
      
      From-SVN: r253139
      Pierre-Marie de Rodat committed
    • [multiple changes] · 49742f99
      2017-09-25  Doug Rupp  <rupp@adacore.com>
      
      	* libgnarl/s-taprop__linux.adb (Compute_Base_Monotonic_Clock): Refine.
      
      2017-09-25  Javier Miranda  <miranda@adacore.com>
      
      	* exp_imgv.adb (Is_User_Defined_Enumeration_Type): New subprogram.
      	(Expand_User_Defined_Enumeration_Image): New subprogram.
      	(Expand_Image_Attribute): Enable speed-optimized expansion of
      	user-defined enumeration types when we are compiling with optimizations
      	enabled.
      
      2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
      
      	* sem_util.adb (Has_Null_Abstract_State): Remove, as an exactly same
      	routine is already provided by Einfo.
      	* einfo.adb (Has_Null_Abstract_State): Replace with the body from
      	Sem_Util, which had better comments and avoided double calls to
      	Abstract_State.
      
      From-SVN: r253138
      Pierre-Marie de Rodat committed
    • [Patch, Darwin] Fix PR80556 by linking the system unwinder ahead of libgcc_eh. · 7b607822
      	PR target/80556
      	* config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead
      	of libgcc_eh for m64.
      	* config/i386/darwin64.h: Likewise.
      
      /* WORKAROUND pr80556:
         For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
         from libSystem).  This doesn't use the keymgr (see keymgr.c) and therefore
         the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
         updated to include new images, and might not even be valid for a single
         image.
         Therefore, for 64b exes at least, we must use the libunwind implementation,
         even when static-libgcc is specified.  We put libSystem first so that
         unwinder symbols are satisfied from there.
      
      From-SVN: r253137
      Iain Sandoe committed
    • [multiple changes] · f7fb5c08
      2017-09-25  Bob Duff  <duff@adacore.com>
      
      	* exp_ch3.adb: Rename Comp_Type_Simple to be Comp_Simple_Init.
      
      2017-09-25  Doug Rupp  <rupp@adacore.com>
      
      	* libgnarl/s-taprop__linux.adb (Base_Monotonic_Clock): New variable.
      	(Compute_Base_Monotonic_Clock): New function.
      	(Timed_Sleep): Adjust to use Base_Monotonic_Clock.
      	(Timed_Delay): Likewise.
      	(Monotonic_Clock): Likewise.
      	* s-oscons-tmplt.c (CLOCK_MONOTONIC): Use on Linux.
      
      From-SVN: r253136
      Pierre-Marie de Rodat committed
    • [multiple changes] · aa11d1dd
      2017-09-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Save_References_In_Aggregate): Small correction to
      	previous change.
      
      2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch5.adb, sem_ch4.adb, sem_ch13.adb, sem_attr.adb, exp_ch3.adb:
      	Minor reformatting.
      
      From-SVN: r253135
      Pierre-Marie de Rodat committed
    • re PR debug/82144 (ICE in add_dwarf_attr with alignas) · 625f7ba6
      2017-09-25  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/82144
      	* dwarf2out.c (gen_enumeration_type_die): Do not add alignment
      	attribute for incomplete types nor twice for complete ones.
      
      From-SVN: r253134
      Richard Biener committed
    • Add myself as nvptx maintainer · 55de8eb3
      2017-09-25  Tom de Vries  <tom@codesourcery.com>
      
      	* MAINTAINERS (CPU Port Maintainers): Add myself as nvptx maintainer.
      
      From-SVN: r253133
      Tom de Vries committed
    • Remove unnecessary fold_convert in gfc_(un)likely · b3565940
      This patch removes an unnecessary fold_convert to boolean_type_node at
      the end of gfc_likely and gfc_unlikely.  It makes no difference to the
      generated code, but makes tree dumps a little bit cleaner.
      
      2017-09-25  Janne Blomqvist  <jb@gcc.gnu.org>
              * trans.c (gfc_unlikely): Remove unnecessary fold_convert.
              (gfc_likely): Likewise.
      
      Regtested on x86_64-pc-linux-gnu.
      
      From-SVN: r253132
      Janne Blomqvist committed
    • Daily bump. · 28a8cba0
      From-SVN: r253131
      GCC Administrator committed
  2. 24 Sep, 2017 6 commits
  3. 23 Sep, 2017 4 commits
    • re PR bootstrap/82306 (Revision r253089 breaks bootstrap on Darwin) · 2b8e2e6a
      	PR bootstrap/82306
      	* config/i386/i386.opt (mprefer-avx256): Use
      	ix86_target_flags variable.
      	* config/i386/i386.c (ix86_target_string): Move
      	-mprefer-avx256 to flag2_opts.
      
      From-SVN: r253118
      Uros Bizjak committed
    • re PR fortran/82143 (add a -fdefault-real-16 flag) · d16d81b5
      2017-09-23  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/82143
      	* lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
      	Rename flag_default_real to flag_default_real_8.
      	* invoke.texi: Add documentation.
      	* module.c (use_iso_fortran_env_module): flag_default_real is renamed.
      	* trans-types.c (gfc_init_kinds): Implement the flags
      	-fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
      	without -fdefault-real-8.
      
      2017-09-23  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/82143
      	* gfortran.dg/promotion_3.f90: New test case.
      	* gfortran.dg/promotion_4.f90: New test case.
      
      From-SVN: r253117
      Janus Weil committed
    • PR target/82196 addendum: Fix Darwin build breakage and test FAILS on Solaris · 89762a83
      gcc/testsuite:
      	* gcc.target/i386/pr82196-1.c: (b): Remove volatile asm.
      	* gcc.target/i386/pr82196-2.c: (b): Likewise.
      
      libgcc:
      	* configure.ac: Add Check for HAVE_AS_AVX.
      	* config.in: Regenerate.
      	* configure: Likewise.
      	* config/i386/i386-asm.h: Include auto-target.h from libgcc.
      	(SSE_SAVE, SSE_RESTORE): Emit .byte sequence for !HAVE_AS_AVX.
      	Correct out-of-date comments.
      
      From-SVN: r253116
      Daniel Santos committed
    • Daily bump. · 099666b3
      From-SVN: r253114
      GCC Administrator committed
  4. 22 Sep, 2017 19 commits
    • re PR bootstrap/81926 (go/parse.o differs between stage2 and stage3) · d68d0df6
      	PR bootstrap/81926
      	* cp-objcp-common.c (cp_get_debug_type): Do only one lookup.
      
      From-SVN: r253109
      Eric Botcazou committed
    • re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0… · a93952d2
      re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match)
      
      	PR middle-end/35691
      	* match.pd: Simplify x == -1 & y == -1 into (x & y) == -1
      	and x != -1 | y != -1 into (x & y) != -1.
      
      	* gcc.dg/pr35691-1.c: Use -fdump-tree-forwprop1-details
      	instead of -fdump-tree-forwprop-details in dg-options.
      	* gcc.dg/pr35691-2.c: Likewise.
      	* gcc.dg/pr35691-3.c: New test.
      	* gcc.dg/pr35691-4.c: New test.
      
      From-SVN: r253107
      Jakub Jelinek committed
    • re PR sanitizer/81929 (exponential slowdown in undefined behavior sanitizer for streaming) · 2dc589be
      	PR sanitizer/81929
      	* tree.c (struct replace_placeholders_t): Add pset field.
      	(replace_placeholders_r): Call cp_walk_tree with d->pset as
      	last argument instead of NULL.  Formatting fix.
      	(replace_placeholders): Add pset variable, add its address
      	into data.  Pass &pset instead of NULL to cp_walk_tree.
      
      	* g++.dg/ubsan/pr81929.C: New test.
      
      From-SVN: r253106
      Jakub Jelinek committed
    • debug/xcoff,cmd: add XCOFF support · c90df0d2
          
          Reviewed-on: https://go-review.googlesource.com/64592
      
      From-SVN: r253105
      Ian Lance Taylor committed
    • config.gcc: Add new case statement to set default_gnu_indirect_function. · f25afa93
      2017-09-22  Steve Ellcey  <sellcey@cavium.com>
      
      	* config.gcc: Add new case statement to set
      	default_gnu_indirect_function.  Remove it from x86_64-*-linux*,
      	i[34567]86-*, powerpc*-*-linux*spe*, powerpc*-*-linux*, s390-*-linux*,
      	s390x-*-linux* case statements.   Added aarch64 to the list of
      	supported architectures.
      
      From-SVN: r253104
      Steve Ellcey committed
    • PR82289: Computing peeling costs for irrelevant drs · ea44495d
      This PR shows that we weren't filtering out irrelevant stmts in
      vect_get_peeling_costs_all_drs (unlike related loops in which
      we iterate over all datarefs).
      
      2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/82289
      	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Check
      	STMT_VINFO_RELEVANT_P.
      
      gcc/testsuite/
      	PR tree-optimization/82289
      	* gcc.dg/vect/pr82289.c: New test.
      
      From-SVN: r253103
      Richard Sandiford committed
    • range_int_cst_p handling in extract_range_from_binary_expr_1 · 597fdf45
      extract_range_from_binary_expr_1 had:
      
            if (range_int_cst_p (&vr0)
                && range_int_cst_p (&vr1)
                && TYPE_OVERFLOW_WRAPS (expr_type))
              ...
            ...
            extract_range_from_multiplicative_op_1 (vr, code, &vr0, &vr1);
      
      but extract_range_from_multiplicative_op_1 also requires range_int_cst_p.
      I think we should bail out if either range isn't a constant.
      
      This might only be theoretical with current sources, but it's needed
      once polynomial constants are added.
      
      2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* tree-vrp.c (extract_range_from_multiplicative_op_1): Assert
      	for VR_RANGE only; don't allow VR_ANTI_RANGE.
      	(extract_range_from_binary_expr_1): Don't call
      	extract_range_from_multiplicative_op_1 if !range_int_cst_p.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r253102
      Richard Sandiford committed
    • Let the target choose a vectorisation alignment · f702e7d4
      The vectoriser aligned vectors to TYPE_ALIGN unconditionally, although
      there was also a hard-coded assumption that this was equal to the type
      size.  This was inconvenient for SVE for two reasons:
      
      - When compiling for a specific power-of-2 SVE vector length, we might
        want to align to a full vector.  However, the TYPE_ALIGN is governed
        by the ABI alignment, which is 128 bits regardless of size.
      
      - For vector-length-agnostic code it doesn't usually make sense to align,
        since the runtime vector length might not be a power of two.  Even for
        power of two sizes, there's no guarantee that aligning to the previous
        16 bytes will be an improveent.
      
      This patch therefore adds a target hook to control the preferred
      vectoriser (as opposed to ABI) alignment.
      
      2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* target.def (preferred_vector_alignment): New hook.
      	* doc/tm.texi.in (TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT): New
      	hook.
      	* doc/tm.texi: Regenerate.
      	* targhooks.h (default_preferred_vector_alignment): Declare.
      	* targhooks.c (default_preferred_vector_alignment): New function.
      	* tree-vectorizer.h (dataref_aux): Add a target_alignment field.
      	Expand commentary.
      	(DR_TARGET_ALIGNMENT): New macro.
      	(aligned_access_p): Update commentary.
      	(vect_known_alignment_in_bytes): New function.
      	* tree-vect-data-refs.c (vect_calculate_required_alignment): New
      	function.
      	(vect_compute_data_ref_alignment): Set DR_TARGET_ALIGNMENT.
      	Calculate the misalignment based on the target alignment rather than
      	the vector size.
      	(vect_update_misalignment_for_peel): Use DR_TARGET_ALIGMENT
      	rather than TYPE_ALIGN / BITS_PER_UNIT to update the misalignment.
      	(vect_enhance_data_refs_alignment): Mask the byte misalignment with
      	the target alignment, rather than masking the element misalignment
      	with the number of elements in a vector.  Also use the target
      	alignment when calculating the maximum number of peels.
      	(vect_find_same_alignment_drs): Use vect_calculate_required_alignment
      	instead of TYPE_ALIGN_UNIT.
      	(vect_duplicate_ssa_name_ptr_info): Remove stmt_info parameter.
      	Measure DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT.
      	(vect_create_addr_base_for_vector_ref): Update call accordingly.
      	(vect_create_data_ref_ptr): Likewise.
      	(vect_setup_realignment): Realign by ANDing with
      	-DR_TARGET_MISALIGNMENT.
      	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Calculate
      	the number of peels based on DR_TARGET_ALIGNMENT.
      	* tree-vect-stmts.c (get_group_load_store_type): Compare the gap
      	with the guaranteed alignment boundary when deciding whether
      	overrun is OK.
      	(vectorizable_mask_load_store): Interpret DR_MISALIGNMENT
      	relative to DR_TARGET_ALIGNMENT instead of TYPE_ALIGN_UNIT.
      	(ensure_base_align): Remove stmt_info parameter.  Get the
      	target base alignment from DR_TARGET_ALIGNMENT.
      	(vectorizable_store): Update call accordingly.   Interpret
      	DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT instead of
      	TYPE_ALIGN_UNIT.
      	(vectorizable_load): Likewise.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-outer-3a.c: Adjust dump scan for new wording
      	of alignment message.
      	* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r253101
      Richard Sandiford committed
    • Fix testsuite fallout from r252976. · b2b67217
      gcc/testsuite/ChangeLog:
      
      	PR c/81854
      	* gcc.target/i386/pr80732.c: Correct a type error.
      
      From-SVN: r253100
      Martin Sebor committed
    • Add a vect_get_scalar_dr_size helper function · 20bdc473
      This patch adds a helper function for getting the number of bytes
      accessed by an unvectorised data reference, which helps when general
      modes have a variable size.
      
      2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* tree-vectorizer.h (vect_get_scalar_dr_size): New function.
      	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use it.
      	(vect_enhance_data_refs_alignment): Likewise.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r253099
      Richard Sandiford committed
    • [arm] Improve error checking in parsecpu.awk · dce04e57
      This patch adds a bit more error checking to parsecpu.awk to ensure
      that statements are not missing arguments or have excess arguments
      beyond those permitted.  It also slightly improves the handling of
      errors so that we terminate properly if parsing fails and be as
      helpful as we can while in the parsing phase.
      
      2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
      
      	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
      	error.  Only quit immediately if parsing is complete.
      	(BEGIN): Initialize fatal_err and parse_done.
      	(begin fpu, end fpu): Check number of arguments.
      	(begin arch, end arch): Likewise.
      	(begin cpu, end cpu): Likewise.
      	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
      	(optalias): Likewise.
      
      From-SVN: r253098
      Richard Earnshaw committed
    • [arm] auto-generate arm-isa.h from CPU descriptions · bdb0828f
      This patch autogenerates arm-isa.h from new entries in arm-cpus.in.
      This has the primary advantage that it makes the description file more
      self-contained, but it also solves the 'array dimensioning' problem
      that Tamar recently encountered.  It adds two new constructs to
      arm-cpus.in: features and fgroups.  Fgroups are simply a way of naming
      a group of feature bits so that they can be referenced together.  We
      follow the convention that feature bits are all lower case, while
      fgroups are (predominantly) upper case. This is helpful as in some
      contexts they share the same namespace. Most of the minor changes in
      this patch are related to adopting this new naming convention.
      
      2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
      
      	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
      	* config/arm/arm-isa.h: Delete.  Move definitions to ...
      	* arm-cpus.in: ... here.  Use new feature and fgroup values.
      	* config/arm/arm.c (arm_option_override): Use lower case for feature
      	bit names.
      	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
      	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
      	* config/arm/parsecpu.awk (END): Add new command 'isa'.
      	(isa_pfx): Delete.
      	(print_isa_bits_for): New function.
      	(gen_isa): New function.
      	(gen_comm_data): Use print_isa_bits_for.
      	(define feature): New keyword.
      	(define fgroup): New keyword.
      	* config/arm/t-arm (TM_H): Remove.
      	(GTM_H): Add arm-isa.h.
      	(arm-isa.h): Add rule to generate file.
      	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
      	case for feature bit names.
      
      From-SVN: r253097
      Richard Earnshaw committed
    • C++: underline parameters in mismatching function calls · 9003adc7
      gcc/cp/ChangeLog:
      	* call.c (get_fndecl_argument_location): New function.
      	(convert_like_real): Use it  when complaining about argument type
      	mismatches.
      	* cp-tree.h (struct cp_parameter_declarator): Add "loc" field.
      	* parser.c (make_parameter_declarator): Add "loc" param and use
      	it to initialize the new field.
      	(cp_parser_translation_unit): Add UNKNOWN_LOCATION for "loc" of
      	the "no_parameters" parameter.
      	(cp_parser_parameter_declaration_list): Set the location of the
      	result of grokdeclarator to be the parameter's loc, assuming no
      	errors.
      	(cp_parser_parameter_declaration): Generate a location for the
      	parameter and pass to make_parameter_declarator.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/diagnostic/param-type-mismatch.C: Update expected results
      	to reflect highlighting of parameters; add test coverage for
      	callback parameters.
      
      From-SVN: r253096
      David Malcolm committed
    • re PR sanitizer/77631 (no symbols in backtrace shown by ASan when debug info is split) · 8c2ea6b2
      	PR sanitizer/77631
      	* configure.ac: Check for lstat and readlink.
      	* elf.c (lstat, readlink): Provide dummy versions if real versions
      	are not available.
      	* configure, config.h.in: Rebuild.
      
      From-SVN: r253095
      Ian Lance Taylor committed
    • graphite-isl-ast-to-gimple.c (graphite_verify): Inline into single caller. · 4d6e2f33
      2017-09-22  Richard Biener  <rguenther@suse.de>
      
      	* graphite-isl-ast-to-gimple.c (graphite_verify): Inline into
      	single caller.
      	(graphite_regenerate_ast_isl): Do not reset SCEV.  Move debug
      	print of no dependency loops ...
      	* graphite.c (graphite_transform_loops): ... here.
      	(canonicalize_loop_closed_ssa_form): Work from inner to outer
      	loops.
      	(same_close_phi_node, remove_duplicate_close_phi,
      	make_close_phi_nodes_unique, defined_in_loop_p): Fold into ...
      	(canonicalize_loop_closed_ssa): ... here and simplify.
      	* graphite-optimize-isl.c: Include tree-vectorizer.h.
      	(optimize_isl): Use dump_printf_loc to tell when we stopped
      	optimizing because of an ISL timeout.
      
      	* gcc.dg/graphite/scop-24.c: New testcase.
      
      From-SVN: r253094
      Richard Biener committed
    • re PR tree-optimization/82291 (wrong code at -O3 on x86_64-linux-gnu) · 2402ffb6
      2017-09-22  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82291
      	* tree-if-conv.c (predicate_mem_writes): Make sure to
      	remove writes in blocks predicated with false.
      
      	* gcc.dg/torture/pr82291.c: New testcase.
      
      From-SVN: r253093
      Richard Biener committed
    • sese.c: Include cfganal.h. · 2c818750
      2017-09-22  Richard Biener  <rguenther@suse.de>
      
      	* sese.c: Include cfganal.h.
      	(if_region_set_false_region): Remove.
      	(create_if_region_on_edge): Likewise.
      	(move_sese_in_condition): Re-implement without destroying
      	dominators.
      
      From-SVN: r253092
      Richard Biener committed
    • re PR fortran/52832 ([F03] ASSOCIATE construct with proc-pointer selector is rejected) · ed3a22e7
      2017-09-22  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52832
      	* gfortran.dg/associate_31.f90 : Remove failing test.
      
      From-SVN: r253091
      Paul Thomas committed
    • graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Verify both BBs… · ab0e5308
      graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Verify both BBs contain loop PHI nodes before dispatching to copy_loop_phi_args.
      
      2017-09-21  Richard Biener  <rguenther@suse.de>
      
      	* graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes):
      	Verify both BBs contain loop PHI nodes before dispatching to
      	copy_loop_phi_args.
      	(graphite_regenerate_ast_isl): Do not recompute dominators,
      	do not verify three times.  Restructure for clarity.
      	* graphite-scop-detection.c (same_close_phi_node,
      	remove_duplicate_close_phi, make_close_phi_nodes_unique,
      	defined_in_loop_p, canonicalize_loop_closed_ssa,
      	canonicalize_loop_closed_ssa_form): Simplify, remove excess
      	checking and SSA rewrite, move to ...
      	* graphite.c: ... here.  Include ssa.h and tree-ssa-loop-manip.h.
      	(graphite_initialize): Do not pass in ctx, do not reset the
      	SCEV cache, compute only dominators.
      	(graphite_transform_loops): Allocate ISL ctx after
      	graphite_initialize.  Call canonicalize_loop_closed_ssa_form.
      	Maintain post-dominators only around build_scops.
      	* sese.c (if_region_set_false_region): Make static.  Free
      	and recompute dominators.
      	(move_sese_in_condition): Assert we don't get called with
      	post-dominators computed.
      	* sese.h (if_region_set_false_region): Remove.
      
      From-SVN: r253090
      Richard Biener committed