1. 21 Jun, 2017 28 commits
    • Fix variant selection in dg-cmp-results.sh · 1e55769b
      2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          contrib/
          * dg-cmp-results.sh: Restore filtering on target variant.
      
      From-SVN: r249463
      Thomas Preud'homme committed
    • MAINTAINERS: Add myself as maintainer for PowerPC SPE port. · 827c925e
             * MAINTAINERS: Add myself as maintainer for PowerPC SPE port.
      
      From-SVN: r249462
      Andrew Jenner committed
    • C++: Add fix-it hints for -Wold-style-cast · 113459fa
      gcc/cp/ChangeLog:
      	* parser.c (get_cast_suggestion): New function.
      	(maybe_add_cast_fixit): New function.
      	(cp_parser_cast_expression): Capture the location of the closing
      	parenthesis.  Call maybe_add_cast_fixit when emitting warnings
      	about old-style casts.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/other/old-style-cast-fixits.C: New test case.
      
      From-SVN: r249461
      David Malcolm committed
    • aarch64-cost-tables.h (thunderx_extra_costs): Increment Arith_shift and Arith_shift_reg by 1. · b10f1009
      2017-06-21  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
              Increment Arith_shift and Arith_shift_reg by 1.
              * config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
              New tuning flag.
              * config/aarch64/aarch64.c (thunderx_tunings): Enable
              AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
              (aarch64_strip_extend): Add new argument and test for it.
              (aarch64_cheap_mult_shift_p): New function.
              (aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
              add a cost if it is true.
              Update calls to aarch64_strip_extend.
              (aarch64_rtx_costs): Update calls to aarch64_strip_extend.
      
      From-SVN: r249459
      Andrew Pinski committed
    • aarch64-cores.def (thunderxt88p1): Use thunderxt88 tunings. · f1e247d0
      2017-06-21  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64-cores.def (thunderxt88p1): Use thunderxt88
              tunings.
              (thunderxt88): Likewise.
              * config/aarch64/aarch64.c (thunderxt88_prefetch_tune): New variable.
              (thunderx_prefetch_tune): New variable.
              (thunderx2t99_prefetch_tune): Update for the correct values.
              (thunderxt88_tunings): New variable.
              (thunderx_tunings): Use thunderx_prefetch_tune instead of
              generic_prefetch_tune.
              (thunderx2t99_tunings): Use AUTOPREFETCHER_WEAK.
      
      From-SVN: r249458
      Andrew Pinski committed
    • [AArch64] Fix atomic_cmp_exchange_zero_reg_1.c with +lse · 2c0113fd
      	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>_lse,
      	SHORT): Relax operand 3 to aarch64_reg_or_zero and constraint to Z.
      	(aarch64_compare_and_swap<mode>_lse, GPI): Likewise.
      	(aarch64_atomic_cas<mode>, SHORT): Likewise for operand 2.
      	(aarch64_atomic_cas<mode>, GPI): Likewise.
      
      From-SVN: r249457
      Kyrylo Tkachov committed
    • * g++.dg/cpp0x/constexpr-cast.C: Adjust dg-error for ILP32. · 5e9d501c
      From-SVN: r249455
      Jakub Jelinek committed
    • Update baseline symbols for aarch64-none-linux-gnu · 6bea305b
             * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate
      
      From-SVN: r249454
      Ramana Radhakrishnan committed
    • Support dg-add-options in profopt.exp · 27d33d3e
      2017-06-21  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/profopt.exp (profopt-get-options): Support dg-add-options.
      
      From-SVN: r249453
      Tom de Vries committed
    • Fix warning in gcc.dg/tree-prof/comp-goto-1.c · 5433db45
      2017-06-21  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/tree-prof/comp-goto-1.c: Fix 'return type defaults to int'
      	warning.
      
      From-SVN: r249452
      Tom de Vries committed
    • Rework cold and hot label attributes in predict.c. · 93c18375
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
      	statements on cold and hot labels.
      	* predict.c (tree_estimate_probability_bb): Remove the
      	prediction from this place.
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update scanned patterns.
      
      From-SVN: r249451
      Martin Liska committed
    • Make early return predictor more precise. · e59a1c22
      2017-06-21  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/79489
      	* gimplify.c (maybe_add_early_return_predict_stmt): New
      	function.
      	(gimplify_return_expr): Call the function.
      	* predict.c (tree_estimate_probability_bb): Remove handling
      	of early return.
      	* predict.def: Update comment about early return predictor.
      	* gimple-predict.h (is_gimple_predict): New function.
      	* predict.def: Change default value of early return to 66.
      	* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
      	statements.
      	* passes.def: Put pass_strip_predict_hints to the beginning of
      	IPA passes.
      
      From-SVN: r249450
      Martin Liska committed
    • DWARF: make it possible to emit debug info for declarations only · ff9baa5f
      The DWARF back-end used to systematically ignore file-scope function and
      variable declarations.  While this is justified in language like C/C++,
      where such declarations can appear in several translation units and thus
      bloat uselessly the debug info, this behavior is counter-productive in
      languages with a well-defined module system.  Specifically, it prevents
      the description of imported entities, that belong to foreign languages,
      making them unavailable from debuggers.
      
      Take for instance:
      
          package C_Binding is
              function My_C_Function (I : Integer) return Integer;
              pragma Import (C, My_C_Function, "my_c_function");
          end C_Binding;
      
      This makes available for Ada programs the C function "my_c_function"
      under the following name: C_Binding.My_C_Function.  When GCC compiles
      it, though, it is represented as a FUNCTION_DECL node with DECL_EXTERNAL
      set and a null DECL_INITIAL, which used to be discarded unconditionally
      in the DWARF back-end.
      
      This patch moves such filter from the DWARF back-end to the relevant
      callers: passes.c:rest_of_decl_compilation and
      godump.c:go_early_global_decl. It also This patch also updates the Ada
      front-end to call debug hooks for functions such as in the above
      example, so that we do generate debugging information for them.
      
      gcc/
      	* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
      	FUNCTION_DECL declarations.
      	(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
      	declarations.
      	(dwaf2out_decl): Likewise.
      	* godump.c (go_early_global_decl): Skip call to the real debug hook
      	for FUNCTION_DECL declarations.
      	* passes.c (rest_of_decl_compilation): Skip call to the
      	early_global_decl debug hook for FUNCTION_DECL declarations, unless
      	-fdump-go-spec is passed.
      
      gcc/ada/
      	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
      	notice.  New macro.
      	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
      	as a definition.
      	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
      	definition.
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
      	imported subprograms for the current compilation unit as
      	definitions.  Disable debug info for references to variables.
      	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
      	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
      	not built-in functions to their binding scope.
      	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
      	the function as a definition.  Update all callers.
      	(gnat_write_global_declarations): Emit debug info for imported
      	functions.  Filter out external variables for which debug info
      	is disabled.
      
      gcc/testsuite/
      	* gnat.dg/debug11_pkg.adb, gnat.dg/debug11_pkg.ads,
      	gnat.dg/debug11_pkg2.ads: New testcase.
      
      From-SVN: r249449
      Pierre-Marie de Rodat committed
    • [i386] __builtin_ia32_stmxcsr could be pure · a23ba8cc
      2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* config/i386/i386.c (struct builtin_isa): New field pure_p.
      	Reorder for compactness.
      	(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
      	(def_builtin_pure, def_builtin_pure2): New functions.
      	(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
      
      gcc/testsuite/
      	* gcc.target/i386/getround.c: New file.
      
      From-SVN: r249448
      Marc Glisse committed
    • NOP conversions in X+CST+CST · ed73f46f
      2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (nop_convert): New predicate.
      	((A +- CST1) +- CST2): Allow some NOP conversions.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/addadd.c: Un-XFAIL.
      	* gcc.dg/tree-ssa/addadd-2.c: New file.
      
      From-SVN: r249447
      Marc Glisse committed
    • line-map.c (location_adhoc_data_update): Perform addition in uintptr_t type… · 6d522731
      line-map.c (location_adhoc_data_update): Perform addition in uintptr_t type rather than char * type.
      
      	* line-map.c (location_adhoc_data_update): Perform addition in
      	uintptr_t type rather than char * type.  Read *data using
      	ptrdiff_t type instead of int64_t.
      	(get_combined_adhoc_loc): Change offset type to ptrdiff_t from
      	int64_t.
      
      From-SVN: r249446
      Jakub Jelinek committed
    • re PR c++/81130 (ICE OpenMP shared clause in gimplify_var_or_parm_decl, at gimplify.c:2584) · d54d1fc3
      	PR c++/81130
      	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
      	with ctors/dtors if GOVD_SHARED is set.
      
      	* testsuite/libgomp.c++/pr81130.C: New test.
      
      From-SVN: r249445
      Jakub Jelinek committed
    • Emit SIMD moves as mov · 9fe9816b
      SIMD moves are currently emitted as ORR.  Change this to use the MOV
      pseudo instruction just like integer moves (the ARM-ARM states MOV is the
      preferred disassembly), improving readability of -S output.
      
          gcc/
      	* config/aarch64/aarch64.md (movti_aarch64):
      	Emit mov rather than orr.
      	(movtf_aarch64): Likewise.
      	* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
      	Emit mov rather than orr.
      
      From-SVN: r249444
      Wilco Dijkstra committed
    • Improve dup pattern · dca19fe1
      Improve the dup pattern to prefer vector registers.  When doing a dup
      after a load, the register allocator thinks the costs are identical
      and chooses an integer load.  However a dup from an integer register
      includes an int->fp transfer which is not modelled.  Adding a '?' to
      the integer variant means the cost is increased slightly so we prefer
      using a vector register.  This improves the following example:
      
      #include <arm_neon.h>
      void f(unsigned *a, uint32x4_t *b)
      {
        b[0] = vdupq_n_u32(a[1]);
        b[1] = vdupq_n_u32(a[2]);
      }
      
      to:
              ldr     s0, [x0, 4]
              dup     v0.4s, v0.s[0]
              str     q0, [x1]
              ldr     s0, [x0, 8]
              dup     v0.4s, v0.s[0]
              str     q0, [x1, 16]
              ret
      
          gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
      	Swap alternatives, make integer dup more expensive.
      
      From-SVN: r249443
      Wilco Dijkstra committed
    • Mark symbols as constant · f28e54bd
      Aarch64_legitimate_constant_p currently returns false for symbols,
      eventhough they are always valid constants.  This means LOSYM isn't
      CSEd correctly.  If we return true CSE works better, resulting in
      smaller/faster code (0.3% smaller code on SPEC2006).  Avoid this
      for TLS symbols since their sequence is complex.
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
      	Return true for non-tls symbols.
      
      From-SVN: r249442
      Wilco Dijkstra committed
    • [Patch AArch64] Add initial tuning support for Cortex-A55 and Cortex-A75 · 9a85b75f
      This patch adds support for the ARM Cortex-A75 and
      Cortex-A55 processors through the -mcpu/-mtune values cortex-a55 and
      cortex-a75, and an ARM DynamIQ big.LITTLE configuration of these two
      processors through the -mcpu/-mtune value cortex-a75.cortex-a55
      
      The ARM Cortex-A75 is ARM's latest and highest performance applications
      processor. For the initial tuning provided in this patch, I have chosen to
      share the tuning structure with its predecessor, the Cortex-A73.
      
      The ARM Cortex-A55 delivers the best combination of power efficiency
      and performance in its class. For the initial tuning provided in this patch,
      I have chosen to share the tuning structure with its predecessor, the
      Cortex-A53.
      
      Both Cortex-A55 and Cortex-A75 support ARMv8-A with the ARM8.1-A and
      ARMv8.2-A extensions, along with the cryptography extension, and
      the RCPC extensions from ARMv8.3-A. This is reflected in the patch,
      -mcpu=cortex-a75 is treated as equivalent to passing -mtune=cortex-a75
      -march=armv8.2-a+rcpc .
      
      2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* config/aarch64/aarch64-cores.def (cortex-a55): New.
      	(cortex-a75): Likewise.
      	(cortex-a75.cortex-a55): Likewise.
      	* config/aarch64/aarch64-tune.md: Regenerate.
      	* doc/invoke.texi (-mtune): Document new values for -mtune.
      
      From-SVN: r249441
      James Greenhalgh committed
    • Add dg-add-options feature stack_size · 6b92ab17
      2017-06-21  Tom de Vries  <tom@codesourcery.com>
      
      	* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
      	stack_size feature.
      	(Effective-Target Keywords, Other attributes): Suggest using
      	dg-add-options stack_size feature to get stack limit in stack_size
      	effective target documentation.
      
      	* lib/target-supports.exp (add_options_for_stack_size): New proc.
      	* gcc.c-torture/execute/920501-7.c: Use dg-add-options stack_size.
      	* gcc.c-torture/compile/20080806-1.c: Same.
      	* gcc.c-torture/compile/920723-1.c: Same.
      	* gcc.c-torture/compile/930621-1.c: Same.
      	* gcc.c-torture/compile/991214-2.c: Same.
      	* gcc.c-torture/compile/bcopy.c: Same.
      	* gcc.c-torture/compile/memtst.c: Same.
      	* gcc.c-torture/compile/msp.c: Same.
      	* gcc.c-torture/compile/stuct.c: Same.
      	* gcc.c-torture/execute/20011008-3.c: Same.
      	* gcc.c-torture/execute/20030209-1.c: Same.
      	* gcc.c-torture/execute/20031012-1.c: Same.
      	* gcc.c-torture/execute/20040805-1.c: Same.
      	* gcc.c-torture/execute/920410-1.c: Same.
      	* gcc.c-torture/execute/921113-1.c: Same.
      	* gcc.c-torture/execute/921202-1.c: Same.
      	* gcc.c-torture/execute/921208-2.c: Same.
      	* gcc.c-torture/execute/930106-1.c: Same.
      	* gcc.c-torture/execute/930406-1.c: Same.
      	* gcc.c-torture/execute/950221-1.c: Same.
      	* gcc.c-torture/execute/960521-1.c: Same.
      	* gcc.c-torture/execute/980605-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-2.c: Same.
      	* gcc.c-torture/execute/memcpy-1.c: Same.
      	* gcc.c-torture/execute/multi-ix.c: Same.
      	* gcc.c-torture/execute/nestfunc-4.c: Same.
      	* gcc.c-torture/execute/pr20621-1.c: Same.
      	* gcc.c-torture/execute/pr23135.c: Same.
      	* gcc.c-torture/execute/pr28982b.c: Same.
      	* gcc.dg/loop-3.c: Same.
      	* gcc.dg/struct-ret-3.c: Same.
      	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
      	* gcc.dg/tree-prof/comp-goto-1.c: Same.
      	* gcc.dg/tree-prof/pr44777.c: Same.
      
      From-SVN: r249440
      Tom de Vries committed
    • PR libstdc++/81092 Regenerate configure for libtool_VERSION change · ed39d22d
      	PR libstdc++/81092
      	* configure: Regenerate.
      
      From-SVN: r249438
      Jonathan Wakely committed
    • configure.ac: Add AC_SYS_LARGEFILE. · e91a2ddc
      2017-06-21  Richard Biener  <rguenther@suse.de>
      
      	* configure.ac: Add AC_SYS_LARGEFILE.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r249436
      Richard Biener committed
    • re PR gcov-profile/81080 (target libgcov not built with large file support) · a51a76e5
      2017-06-21  Richard Biener  <rguenther@suse.de>
      
      	PR gcov-profile/81080
      	* configure.ac: Add AC_SYS_LARGEFILE.
      	* libgcov.h: Include auto-target.h before tsystem.h to pick
      	up _FILE_OFFSET_BITS which might differ for multilibs.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r249435
      Richard Biener committed
    • Update the ChangeLog to include config/arm/cortex-a53.md · e2bb0ed0
      	and config/arm/exynos-m1.md modifications
      
      From-SVN: r249434
      Naveen H.S committed
    • * config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi) · a2074e9c
      	(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
      	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
      	reservation.
      	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
      	attribute type list for neon_multiply.
      	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
      	* config/arm/types.md (crypto_pmull): Add.
      	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
      	attribute type list.
      
      
      Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>
      
      From-SVN: r249433
      Julian Brown committed
    • Daily bump. · 12d0fd3f
      From-SVN: r249432
      GCC Administrator committed
  2. 20 Jun, 2017 12 commits