1. 07 Dec, 2017 5 commits
    • rs6000: Initialise rs6000_cpu correctly (PR43871) · d78d986b
      Finally, set rs6000_cpu based not on -mtune=, but only -mcpu= and the
      defaults.
      
      
      	PR target/43871
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
      	rs6000_cpu to the given -mcpu=, or to the default processor.
      
      From-SVN: r255464
      Segher Boessenkool committed
    • rs6000: Don't use rs6000_cpu_attr directly · 39f88700
      In some places in the code we currently use rs6000_cpu_attr, although
      that is a cast from rs6000_tune.  This patch changes things to be more
      regular and clearer.  Now rs6000_cpu_attr is not used any more, and
      it is deleted.
      
      
      	* config/rs6000/rs6000.h (rs6000_cpu_attr): Delete.
      	* config/rs6000/rs6000.c (rs6000_variable_issue_1): Use rs6000_tune
      	instead of rs6000_cpu_attr.
      	(rs6000_adjust_cost): Ditto.
      	(is_microcoded_insn): Ditto.
      	(rs6000_adjust_priority): Ditto.
      	(rs6000_issue_rate): Ditto.
      	(rs6000_use_sched_lookahead): Ditto.
      	(rs6000_use_sched_lookahead_guard): Ditto.
      	(rs6000_sched_reorder): Ditto.
      	(force_new_group): Ditto.
      	* config/rs6000/rs6000.md (cpu attribute): Ditto.
      	(group_ending_nop): Ditto.
      
      From-SVN: r255463
      Segher Boessenkool committed
    • rs6000: Split rs6000_cpu · 793fa2a4
      This splits rs6000_cpu into rs6000_cpu and rs6000_tune.  Both are still
      initialised identically, so there is no behaviour change.
      
      Now rs6000_cpu should be set by -mcpu=, and rs6000_tune by -mtune= (but
      both still are set by -mtune=, fixed in a later patch in the series).
      
      Also change rs6000_cpu to rs6000_tune in the appropriate cases (i.e.
      most, but not those that enable using new insns).
      
      
      	* config/rs6000/rs6000.opt (rs6000_tune): New variable.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Also set
      	rs6000_tune.  Use rs6000_tune instead of rs6000_cpu where appropriate.
      	(rs6000_loop_align): Use rs6000_tune instead of rs6000_cpu where
      	appropriate.
      	(rs6000_reassociation_width): Ditto.
      	(rs6000_emit_epilogue): Ditto.
      	(rs6000_adjust_cost): Ditto.
      	(is_microcoded_insn): Ditto.
      	(is_cracked_insn): Ditto.
      	(rs6000_adjust_priority): Ditto.
      	(rs6000_sched_reorder): Ditto.
      	(rs6000_sched_reorder2): Ditto.
      	(insn_must_be_first_in_group): Ditto.
      	(insn_must_be_last_in_group): Ditto.
      	(rs6000_register_move_cost): Ditto.
      	* config/rs6000/rs6000.h (rs6000_cpu_attr): Use rs6000_tune instead of
      	rs6000_cpu.
      
      From-SVN: r255462
      Segher Boessenkool committed
    • Enable VAES support [2/5] · 69ddc3e5
      gcc/
      	* config.gcc: Add vaesintrin.h.
      	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI): New type.
      	* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
      	__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi): New builtins.
      	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
      	* config/i386/immintrin.h: Include vaesintrin.h.
      	* config/i386/sse.md (vaesdec_<mode>): New pattern.
      	* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
      	_mm_aesdec_epi128): New intrinsics.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512-check.h: Handle bit_VAES.
      	* gcc.target/i386/avx512f-aesdec-2.c: New test.
      	* gcc.target/i386/avx512fvl-vaes-1.c: Ditto.
      	* gcc.target/i386/avx512vl-aesdec-2.c: Ditto.
      	* gcc.target/i386/i386.exp (check_effective_target_avx512vaes): New.
      
      From-SVN: r255461
      Julia Koval committed
    • Daily bump. · 38fed05a
      From-SVN: r255460
      GCC Administrator committed
  2. 06 Dec, 2017 20 commits
    • re PR tree-optimization/69224 (-Warray-bounds false positive with -O3 and struct pointer parameter) · 73984383
      	PR tree-optimization/69224
      	PR tree-optimization/80907
      	PR tree-optimization/82286
      	* gcc.dg/pr69224.c: New test.
      	* gcc.dg/pr80907.c: New test.
      	* gcc.dg/pr82286.c: New test.
      
      From-SVN: r255457
      Jeff Law committed
    • re PR c++/80259 (ICE deleting friend function) · 91c95da8
      	PR c++/80259
      	* decl2.c (grokfield): Diagnose = delete redefinition of a friend.
      
      	* g++.dg/cpp0x/pr80259.C: New test.
      
      From-SVN: r255456
      Jakub Jelinek committed
    • Correct argument to targetm.calls.promote_prototypes. · c25ac927
      	* call.c (convert_for_arg_passing): Pass NULL_TREE to
      	targetm.calls.promote_prototypes.
      	(type_passed_as): Likewise.
      
      From-SVN: r255455
      Jason Merrill committed
    • PR c++/82115 - ICE with variable initialized with its own address. · c965919a
      	* pt.c (value_dependent_expression_p): Add lval parameter.  Don't
      	consider DECL_INITIAL if it's true.
      
      From-SVN: r255454
      Jason Merrill committed
    • C/C++: don't suggest implementation names as spelling fixes (PR c/83236) · c79144f8
      gcc/c-family/ChangeLog:
      	PR c/83236
      	* c-common.c (selftest::c_family_tests): Call
      	selftest::c_spellcheck_cc_tests.
      	* c-common.h (selftest::c_spellcheck_cc_tests): New decl.
      	* c-spellcheck.cc: Include "selftest.h".
      	(name_reserved_for_implementation_p): New function.
      	(should_suggest_as_macro_p): New function.
      	(find_closest_macro_cpp_cb): Move the check for NT_MACRO to
      	should_suggest_as_macro_p and call it.
      	(selftest::test_name_reserved_for_implementation_p): New function.
      	(selftest::c_spellcheck_cc_tests): New function.
      	* c-spellcheck.h (name_reserved_for_implementation_p): New decl.
      
      gcc/c/ChangeLog:
      	PR c/83236
      	* c-decl.c (lookup_name_fuzzy): Don't suggest names that are
      	reserved for use by the implementation.
      
      gcc/cp/ChangeLog:
      	PR c/83236
      	* name-lookup.c (consider_binding_level): Don't suggest names that
      	are reserved for use by the implementation.
      
      gcc/testsuite/ChangeLog:
      	PR c/83236
      	* c-c++-common/spellcheck-reserved.c: New test case.
      
      From-SVN: r255453
      David Malcolm committed
    • Move macro-spellchecking code from "gcc" to new files in c-family · 613bc14f
      The code for spellchecking macros really belongs in c-family, rather
      than in gcc/spellcheck-tree.c, so this patch moves it there.
      
      gcc/ChangeLog:
      	* Makefile.in (C_COMMON_OBJS): Add c-family/c-spellcheck.o.
      	* spellcheck-tree.c (find_closest_macro_cpp_cb): Move to
      	c-family/c-spellcheck.cc.
      	(best_macro_match::best_macro_match): Likewise.
      	* spellcheck-tree.h
      	(struct edit_distance_traits<cpp_hashnode *>): Move to
      	c-family/c-spellcheck.h.
      	(class best_macro_match): Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-spellcheck.cc: New file, taken from macro-handling code in
      	spellcheck-tree.c.
      	* c-spellcheck.h: New file, taken from macro-handling code in
      	spellcheck-tree.h.
      
      gcc/c/ChangeLog:
      	* c-decl.c: Include "c-family/c-spellcheck.h".
      
      gcc/cp/ChangeLog:
      	* name-lookup.c: Include "c-family/c-spellcheck.h".
      
      From-SVN: r255452
      David Malcolm committed
    • re PR tree-optimization/83293 (ICE: in gsi_insert_seq_nodes_after, at gimple-iterator.c:278) · 06f97084
      	PR tree-optimization/83293
      	* gimple-ssa-strength-reduction.c (insert_initializers): Use
      	GSI_NEW_STMT instead of GSI_SAME_STMT in gsi_insert_after that
      	might insert into empty bb.
      
      	* g++.dg/torture/pr83293.C: New test.
      
      From-SVN: r255451
      Jakub Jelinek committed
    • PR testsuite/83303 - FAIL: g++.dg/opt/new1.C on arm-none-eabi · bf8ce85a
      PR testsuite/83303 - FAIL: g++.dg/opt/new1.C on arm-none-eabi
      (extra -Walloc-size-larger-than warning
      
      	* g++.dg/opt/new1.C: Prune warning from test output.
      
      From-SVN: r255450
      Martin Sebor committed
    • re PR sanitizer/81281 (UBSAN: false positive, dropped promotion to long type.) · d7f44d4d
      	PR sanitizer/81281
      	* match.pd ((T)(P + A) - (T)P -> (T) A): Split into separate
      	simplify for plus with :c added, and pointer_plus without that.
      	((T)P - (T)(P + A) -> -(T) A): Likewise.  If type is integral
      	with undefined overflow and the conversion is not widening,
      	perform negation in utype and only convert to type afterwards.
      	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Split into separate
      	simplify for plus with :c added, and pointer_plus without that.
      	If type is integral with undefined overflow and the conversion is
      	not widening, perform minus in utype and only convert to type
      	afterwards.  Move the last pointer_diff_expr simplify into the
      	two outermost ifs.
      
      	* gcc.c-torture/execute/pr81281.c: New test.
      	* gcc.dg/pr81281-1.c: New test.
      	* gcc.dg/pr81281-2.c: New test.
      	* g++.dg/ubsan/pr81281.C: New test.
      	* g++.dg/ubsan/pr81281-aux.cc: New test.
      
      From-SVN: r255449
      Jakub Jelinek committed
    • PR tree-optimization/82646 - bogus -Wstringop-overflow with -D_FORTIFY_SOURCE=2… · 9c1caf50
      PR tree-optimization/82646 - bogus -Wstringop-overflow with -D_FORTIFY_SOURCE=2 on strncpy with range to a member array
      
      gcc/ChangeLog:
      
      	PR tree-optimization/82646
      	* builtins.c (maybe_emit_chk_warning): Use size as the bound for
      	strncpy, not maxlen.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/82646
      	* gcc.dg/builtin-stringop-chk-1.c: Adjust.
      	* gcc.dg/builtin-stringop-chk-9.c: New test.
      	* g++.dg/ext/strncpy-chk1.C: Adjust.
      
      From-SVN: r255448
      Martin Sebor committed
    • invoke.texi (-Wstringop-truncation): Mention attribute nonstring. · 8a797929
      gcc/ChangeLog:
      
      	* doc/invoke.texi (-Wstringop-truncation): Mention attribute
      	nonstring.
      
      From-SVN: r255447
      Martin Sebor committed
    • PR tree-optimization/83075 - Invalid strncpy optimization · 25b15e95
      gcc/ChangeLog:
      
      	PR tree-optimization/83075
      	* tree-ssa-strlen.c (handle_builtin_stxncpy): Avoid assuming
      	strncat/strncpy don't change length of source string.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/83075
      	* gcc.dg/tree-ssa/strncat.c: New test.
      	* gcc.dg/tree-ssa/strncpy-2.c: Same.
      
      From-SVN: r255446
      Martin Sebor committed
    • libgo: remove -fplan9-extensions from CFLAGS · 4c413747
          
          Remove -fplan9-extensions from the CFLAGS used for libgo (no
          longer needed since the runtime was converted from C to Go).
          
          Reviewed-on: https://go-review.googlesource.com/82177
      
      From-SVN: r255445
      Ian Lance Taylor committed
    • pr41305.C: Refine test option. · 8a8493ab
      	gcc/testsuite
      	* g++.dg/graphite/pr41305.C: Refine test option.
      	* gcc.dg/graphite/pr42205-1.c: Ditto.
      	* gcc.dg/graphite/pr42205-2.c: Ditto.
      	* gcc.dg/graphite/pr42211.c: Ditto.
      	* gcc.dg/graphite/pr46185.c: Ditto.
      	* gcc.dg/graphite/pr46966.c: Ditto.
      	* gcc.dg/graphite/pr59817-1.c: Ditto.
      	* gcc.dg/graphite/pr59817-2.c: Ditto.
      	* gcc.dg/graphite/pr60740.c: Ditto.
      	* gcc.dg/graphite/pr60785.c: Ditto.
      	* gcc.dg/graphite/pr68715-2.c: Ditto.
      	* gcc.dg/graphite/pr68715.c: Ditto.
      	* gcc.dg/graphite/pr70045.c: Ditto.
      	* gfortran.dg/graphite/pr14741.f90: Ditto.
      	* gfortran.dg/graphite/pr40982.f90: Ditto.
      	* gfortran.dg/graphite/pr42285.f90: Ditto.
      	* gfortran.dg/graphite/pr42334-1.f: Ditto.
      	* gfortran.dg/graphite/pr42334.f90: Ditto.
      	* gfortran.dg/graphite/pr43349.f: Ditto.
      	* gfortran.dg/graphite/pr59817.f: Ditto.
      
      From-SVN: r255444
      Bin Cheng committed
    • [ARM] testsuite: force hardfp in addr-modes-float.c · cff4e414
      gcc/testsuite/ChangeLog:
      
      <date>  Charles Baylis  <charles.baylis@linaro.org>
      
      	* gcc.target/arm/addr-modes-float.c: Place dg-add-options after
             	dg-require-effective-target.
             	(ATTR): New define.
             	(POST_STORE): Pass ATTR as 2nd argument.
             	(POST_LOAD): Likewise.
             	(POST_STORE_VEC): Likewise.
             	* gcc.target/arm/addr-modes-int.c (ATTR): New define.
             	(PRE_STORE): Pass ATTR as 2nd argument.
             	(POST_STORE): Likewise.
             	(PRE_LOAD): Likewise.
             	(POST_LOAD): Likewise.
             	* gcc.target/arm/addr-modes.h:  (PRE_STORE): New parameter.
             	(POST_STORE): Likewise.
             	(POST_STORE_VEC): Likewise.
             	(PRE_LOAD): Likewise.
             	(POST_LOAD): Likewise.
             	(POST_LOAD_VEC): Likewise.
      
      From-SVN: r255443
      Charles Baylis committed
    • compiler: handle set-and-use-temp in nilcheck code · 4c6f5562
          
          Change the code in Unary_expression::do_get_backend that introduces
          explicit nil checks for dereference operations to special case
          set-and-use-temporary expressions. For this case it is better to
          generate an explicit reference of the temp in the final conditional
          (avoids introducing tree sharing).
          
          Reviewed-on: https://go-review.googlesource.com/81915
      
      From-SVN: r255442
      Ian Lance Taylor committed
    • re PR ada/66205 (gnatbind generates invalid code when finalization is enabled in… · 40242256
      re PR ada/66205 (gnatbind generates invalid code when finalization is enabled in restricted runtime)
      
      	PR ada/66205
      	* bindgen.adb (Gen_AdaFinal): If the restriction No_Task_Termination is
      	set, generate a null body.
      
      From-SVN: r255441
      Simon Wright committed
    • Revert · 67acacee
      	2017-11-29  Martin Aberg  <maberg@gaisler.com>
      
      	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
      	to prevent b2bst errata sequence.
      	(sqrtdf2_fix): Likewise.
      
      From-SVN: r255439
      Eric Botcazou committed
    • re PR tree-optimization/81945 (ICE in operator[], at vec.h:749) · 650a8fcf
      	PR tree-optimization/81945
      	* cfgloop.h (FOR_EACH_LOOP_FN): Use FN instead of hardcoding fn.
      	* tree-cfg.c (move_sese_region_to_fn): If any of the loops moved
      	to dest_cfun has orig_loop_num set, either remap it to the new
      	loop number if the loop got moved too, or clear it.
      
      	* gcc.dg/graphite/pr81945.c: New test.
      
      From-SVN: r255438
      Jakub Jelinek committed
    • Daily bump. · c3ad2f62
      From-SVN: r255437
      GCC Administrator committed
  3. 05 Dec, 2017 15 commits