1. 30 May, 2017 21 commits
    • re PR target/80833 (32-bit x86 causes store-forwarding stalls for int64_t -> xmm) · 1657d923
      	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
      Uros Bizjak committed
    • gimplify_modify_expr: avoid DECL_DEBUG_EXPR links across functions · 0a37d40c
      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
      Pierre-Marie de Rodat committed
    • re PR c++/80913 (Infinite loop in cc1plus with stat hack patch) · e2f35333
      	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
      Nathan Sidwell committed
    • Fix ARM bootstrap failure due to an odd warning: · 064263c1
      /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
      Wilco Dijkstra committed
    • tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type and reduc_def fields. · 1a58f770
      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
      Richard Biener committed
    • t-vxworks (LIBGCC2_INCLUDES): Remove extraneous dollar sign before $(MULTIDIR). · 5b2edf53
      2017-05-30  Olivier Hainque  <hainque@adacore.com>
      
      	libgcc/
      	* config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous
      	dollar sign before $(MULTIDIR).
      
      From-SVN: r248684
      Olivier Hainque committed
    • re PR libgomp/80822 (libgomp incorrect affinity when OMP_PLACES=threads) · 01275e1e
      	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
      Jakub Jelinek committed
    • re PR tree-optimization/80901 (ICE on valid code at -Os and above on… · ba7629e2
      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
      Richard Biener committed
    • Vector peeling cost model 6/6 · 4d3d23fb
      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
      Robin Dapp committed
    • Vector peeling cost model 5/6 · 4bfb347c
      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
      Robin Dapp committed
    • Vector peeling cost model 4/6 · 64812d33
      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
      Robin Dapp committed
    • Vector peeling cost model 3/6 · 1e69cc8f
      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
      Robin Dapp committed
    • Vector peeling cost model 2/6 · 71595748
      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
      Robin Dapp committed
    • Vector peeling cost model 1/6 · 8d21ff9f
      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
      Robin Dapp committed
    • re PR target/78838 (msp430 option -mcode-region=either, -ffunction-sections, and… · b3125625
      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
      Jozef Lawrynowicz committed
    • Fix parenthesis in auto-profile.c (PR other/80909). · b2deed12
      2017-05-30  Martin Liska  <mliska@suse.cz>
      
      	PR other/80909
      	* auto-profile.c (get_function_decl_from_block): Fix
      	parenthesis.
      
      From-SVN: r248647
      Martin Liska committed
    • re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644… · 892d6169
      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
      Richard Biener committed
    • Remove dump_file_info::dump_file_info and replace it with macro. · 63523736
      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
      Martin Liska committed
    • Compare predictor values with these defined in predict.def. · 59075bc8
      2017-05-30  Martin Liska  <mliska@suse.cz>
      
      	* analyze_brprob.py: Add new argument to parse and modify
      	predict.def file.
      	* analyze_brprob_spec.py: Likewise.
      
      From-SVN: r248600
      Martin Liska committed
    • Fix coding style. · a5824361
      2017-05-30  Martin Liska  <mliska@suse.cz>
      
      	* predict.def: Fix GNU coding style.
      
      From-SVN: r248599
      Martin Liska committed
    • Daily bump. · 2271dac6
      From-SVN: r248591
      GCC Administrator committed
  2. 29 May, 2017 16 commits
    • gcc: xtensa: fix unused parameter warning · eced9b48
      2017-05-28  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
      	Mark 'to' argument with ATTRIBUTE_UNUSED.
      
      From-SVN: r248587
      Max Filippov committed
    • gcc: xtensa: fix fprintf format specifiers · 3904010d
      HOST_WIDE_INT may not be long as assumed in print_operand and
      xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX
      format strings instead of %ld/0x%lx. This fixes incorrect assembly code
      generation by the compiler running on armhf host.
      
      2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (xtensa_emit_call): Use
      	HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
      	(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
      	format string.
      
      From-SVN: r248586
      Max Filippov committed
    • install.texi (Options specification): Restore entry of --enable-sjlj-exceptions. · 4dbe373c
      	* doc/install.texi (Options specification): Restore entry of
      	--enable-sjlj-exceptions.
      
      From-SVN: r248582
      Eric Botcazou committed
    • [libcc1] drop unused field from C++ lang_identifier · b904faa0
      for  gcc/cp/ChangeLog
      
      	* cp-tree.h (lang_identifier): Drop oracle_looked_up, unused.
      
      From-SVN: r248580
      Alexandre Oliva committed
    • PR c++/80891 (#1,#5) · 3d7ff728
      	PR c++/80891 (#1,#5)
      	* cp-tree.h (lookup_maybe_add): Add DEDUPING argument.
      	* name-lookup.c (name_lookup): Add deduping field.
      	(name_lookup::preserve_state, name_lookup::restore_state): Deal
      	with deduping.
      	(name_lookup::add_overload): New.
      	(name_lookup::add_value, name_lookup::add_fns): Call add_overload.
      	(name_lookup::search_adl): Set deduping.  Don't unmark here.
      	* pt.c (most_specialized_instantiation): Revert previous change,
      	Assert not given duplicates.
      	* tree.c (lookup_mark): Just mark the underlying decls.
      	(lookup_maybe_add): Dedup using marked decls.
      
      	PR c++/80891 (#5)
      	* g++.dg/lookup/pr80891-5.C: New.
      
      From-SVN: r248578
      Nathan Sidwell committed
    • re PR fortran/53029 (missed optimization in internal read (without implied-do-loop)) · fd262197
      2017-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/53029
      	* list_read.c (list_formatted_read_scala): Set the err return
      	value to the common.flags error values.
      
      	* gfortran.dg/read_5.f90: New test.
      
      From-SVN: r248577
      Jerry DeLisle committed
    • PR c++/80891 (#4) · a5cfa13a
      	PR c++/80891 (#4)
      	* ptree.c (cxx_print_xnode): Show internal OVERLOAD structure.
      	* tree.c (ovl_insert, ovl_iterator_remove_node): Fix copying
      	assert.
      
      	PR c++/80891 (#4)
      	* g++.dg/lookup/pr80891-4.C: New.
      
      From-SVN: r248576
      Nathan Sidwell committed
    • Stat hack representation · 3c9cca88
      	Stat hack representation
      	* name-lookup.c (STAT_HACK_P, STAT_TYPE, STAT_DECL)
      	MAYBE_STAT_DECL, MAYBE_STAT_TYPE): New.
      	(stat_hack): New.
      	(find_namespace_binding): Replace with ...
      	(find_namespace_slot): ... this.
      	(find_namespace_value): New.
      	(name_lookup::search_namespace_only,
      	name_lookup::adl_namespace_only): Adjust.
      	(update_binding): Add SLOT parameter, adjust.
      	(check_local_shadow): Use find_namespace_value.
      	(set_local_extern_decl_linkage): Likewise.
      	(do_pushdecl): Adjust for namespace slot.
      	(push_local_binding): Assert not a namespace binding.
      	(check_for_out_of_scope_variable): Use find_namespace_value.
      	(set_identifier_type_value_with_scope): Likewise.
      	(get_namespace_binding): Likewise.
      	(set_namespace_binding): Delete.
      	(set_global_binding): Directly update the binding.
      	(finish_namespace_using_decl): Likewise.
      	(lookup_type_scope_1): Use find_namespace_slot and update.
      	(do_push_nested_namespace): Use find_namespace_value.
      
      From-SVN: r248574
      Nathan Sidwell committed
    • PR c++/80891 (#1) · e514ab0c
      	PR c++/80891 (#1)
      	* pt.c (most_specialized_instantiation): Cope with duplicate
      	instantiations.
      
      	PR c++/80891 (#1)
      	* g++.dg/lookup/pr80891-1.C: New.
      
      From-SVN: r248573
      Nathan Sidwell committed
    • PR c++/80891 (#3) · 58dec010
      	PR c++/80891 (#3)
      	* cp-tree.h (build_min_nt_call_vec): Declare.
      	* decl.c (build_offset_ref_call_from_tree): Call it.
      	* parser.c (cp_parser_postfix_expression): Likewise.
      	* pt.c (tsubst_copy_and_build): Likewise.
      	* semantics.c (finish_call_expr): Likewise.
      	* tree.c (build_min_nt_loc): Keep unresolved lookups.
      	(build_min): Likewise.
      	(build_min_non_dep): Likewise.
      	(build_min_non_dep_call_vec): Likewise.
      	(build_min_nt_call_vec): New.
      
      	PR c++/80891 (#3)
      	* g++.dg/lookup/pr80891-3.C: New.
      
      From-SVN: r248571
      Nathan Sidwell committed
    • PR c++/80891 (#2) · 724e517a
      	PR c++/80891 (#2)
      	* tree.c (ovl_copy): Adjust assert, copy OVL_LOOKUP.
      	(ovl_used): New.
      	(lookup_keep): Call it.
      
      	PR c++/80891 (#2)
      	* g++.dg/lookup/pr80891-2.C: New.
      
      From-SVN: r248570
      Nathan Sidwell committed
    • check_GNU_style_lib.py: Fix trailing whitespace check · 0a71c876
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py (TrailingWhitespaceCheck.check): Assert no
      	trailing eol.
      	(TrailingWhitespaceTest): New unit test.
      	(check_GNU_style_file): Remove eol before checking.
      
      From-SVN: r248556
      Tom de Vries committed
    • check_GNU_style.py: Read stdin if file argument is '-' · 75017bb9
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py (check_GNU_style_file): Treat file argument as
      	file handle.  Add and handle file_encoding argument.
      	* check_GNU_style.py (main): Handle '-' file argument.  Call
      	check_GNU_style_file with file handle as argument.
      
      From-SVN: r248555
      Tom de Vries committed
    • check_GNU_style_lib.py: Suggest to install all missing pip3 packages at once · 76baf5ca
      Instead of:
      ...
      $ ./contrib/check_GNU_style.py
      termcolor module is missing (run: pip3 install termcolor)
      $ pip3 install termcolor
      $ ./contrib/check_GNU_style.py
      unidiff module is missing (run: pip3 install unidiff)
      $ pip3 install unidiff
      $
      ...
      
      Do:
      ...
      $ ./contrib/check_GNU_style.py
      termcolor and unidiff modules are missing (run: pip3 install termcolor unidiff)
      $ pip3 install termcolor unidiff
      $
      ...
      
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py: Use import_pip3 to import pip3 packages.
      	(import_pip3): New function.
      
      From-SVN: r248554
      Tom de Vries committed
    • re PR fortran/37131 (inline matmul for small matrix sizes) · bbe3927b
      2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37131
      	* frontend-passes.c (check_conjg_transpose_variable):
      	Add prototype.
      	(has_dimen_vector_ref):  Likewise
      	(matmul_temp_args):  New function. Add prototype.
      	(optimize_namespace):  Call matmul_temp_args.
      
      2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37131
      	* gfortran.dg/promotion_2.f90: Add -finline-matmul-limit=0 to
      	flags.
      	* gfortran.dg/transpose_optimization_1.f90: Likewise.
      	* gfortran.dg/inline_matmul_17.f90:  New test.
      
      From-SVN: r248553
      Thomas Koenig committed
    • Daily bump. · 3779a0f8
      From-SVN: r248552
      GCC Administrator committed
  3. 28 May, 2017 3 commits