Skip to content
Snippets Groups Projects
  1. May 31, 2017
    • Martin Liska's avatar
      Fix configure.ac to respect --{enable,disable}-werror option. · afd88efc
      Martin Liska authored
      2017-05-31  Martin Liska  <mliska@suse.cz>
      
      	* configure.ac: Add handling of stage2_werror_flags to
      	action-if-given and to action-if-not-given.
      	* configure: Regenerate.
      
      From-SVN: r248737
      afd88efc
    • Alexander Monakov's avatar
      passes.c: implement pre-ICE emergency dumping · a02d1ad2
      Alexander Monakov authored
      	* passes.c (emergency_dump_function): New.
      	* tree-pass.h (emergency_dump_function): Declare.
      	* plugin.c (plugins_internal_error_function): Remove.
      	* plugin.h (plugins_internal_error_function): Remove declaration.
      	* toplev.c (internal_error_function): New static function.  Use it...
      	(general_init): ...here.
      
      From-SVN: r248736
      a02d1ad2
    • Graham Markall's avatar
      [ARC] Recognise add_n and sub_n in combine again · 1e466f04
      Graham Markall authored
      Since the combine pass canonicalises shift-add insns using plus and
      ashift (as opposed to plus and mult which it previously used to do), it
      no longer creates *add_n or *sub_n insns, as the patterns match plus and
      mult only. The outcome of this is that some opportunities to generate
      add{1,2,3} and sub{1,2,3} instructions are missed.
      
      This change adds additional *add_n and *sub_n insns that match the
      plus-ashift pattern. The original *add_n and *sub_n insns are still left
      in, as they are sometimes generated later on by constant propagation.
      The idea of adding these insns is modelled on the changes in:
      
        https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01882.html
      
      which addresses a similar issue for the PA target.
      
      For the small test cases that are added, even if the combine pass misses
      the opportunity to generate addN or subN, constant propagation manages
      to do so, so the rtl of the combine pass is checked.
      
      gcc/ChangeLog:
      
              * config/arc/arc.c (arc_print_operand): Handle constant operands.
              (arc_rtx_costs): Add costs for new patterns.
              * config/arc/arc.md: Additional *add_n and *sub_n patterns.
              * config/arc/predicates.md: Add _1_2_3_operand predicate.
      
      gcc/testsuite/ChangeLog:
      
              * gcc.target/arc/add_n-combine.c: New test.
              * gcc.target/arc/sub_n-combine.c: New test.
      
      From-SVN: r248735
      1e466f04
    • Jonathan Wakely's avatar
      PR libstdc++/80893 Fix null dereference in vector<bool> · 046a8476
      Jonathan Wakely authored
      	PR libstdc++/80893
      	* include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid
      	null pointer dereference when size is zero.
      	* testsuite/23_containers/vector/bool/80893.cc: New.
      	* testsuite/util/testsuite_allocator.h (PointerBase::PointerBase):
      	Add non-explicit constructor from nullptr.
      	(PointerBase::derived() const): Add const-qualified overload.
      
      From-SVN: r248734
      046a8476
    • Richard Sandiford's avatar
      [1/2] Add get_next_strinfo helper function · bde63fde
      Richard Sandiford authored
      This patch just adds a helper function for getting the next strinfo
      in a chain, since part 2 adds another place where we do that.
      
      2017-05-16  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* tree-ssa-strlen.c (get_next_strinfo): New function.
      	(get_stridx_plus_constant): Use it.
      	(zero_length_string): Likewise.
      	(adjust_related_strinfos): Likewise.
      	(adjust_last_stmt): Likewise.
      
      From-SVN: r248732
      bde63fde
    • Richard Biener's avatar
      re PR target/80880 (internal compiler error: in ix86_expand_builtin) · 89c88990
      Richard Biener authored
      2017-05-31  Richard Biener  <rguenther@suse.de>
      
      	PR target/80880
      	* config/i386/i386.c (ix86_expand_builtin): Remove assert
      	for arg being an SSA name when expanding IX86_BUILTIN_BNDRET.
      
      	* gcc.target/i386/pr80880.c: New testcase.
      
      From-SVN: r248731
      89c88990
    • Richard Sandiford's avatar
      Alternative check for vector refs with same alignment · 748bbe72
      Richard Sandiford authored
      vect_find_same_alignment_drs uses the ddr dependence distance
      to tell whether two references have the same alignment.  Although
      that's safe with the current code, there's no particular reason
      why a dependence distance of 0 should mean that the accesses start
      on the same byte.  E.g. a reference to a full complex value could
      in principle depend on a reference to the imaginary component.
      A later patch adds support for this kind of dependence.
      
      On the other side, checking modulo vf is pessimistic when the step
      divided by the element size is a factor of 2.
      
      This patch instead looks for cases in which the drs have the same
      base, offset and step, and for which the difference in their constant
      initial values is a multiple of the alignment.
      
      2017-05-03  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* tree-vect-data-refs.c (vect_find_same_alignment_drs): Remove
      	loop_vinfo argument and use of dependence distance vectors.
      	Check instead whether the two references differ only in their
      	initial value and assume that they have the same alignment if the
      	difference is a multiple of the vector alignment.
      	(vect_analyze_data_refs_alignment): Update call accordingly.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-103.c: Update wording of dump message.
      
      From-SVN: r248730
      748bbe72
    • Martin Liska's avatar
      Fix typo in a comment in cpuid.h (PR target/79155). · c9f16151
      Martin Liska authored
      2017-05-31  Martin Liska  <mliska@suse.cz>
      
      	PR target/79155
      	* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
      
      From-SVN: r248729
      c9f16151
    • Bin Cheng's avatar
      * tree-vect-loop-manip.c (create_intersect_range_checks_index) · 9cbd2d97
      Bin Cheng authored
      	(create_intersect_range_checks): Move from ...
      	* tree-data-ref.c (create_intersect_range_checks_index)
      	(create_intersect_range_checks): ... to here.
      	(create_runtime_alias_checks): New function factored from ...
      	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): ...
      	here.  Call above function.
      	* tree-data-ref.h (create_runtime_alias_checks): New function.
      
      From-SVN: r248726
      9cbd2d97
    • Bin Cheng's avatar
      tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal segment length... · c7d7e222
      Bin Cheng authored
      tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal segment length for dr_b and compute it in wide_int.
      
      	* tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal
      	segment length for dr_b and compute it in wide_int.
      
      	gcc/testsuite
      	* gcc.dg/vect/pr80815-3.c: New test.
      
      From-SVN: r248725
      c7d7e222
    • Prakhar Bahuguna's avatar
      MAINTAINERS: Add self to Write After Approval · 945bafd6
      Prakhar Bahuguna authored
      2017-05-31  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
      
      	* MAINTAINERS: Add self to Write After Approval
      
      From-SVN: r248723
      945bafd6
    • Richard Biener's avatar
      re PR tree-optimization/80906 (ICE in copy_loop_close_phi_args, at... · ee1379be
      Richard Biener authored
      re PR tree-optimization/80906 (ICE in copy_loop_close_phi_args, at graphite-isl-ast-to-gimple.c:2094)
      
      2017-05-31  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80906
      	* graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
      	and pass through iv_map.
      	(copy_bb_and_scalar_dependences): Adjust.
      	(translate_pending_phi_nodes): Likewise.
      	(copy_loop_close_phi_args): Handle code-generating IVs instead
      	of ICEing.
      
      	* gcc.dg/graphite/pr80906.c: New testcase.
      
      From-SVN: r248722
      ee1379be
    • DJ Delorie's avatar
      configure.ac (strnlen): Add to AC_CHECK_DECLS. · 63d9caf9
      DJ Delorie authored
      * configure.ac (strnlen): Add to AC_CHECK_DECLS.
      * configure: Likewise.
      * config.in: Add HACE_DECL_STRNLEN.
      
      From-SVN: r248721
      63d9caf9
    • GCC Administrator's avatar
      Daily bump. · 96cbc38b
      GCC Administrator authored
      From-SVN: r248719
      96cbc38b
  2. May 30, 2017
    • Tom de Vries's avatar
      Test if host compiler supports -std=c++11 in ms-sysv.exp · bcce980e
      Tom de Vries authored
      2017-05-30  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80910
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Exit with status
      	unsupported if host compiler does not support c++11.
      	(host_supports_c++11): New proc.
      
      From-SVN: r248701
      bcce980e
    • Martin Sebor's avatar
      re PR c/80731 (poor -Woverflow warnings, missing detail) · ef9200aa
      Martin Sebor authored
      gcc/testsuite/ChangeLog:
      	PR c/80731
      	* g++.dg/ext/utf16-4.C: Relax test.
      	* gcc.dg/fixed-point/int-warning.c: Adjust.
      
      From-SVN: r248700
      ef9200aa
    • Jason Merrill's avatar
      PR c++/80856 - ICE with local extern in template · 3c1f5a3a
      Jason Merrill authored
      	* semantics.c (finish_call_expr): Replace a local extern overload
      	set in a template with the IDENTIFIER_NODE.
      
      From-SVN: r248699
      3c1f5a3a
    • David Malcolm's avatar
      C++ template type diff printing · f012c8ef
      David Malcolm authored
      gcc/ChangeLog:
      	* diagnostic-color.c (color_dict): Add "type-diff".
      	(parse_gcc_colors): Update comment.
      	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
      	-fdiagnostics-show-template-tree and -fno-elide-type.
      	(GCC_COLORS): Add type-diff to example.
      	(type-diff=): New.
      	(-fdiagnostics-show-template-tree): New.
      	(-fno-elide-type): New.
      	* pretty-print.c (pp_format): Pass quote and formatters[argno] to
      	the pp_format_decoder callback.  Call any m_format_postprocessor's
      	"handle" method.
      	(pretty_printer::pretty_printer): Initialize
      	m_format_postprocessor.
      	(pretty_printer::~pretty_printer): Delete any
      	m_format_postprocessor.
      	* pretty-print.h (printer_fn): Add bool and const char **
      	parameters.
      	(class format_postprocessor): New class.
      	(struct pretty_printer::format_decoder): Document the new
      	parameters.
      	(struct pretty_printer::m_format_postprocessor): New field.
      	* tree-diagnostic.c (default_tree_printer): Update for new
      	bool and const char ** params.
      	* tree-diagnostic.h (default_tree_printer): Likewise.
      
      gcc/c/ChangeLog:
      	* c-objc-common.c (c_tree_printer): Gain bool and const char **
      	parameters.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
      	format_chars.
      	* c.opt (fdiagnostics-show-template-tree): New option.
      	(felide-type): New option.
      
      gcc/cp/ChangeLog:
      	* call.c (perform_implicit_conversion_flags): Convert
      	"from %qT to %qT" to "from %qH to %qI" in diagnostic.
      	(print_conversion_rejection): Replace pairs of %qT with
      	%qH and %qI in various places.
      	(build_user_type_conversion_1): Likewise.
      	(build_integral_nontype_arg_conv): Likewise.
      	(build_conditional_expr_1): Likewise.
      	(convert_like_real): Likewise.
      	(convert_arg_to_ellipsis): Likewise.
      	(joust): Likewise.
      	(initialize_reference): Likewise.
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	(cp_convert_to_pointer): Likewise.
      	(convert_to_reference): Likewise.
      	(ocp_convert): Likewise.
      	* error.c (cp_printer): Gain bool and const char ** parameters.
      	(struct deferred_printed_type): New struct.
      	(class cxx_format_postprocessor): New class.
      	(cxx_initialize_diagnostics): Wire up a cxx_format_postprocessor
      	to pp->m_format_postprocessor.
      	(comparable_template_types_p): New function.
      	(newline_and_indent): New function.
      	(arg_to_string): New function.
      	(print_nonequal_arg): New function.
      	(print_template_differences): New function.
      	(type_to_string_with_compare): New function.
      	(print_template_tree_comparison): New function.
      	(append_formatted_chunk): New function.
      	(add_quotes): New function.
      	(cxx_format_postprocessor::handle): New function.
      	(defer_phase_2_of_type_diff): New function.
      	(cp_printer): Add "quoted" and "buffer_ptr" params.  Implement
      	%H and %I.
      	* typeck.c (cp_build_binary_op): Replace pairs of %qT with
      	%qH and %qI in various places.
      	(convert_member_func_to_ptr): Likewise.
      	(build_reinterpret_cast_1): Likewise.
      	(convert_for_assignment): Likewise.
      	* typeck2.c (check_narrowing): Likewise.
      
      gcc/fortran/ChangeLog:
      	* error.c (gfc_format_decoder): Update for new bool and
      	const char ** params.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/plugin/plugin.exp (plugin_test_list): Add...
      	* g++.dg/plugin/show-template-tree-color-no-elide-type.C: New
      	test case.
      	* g++.dg/plugin/show-template-tree-color.C: New test case.
      	* g++.dg/plugin/show_template_tree_color_plugin.c: New plugin.
      	* g++.dg/template/show-template-tree-2.C: New test case.
      	* g++.dg/template/show-template-tree-3.C: New test case.
      	* g++.dg/template/show-template-tree-4.C: New test case.
      	* g++.dg/template/show-template-tree-no-elide-type.C: New test case.
      	* g++.dg/template/show-template-tree.C: New test case.
      
      From-SVN: r248698
      f012c8ef
    • Segher Boessenkool's avatar
      Remove gen_cell_microcode, warn_cell_microcode · 3f8efe25
      Segher Boessenkool authored
      -mno-gen-cell-microcode is a pain to handle correctly: it causes
      different code generation for some very basic patterns, even patterns
      specific to that option.  It also requires marking up many patterns,
      which is a pain when adding new patterns or modifying existing ones
      (first non-trivial step is finding the Cell BE manual!)
      
      -mwarn-cell-microcode is very expensive, even more so after my recent
      fix for PR43763; and it used to ICE for seven years before that fix.
      
      This patch removes both these command line options (it leaves the
      positive form of -mgen-cell-microcode, doing nothing, for
      compatibility).
      
      Where cc_reg_not_micro_cr0_operand was used, we now get the regular
      cc_reg_not_cr0_operand.
      
      One testcase used -mgen-cell-microcode and one its negation; both
      are adjusted.
      
      
      	* config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): Delete.
      	(lwa_operand): Delete rs6000_gen_cell_microcode test.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
      	rs6000_gen_cell_microcode code.
      	(rs6000_final_prescan_insn): Delete.
      	(rs6000_opt_vars): Delete the "gen-cell-microcode" and
      	"warn-cell-microcode" entries.
      	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Delete.
      	* config/rs6000/rs6000.md: Delete rs6000_gen_cell_microcode tests
      	throughout.  Change cc_reg_not_micro_cr0_operand to
      	cc_reg_not_cr0_operand throughout.
      	(*extendhi<mode>2_noload): Delete.
      	* config/rs6000/rs6000.opt (mgen-cell-microcode): Replace by stub.
      	(mwarn-cell-microcode): Delete.
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete
      	-mgen-cell-microcode and -mwarn-cell-microcode.
      
      gcc/testsuite/
      	* gcc.target/powerpc/shift-dot.c: Delete -mgen-cell-microcode from
      	dg-options.
      	* gfortran.dg/pr80107.f: Delete testcase.
      
      From-SVN: r248695
      3f8efe25
    • Nathan Sidwell's avatar
      Kill IDENTIFIER_NAMESPACE_BINDINGS · 98c28dd4
      Nathan Sidwell authored
      	Kill IDENTIFIER_NAMESPACE_BINDINGS
      	* cp-tree.h (lang_identifier): Delete namespace_bindings.
      	(IDENTIFIER_NAMESPACE_BINDINGS): Delete.
      	(lang_decl_ns): Add bindings.
      	(DECL_NAMESPACE_BINDINGS): New.
      	* lex.c (retrofit_lang_decl): Create namespace hash table.
      	* name-lookup.c (find_namespace_slot): Change to use hash-map.
      	* ptree.c (cxx_print_binding): Delete.
      	(cxx_print_identifier): Remove NAMESPACE_BINDING printing.
      
      From-SVN: r248694
      98c28dd4
    • Nathan Sidwell's avatar
      cp-tree.def (OVERLOAD): Fix comment. · 5256a7f5
      Nathan Sidwell authored
      	* cp-tree.def (OVERLOAD): Fix comment.
      	* cp-tree.h: Fix comments and whitespace.
      	* error.c (dump_decl): Use pp_cxx_colon_colon, ovl_scope.
      	* name-lookup.c (add_decl_to_level): Assert not class.
      	(check_local_shadow): Use OVL_P.
      	(pushdecl_with_scope_1): Rename to ...
      	(do_pushdecl_with_Scope): ... here.
      	(do_nonmember_using_decl): Use qualified_namespace_lookup return
      	value.
      	(push_class_level_binding_1): Use OVL_P.
      	(pushdecl_namespace_level): Use do_pushdecl_with_scope.
      	(pushtag_1): Rename to ...
      	(do_pushtag): ... here.  Adjust do_pushdecl_with_scope call.
      	(pushtag): Adjust.
      	(store_class_bindings): Do not time here.
      	* name-lookup.h (pushdecl_outermost_localscope): Reorder.
      	* pt.c (listify): Declare argvec at point of initialization.
      
      From-SVN: r248693
      5256a7f5
    • Uros Bizjak's avatar
      ChangeLog: Add missing entry. · 77d1dbdb
      Uros Bizjak authored
      	* ChangeLog: Add missing entry.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r248692
      77d1dbdb
    • Uros Bizjak's avatar
      re PR target/80833 (32-bit x86 causes store-forwarding stalls for int64_t -> xmm) · 1657d923
      Uros Bizjak authored
      	PR target/80833
      	* config/i386/constraints.md (Yd): New constraint.
      	(Ye): Ditto.
      	* config/i386/i386.md (*movti_internal): Add (?r, Ye)
      	and (?Yd, r) alternatives.  Update insn attributes.
      	* config/i386/i386.md (*movti_internal): Add (?r, *Ye)
      	and (?*Yd, r) alternatives.  Update insn attributes.
      	(double-mode inter-unit splitters): Add new GR<->XMM splitters.
      
      testsuite/ChangeLog:
      
      	PR target/80833
      	* gcc.target/i386/pr80833-1.c: New test.
      	* gcc.target/i386/pr80833-2.c: Ditto.
      
      From-SVN: r248691
      1657d923
    • Pierre-Marie de Rodat's avatar
      gimplify_modify_expr: avoid DECL_DEBUG_EXPR links across functions · 0a37d40c
      Pierre-Marie de Rodat authored
      An upcoming patch exposes a bug in gimplify_modify_expr.  There, we try
      not to create DECL_DEBUG_EXPR links across functions, however we don't
      check that *FROM_P actually belongs to the current function before
      modifying it.  This patch fixes this oversight.
      
      gcc/
      
      	* gimplify.c (gimplify_modify_expr): Don't create a
      	DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
      	function.
      
      From-SVN: r248688
      0a37d40c
    • Nathan Sidwell's avatar
      re PR c++/80913 (Infinite loop in cc1plus with stat hack patch) · e2f35333
      Nathan Sidwell authored
      	PR c++/80913
      	* name-lookup.c (add_decl_to_level): Assert not making a circular
      	chain.
      	(update_binding): Don't prematurely slide artificial decl.
      
      	* g++.dg/lookup/pr80913.C: New.
      
      From-SVN: r248687
      e2f35333
    • Wilco Dijkstra's avatar
      Fix ARM bootstrap failure due to an odd warning: · 064263c1
      Wilco Dijkstra authored
      /src/gcc/gcc/config/arm/arm-builtins.c: In function 'rtx_def* arm_expand_builtin(tree, rtx, rtx, machine_mode, int)':
      /src/gcc/gcc/config/arm/arm-builtins.c:3056:46: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
           if (d->code == (const enum arm_builtins) fcode)
                                                    ^~~~~
      
      Avoid the warning by removing const, and bootstrap is OK again.
      
      Committed as trivial patch.
      
          gcc/
      	* config/arm/arm-builtins.c (arm_expand_builtin): Remove const.
      
      From-SVN: r248686
      064263c1
    • Richard Biener's avatar
      tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type and reduc_def fields. · 1a58f770
      Richard Biener authored
      2017-05-30  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type
      	and reduc_def fields.
      	(STMT_VINFO_REDUC_TYPE): New define.
      	(STMT_VINFO_REDUC_DEF): Likewise.
      	(vect_force_simple_reduction): Adjust prototype.
      	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Adjust.
      	(vect_is_simple_reduction): Remove check_reduction argument.
      	(vect_force_simple_reduction): Adjust and set
      	STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
      	(vectorizable_reduction): Do not re-do reduction analysis
      	but use STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
      	* tree-parloops.c (gather_scalar_reductions): Adjust.
      
      From-SVN: r248685
      1a58f770
    • Olivier Hainque's avatar
      t-vxworks (LIBGCC2_INCLUDES): Remove extraneous dollar sign before $(MULTIDIR). · 5b2edf53
      Olivier Hainque authored
      2017-05-30  Olivier Hainque  <hainque@adacore.com>
      
      	libgcc/
      	* config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous
      	dollar sign before $(MULTIDIR).
      
      From-SVN: r248684
      5b2edf53
    • Jakub Jelinek's avatar
      re PR libgomp/80822 (libgomp incorrect affinity when OMP_PLACES=threads) · 01275e1e
      Jakub Jelinek authored
      	PR libgomp/80822
      	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
      	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
      	sibling lists, depending on level just pick up what CPUs to put
      	together into a place vs. whether add multiple ordered places.
      
      From-SVN: r248683
      01275e1e
    • Richard Biener's avatar
      re PR tree-optimization/80901 (ICE on valid code at -Os and above on... · ba7629e2
      Richard Biener authored
      re PR tree-optimization/80901 (ICE on valid code at -Os and above on x86_64-linux-gnu: in verify_loop_structure, at cfgloop.c:1644)
      
      2017-05-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80901
      	* cfgexpand.c (expand_gimple_cond): Match up loop fixup with
      	split_edge code.
      
      	* gcc.dg/torture/pr80901.c: New testcase.
      
      From-SVN: r248681
      ba7629e2
    • Robin Dapp's avatar
      Vector peeling cost model 6/6 · 4d3d23fb
      Robin Dapp authored
      gcc/ChangeLog:
      
      2017-05-24  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
      	Introduce unknown_misalignment parameter and remove vf.
      	(vect_peeling_hash_get_lowest_cost):
      	Pass unknown_misalignment parameter.
      	(vect_enhance_data_refs_alignment):
      	Fix unsupportable data ref treatment.
      
      From-SVN: r248680
      4d3d23fb
    • Robin Dapp's avatar
      Vector peeling cost model 5/6 · 4bfb347c
      Robin Dapp authored
      gcc/testsuite/ChangeLog:
      
      2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* gcc.target/s390/vector/vec-nopeel-2.c: New test.
      
      From-SVN: r248679
      4bfb347c
    • Robin Dapp's avatar
      Vector peeling cost model 4/6 · 64812d33
      Robin Dapp authored
      gcc/ChangeLog:
      
      2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* tree-vect-data-refs.c (vect_get_data_access_cost):
      	Workaround for SLP handling.
      	(vect_enhance_data_refs_alignment):
      	Compute costs for doing no peeling at all, compare to the best
      	peeling costs so far and avoid peeling if cheaper.
      
      From-SVN: r248678
      64812d33
    • Robin Dapp's avatar
      Vector peeling cost model 3/6 · 1e69cc8f
      Robin Dapp authored
      gcc/ChangeLog:
      
      2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* tree-vect-data-refs.c (vect_peeling_hash_choose_best_peeling):
      	Return peeling info and set costs to zero for unlimited cost
      	model.
      	(vect_enhance_data_refs_alignment): Also inspect all datarefs
      	with unknown misalignment. Compute and costs for unknown
      	misalignment, compare them to the costs for known misalignment
      	and choose the cheapest for peeling.
      
      From-SVN: r248677
      1e69cc8f
    • Robin Dapp's avatar
      Vector peeling cost model 2/6 · 71595748
      Robin Dapp authored
      gcc/ChangeLog:
      
      2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Rename.
      	(vect_get_peeling_costs_all_drs): Create function.
      	(vect_peeling_hash_get_lowest_cost):
      	Use vect_get_peeling_costs_all_drs.
      	(vect_peeling_supportable): Create function.
      	(vect_enhance_data_refs_alignment): Use vect_peeling_supportable.
      
      From-SVN: r248676
      71595748
    • Robin Dapp's avatar
      Vector peeling cost model 1/6 · 8d21ff9f
      Robin Dapp authored
      gcc/ChangeLog:
      
      2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Create
      	DR_HAS_NEGATIVE_STEP.
      	(vect_update_misalignment_for_peel): Define DR_MISALIGNMENT.
      	(vect_enhance_data_refs_alignment): Use.
      	(vect_duplicate_ssa_name_ptr_info): Use.
      	* tree-vectorizer.h (dr_misalignment): Use.
      	(known_alignment_for_access_p): Use.
      
      From-SVN: r248675
      8d21ff9f
    • Jozef Lawrynowicz's avatar
      re PR target/78838 (msp430 option -mcode-region=either, -ffunction-sections,... · b3125625
      Jozef Lawrynowicz authored
      re PR target/78838 (msp430 option -mcode-region=either, -ffunction-sections, and interrupt function attributes cause incorrect section to be created)
      
      	PR target/78838
      gcc	* config/msp430/msp430.c (gen_prefix): Return NULL when section name is
      	.lowtext.
      	(has_section_name): New function.
      
      testsuite * gcc.target/msp430/interrupt_fn_placement.c: New test.
      
      From-SVN: r248674
      b3125625
    • Martin Liska's avatar
      Fix parenthesis in auto-profile.c (PR other/80909). · b2deed12
      Martin Liska authored
      2017-05-30  Martin Liska  <mliska@suse.cz>
      
      	PR other/80909
      	* auto-profile.c (get_function_decl_from_block): Fix
      	parenthesis.
      
      From-SVN: r248647
      b2deed12
    • Richard Biener's avatar
      re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644... · 892d6169
      Richard Biener authored
      re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644 (error: loop 1's latch does not have an edge to its header))
      
      2017-05-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80876
      	* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.
      
      	* gcc.dg/torture/pr80876.c: New testcase.
      
      From-SVN: r248633
      892d6169
    • Martin Liska's avatar
      Remove dump_file_info::dump_file_info and replace it with macro. · 63523736
      Martin Liska authored
      2017-05-30  Martin Liska  <mliska@suse.cz>
      
      	* dumpfile.c: Use newly added macro DUMP_FILE_INFO.
      	* dumpfile.h (struct dump_file_info): Remove ctors.
      
      From-SVN: r248617
      63523736
Loading