Richard Biener [Fri, 15 Jan 2016 11:49:43 +0000 (11:49 +0000)]
re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails since r231674)
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/68961
* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
of invariants in stores again.
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase.
From-SVN: r232415
Sebastian Huber [Fri, 15 Jan 2016 11:29:12 +0000 (11:29 +0000)]
[RTEMS] Add Cortex-M7 multilib for FPU support
gcc/ChangeLog
* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
From-SVN: r232414
Ilya Enkovich [Fri, 15 Jan 2016 11:04:25 +0000 (11:04 +0000)]
i386.c (ix86_expand_branch): Don't split DI mode xor instruction to SI mode.
gcc/
* config/i386/i386.c (ix86_expand_branch): Don't split
DI mode xor instruction to SI mode.
gcc/testsuite/
* gcc.target/i386/pr65105-5.c: New test.
From-SVN: r232413
Jan Hubicka [Fri, 15 Jan 2016 11:02:29 +0000 (12:02 +0100)]
* gcc.c-torture/execute/alias-4.c: New testcase.
From-SVN: r232411
Jan Hubicka [Fri, 15 Jan 2016 11:00:24 +0000 (12:00 +0100)]
re PR ipa/68148 (Devirtualization only applies to last of multiple successive calls)
PR ipa/68148
* ipa-icf.c (sem_function::merge): Virtual functions may become
reachable even if they address is not taken and there are no
idrect calls.
* g++.dg/ipa/devirt-49.C: New testcase.
From-SVN: r232410
Jan Hubicka [Fri, 15 Jan 2016 09:57:02 +0000 (10:57 +0100)]
lto-streamer-out.c (subtract_estimated_size): New function.
* lto-streamer-out.c (subtract_estimated_size): New function.
(get_symbol_initial_value): Use it.
From-SVN: r232407
Christian Bruel [Fri, 15 Jan 2016 09:02:15 +0000 (10:02 +0100)]
fix time shift again
From-SVN: r232405
Christian Bruel [Fri, 15 Jan 2016 08:57:22 +0000 (09:57 +0100)]
fix time shift
From-SVN: r232404
Christian Bruel [Fri, 15 Jan 2016 08:46:49 +0000 (09:46 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
gcc
2015-01-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
use add_builtin_function_ext_scope instead of add_builtin_function.
(neon_set_p, neon_crypto_set_p): Remove.
(arm_init_builtins): Always call arm_init_neon_builtins and
arm_init_crypto_builtins.
(arm_expand_builtin): Check that builtins are allowed for the arch.
* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
arm_init_neon_builtins call.
gcc/testsuite
2015-01-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* gcc.target/arm/attr-neon-builtin-fail2.c: New test.
* gcc.target/arm/lto/pr65837-attr_0.c: New test.
* gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name.
From-SVN: r232403
Nick Clifton [Fri, 15 Jan 2016 08:18:13 +0000 (08:18 +0000)]
t-msp430 (lib2_mul_none.o): Only use the first dependency as the source file to be compiled.
* config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
dependency as the source file to be compiled.
(lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
(lib2hw_mul_f5.o): Likewise.
From-SVN: r232402
Richard Biener [Fri, 15 Jan 2016 08:16:08 +0000 (08:16 +0000)]
re PR tree-optimization/69117 (wrong code at -O1 -fstrict-aliasing)
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69117
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
of the leader conservatively.
(free_scc_vn): Restore original SSA name infos.
* gcc.dg/torture/pr69117.c: New testcase.
From-SVN: r232401
Jeff Law [Fri, 15 Jan 2016 02:45:44 +0000 (19:45 -0700)]
re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)
PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
single bit of precision, verify it's also unsigned.
(record_edge_info): Use constant_boolean_node rather than fold_convert
to convert boolean_true/boolean_false to the right type.
From-SVN: r232399
GCC Administrator [Fri, 15 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232398
Richard Henderson [Thu, 14 Jan 2016 23:12:53 +0000 (15:12 -0800)]
re PR rtl-optimization/69014 (gcc.c-torture/execute/991023-1.c FAILs with -Os -fmodulo-sched -fno-tree-vrp)
PR rtl-opt/69014
* loop-doloop.c (record_reg_sets): New.
(doloop_optimize): Reject the transform if the sequence
clobbers registers live at the end of the loop block.
(doloop_optimize_loops): Enable df_live if needed.
From-SVN: r232395
Jeff Law [Thu, 14 Jan 2016 22:45:10 +0000 (15:45 -0700)]
Fix minor whitespace problems in last commit
From-SVN: r232394
Ryan Burn [Thu, 14 Jan 2016 22:23:09 +0000 (22:23 +0000)]
[cilkplus] Fix cilk_spawn gimplification bug (PR cilkplus/69048)
PR c++/69048
* cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
to add missing cleanup point.
PR c++/69048
* g++.dg/cilk-plus/CK/pr69048.cc: New test.
From-SVN: r232393
Michael Meissner [Thu, 14 Jan 2016 21:54:16 +0000 (21:54 +0000)]
Revert 2016-01-13 change.
From-SVN: r232392
Jeff Law [Thu, 14 Jan 2016 21:43:20 +0000 (14:43 -0700)]
Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
typo.
From-SVN: r232391
Richard Henderson [Thu, 14 Jan 2016 21:36:12 +0000 (13:36 -0800)]
re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)
PR c/69272
PR tree-opt/68964
* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
instead of builtin_decl_declared_p to test for declaration.
From-SVN: r232390
Nicklas Bo Jensen [Thu, 14 Jan 2016 21:03:11 +0000 (21:03 +0000)]
loop.texi (Loop Analysis and Representation): Document loop_depth function.
* doc/loop.texi (Loop Analysis and Representation): Document
loop_depth function.
From-SVN: r232389
Andreas Tobler [Thu, 14 Jan 2016 20:27:49 +0000 (21:27 +0100)]
configure.ac: Replace the hard-coded -ldl requirement for link_sanitizer_common with a...
2016-01-14 Andreas Tobler <andreast@gcc.gnu.org>
* configure.ac: Replace the hard-coded -ldl requirement for
link_sanitizer_common with a configure time check for -ldl.
* configure: Regenerate.
From-SVN: r232385
Tom de Vries [Thu, 14 Jan 2016 20:01:39 +0000 (20:01 +0000)]
Mark symbols in offload tables with force_output in read_offload_tables
2016-01-14 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68773
* c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
set force_output.
* parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
set force_output.
* omp-low.c (expand_omp_target): Don't set force_output.
* varpool.c (varpool_node::get_create): Same.
* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
offload_funcs with force_output.
From-SVN: r232384
Francois-Xavier Coudert [Thu, 14 Jan 2016 19:58:17 +0000 (19:58 +0000)]
re PR testsuite/67509 (FAIL: gfortran.dg/ieee/ieee_7.f90 -O0 execution test)
PR testsuite/67509
* gfortran.dg/ieee/ieee_7.f90: For out of bound precision or
range tests use 100 * maximum instead of maximum + 1.
From-SVN: r232383
Jakub Jelinek [Thu, 14 Jan 2016 19:57:34 +0000 (20:57 +0100)]
re PR debug/69244 (ICE in plus_constant, at explow.c:87 on i686-linux-gnu)
PR debug/69244
* lra-eliminations.c (move_plus_up): Don't change anything if either
the outer or inner subreg mode is not MODE_INT.
* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
* gcc.dg/guality/pr69244.c: New test.
From-SVN: r232382
Uros Bizjak [Thu, 14 Jan 2016 19:53:25 +0000 (20:53 +0100)]
target-supports.exp (check_effective_target_issignaling): New procedure.
* lib/target-supports.exp (check_effective_target_issignaling):
New procedure.
* gcc.dg/pr61441.c: Require issignaling effective target.
From-SVN: r232381
Segher Boessenkool [Thu, 14 Jan 2016 19:24:28 +0000 (20:24 +0100)]
powerpc: Add some XFAILs to
20050603-3.c (PR68803)
In r230167 I made this testcase be tested on 64-bit as well, since it
now works. That was a tad optimistic for powerpc64le though. For now,
XFAIL it there.
PR target/68803
* gcc.target/powerpc/
20050603-3.c: Add xfails for powerpc64le.
From-SVN: r232380
David Malcolm [Thu, 14 Jan 2016 19:10:17 +0000 (19:10 +0000)]
PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation
gcc/c-family/ChangeLog:
PR c++/68819
* c-indentation.c (get_visual_column): Add location_t param.
Handle the column number being zero by effectively disabling the
warning, with an "inform".
(should_warn_for_misleading_indentation): Add location_t argument
for all uses of get_visual_column.
gcc/testsuite/ChangeLog:
PR c++/68819
PR preprocessor/69177
* gcc.dg/plugin/location-overflow-test-1.c: New test case.
* gcc.dg/plugin/location-overflow-test-2.c: New test case.
* gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
libcpp/ChangeLog:
PR preprocessor/69177
* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New
constant.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests
to comment.
(can_be_stored_compactly_p): Reduce threshold from
LINE_MAP_MAX_LOCATION_WITH_COLS to
LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES.
(get_combined_adhoc_loc): Likewise.
(get_range_from_loc): Likewise.
(linemap_line_start): Ensure that a new ordinary map is created
when transitioning from range-packing being enabled to disabled,
at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold. Set
range_bits to 0 for new ordinary maps when beyond this limit.
Prevent the "increase the column bits of a freshly created map"
optimization if the range bits has reduced.
From-SVN: r232379
Edward Smith-Rowland [Thu, 14 Jan 2016 18:12:43 +0000 (18:12 +0000)]
Implement TR29124 C++ special Math Functions.
2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
Florian Goth <CaptainSifff@gmx.de>
Implement TR29124 C++ special Math Functions.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/specfun.h: New.
* include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
* include/tr1/bessel_function.tcc: Ditto.
* include/tr1/beta_function.tcc: Ditto.
* include/tr1/cmath: Ditto.
* include/tr1/ell_integral.tcc: Ditto.
* include/tr1/exp_integral.tcc: Ditto.
* include/tr1/gamma.tcc: Ditto.
* include/tr1/hypergeometric.tcc: Ditto.
* include/tr1/legendre_function.tcc: Ditto.
* include/tr1/modified_bessel_func.tcc: Ditto.
* include/tr1/poly_hermite.tcc: Ditto.
* include/tr1/poly_laguerre.tcc: Ditto.
* include/tr1/riemann_zeta.tcc: Ditto.
* include/tr1/special_function_util.h: Ditto.
* testsuite/ext/special_functions/conf_hyperg: New.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
* testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
* testsuite/ext/special_functions/hyperg: New.
* testsuite/ext/special_functions/hyperg/check_nan.cc: New.
* testsuite/ext/special_functions/hyperg/check_value.cc: New.
* testsuite/ext/special_functions/hyperg/compile.cc: New.
* testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
* testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
* testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
* testsuite/special_functions/02_assoc_legendre/compile.cc: New.
* testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
* testsuite/special_functions/03_beta/check_nan.cc: New.
* testsuite/special_functions/03_beta/check_value.cc: New.
* testsuite/special_functions/03_beta/compile.cc: New.
* testsuite/special_functions/03_beta/compile_2.cc: New.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
* testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
* testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
* testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
* testsuite/special_functions/10_cyl_neumann/compile.cc: New.
* testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
* testsuite/special_functions/11_ellint_1/check_nan.cc: New.
* testsuite/special_functions/11_ellint_1/check_value.cc: New.
* testsuite/special_functions/11_ellint_1/compile.cc: New.
* testsuite/special_functions/11_ellint_1/compile_2.cc: New.
* testsuite/special_functions/12_ellint_2/check_nan.cc: New.
* testsuite/special_functions/12_ellint_2/check_value.cc: New.
* testsuite/special_functions/12_ellint_2/compile.cc: New.
* testsuite/special_functions/12_ellint_2/compile_2.cc: New.
* testsuite/special_functions/13_ellint_3/check_nan.cc: New.
* testsuite/special_functions/13_ellint_3/check_value.cc: New.
* testsuite/special_functions/13_ellint_3/compile.cc: New.
* testsuite/special_functions/13_ellint_3/compile_2.cc: New.
* testsuite/special_functions/14_expint/check_nan.cc: New.
* testsuite/special_functions/14_expint/check_value.cc: New.
* testsuite/special_functions/14_expint/compile.cc: New.
* testsuite/special_functions/14_expint/compile_2.cc: New.
* testsuite/special_functions/15_hermite/check_nan.cc: New.
* testsuite/special_functions/15_hermite/check_value.cc: New.
* testsuite/special_functions/15_hermite/compile.cc: New.
* testsuite/special_functions/15_hermite/compile_2.cc: New.
* testsuite/special_functions/16_laguerre/check_nan.cc: New.
* testsuite/special_functions/16_laguerre/check_value.cc: New.
* testsuite/special_functions/16_laguerre/compile.cc: New.
* testsuite/special_functions/16_laguerre/compile_2.cc: New.
* testsuite/special_functions/17_legendre/check_nan.cc: New.
* testsuite/special_functions/17_legendre/check_value.cc: New.
* testsuite/special_functions/17_legendre/compile.cc: New.
* testsuite/special_functions/17_legendre/compile_2.cc: New.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
* testsuite/special_functions/18_riemann_zeta/compile.cc: New.
* testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
* testsuite/special_functions/19_sph_bessel/check_value.cc: New.
* testsuite/special_functions/19_sph_bessel/compile.cc: New.
* testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
* testsuite/special_functions/20_sph_legendre/check_value.cc: New.
* testsuite/special_functions/20_sph_legendre/compile.cc: New.
* testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
* testsuite/special_functions/21_sph_neumann/check_value.cc: New.
* testsuite/special_functions/21_sph_neumann/compile.cc: New.
* testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
* testsuite/util/specfun_testcase.h: New.
* testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
* testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
Co-Authored-By: Florian Goth <CaptainSifff@gmx.de>
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r232377
Marek Polacek [Thu, 14 Jan 2016 17:46:25 +0000 (17:46 +0000)]
re PR c/69262 (Request for better array bounds warning)
PR c/69262
* c-decl.c (grokdeclarator): Provide more information for invalid
array declarations.
* gcc.dg/array-15.c: New test.
From-SVN: r232376
Alan Lawrence [Thu, 14 Jan 2016 16:30:56 +0000 (16:30 +0000)]
Tidy: remove reduc_xxx_optab migration code.
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
reduc_uplus_@var{m}): Remove.
* expr.c (expand_expr_real_2): Remove expansion path for
reduc_[us](min|max|plus) optabs.
* optabs-tree.c (scalar_reduc_to_vector): Remove.
* optabs-tree.h (scalar_reduc_to_vector): Remove.
* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
* tree-vect-loop.c (vectorizable_reduction): Remove test for
reduc_[us](min|max|plus) optabs.
From-SVN: r232373
Alan Lawrence [Thu, 14 Jan 2016 16:19:59 +0000 (16:19 +0000)]
[MIPS] Migrate reduction optabs in mips-ps-3d.md
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
(reduc_plus_scal_v2sf): New.
(reduc_smax_v2sf): Rename to...
(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
(reduc_smin_v2sf): Rename to...
(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
From-SVN: r232371
Jason Merrill [Thu, 14 Jan 2016 15:32:31 +0000 (10:32 -0500)]
re PR c++/69261 (Copying char arrays during constexpr evaluation does not work reliably)
PR c++/69261
* constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
From-SVN: r232370
Jan Hubicka [Thu, 14 Jan 2016 15:30:12 +0000 (16:30 +0100)]
alias.c (compare_base_symbol_refs): New function.
* alias.c (compare_base_symbol_refs): New function.
(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
it.
From-SVN: r232369
Jakub Jelinek [Thu, 14 Jan 2016 15:25:22 +0000 (16:25 +0100)]
re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)
PR middle-end/68146
PR tree-optimization/69155
* tree-complex.c: Include cfganal.h.
(phis_to_revisit): New variable.
(extract_component): Add phiarg_p argument. Assert that returned
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
(update_phi_components): Partly rewrite to use loop over real/imag
components instead of code duplication. If extract_component returns
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
create_tmp_reg into the PHI node instead, and mention the phi triplet
in phis_to_revisit.
(tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
in phis_to_revisit at the end.
* gfortran.dg/pr68146.f: New test.
* gfortran.dg/pr69155.f90: New test.
From-SVN: r232368
Richard Biener [Thu, 14 Jan 2016 15:13:19 +0000 (15:13 +0000)]
re PR tree-optimization/68060 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1413)
2016-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/68060
* tree-vect-loop.c (vect_is_simple_reduction): Check the
outer loop reduction is only used in the inner loop before
detecting a double reduction.
* gcc.dg/torture/pr68060-1.c: New testcase.
* gcc.dg/torture/pr68060-2.c: Likewise.
From-SVN: r232367
Jakub Jelinek [Thu, 14 Jan 2016 15:10:41 +0000 (16:10 +0100)]
re PR target/68269 (FAIL: gcc.dg/pr68129_1.c (internal compiler error))
PR target/68269
* combine.c (expand_field_assignment): Punt if compute_mode is
unsupported scalar mode.
From-SVN: r232366
Nick Clifton [Thu, 14 Jan 2016 15:05:29 +0000 (15:05 +0000)]
Update previous delta to ensure that the attributes are actually tested.
From-SVN: r232365
Richard Biener [Thu, 14 Jan 2016 14:51:35 +0000 (14:51 +0000)]
re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)
2016-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/66856
* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
SLP node only if it built successfully.
(vect_analyze_slp_instance): Adjust.
From-SVN: r232364
Nick Clifton [Thu, 14 Jan 2016 12:36:31 +0000 (12:36 +0000)]
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add an option
sequence that includes setting the ARM architecture to ARMv7-A.
* gcc.target/arm/attr-neon.c: Use dg-add-options to add the
command line options necessary to enable Neon support.
* gcc.target/arm/neon-vlshr-imm-1.c: Likewise.
* gcc.target/arm/neon-vshl-imm-1.c: Likewise.
* gcc.target/arm/neon-vshr-imm-1.c: Likewise.
* gcc.target/arm/pr69180.c: Likewise.
From-SVN: r232362
Jeff Law [Thu, 14 Jan 2016 07:38:18 +0000 (00:38 -0700)]
[PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
(record_edge_info): Use it. Convert boolean_{true,false}_node
to the type of op0.
PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270.c: New test.
From-SVN: r232361
GCC Administrator [Thu, 14 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232359
Jan Hubicka [Wed, 13 Jan 2016 23:47:45 +0000 (00:47 +0100)]
re PR c++/66487 (sanitizer/warnings for lifetime DSE)
PR ipa/66487
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
use block_ultimate_origin
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
From-SVN: r232356
Sandra Loosemore [Wed, 13 Jan 2016 23:27:48 +0000 (18:27 -0500)]
invoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to better reflect its content.
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Submodel Options): Rename section to
"Machine-Dependent Options" to better reflect its content.
Rewrite introductory text to remove archaic CPU names.
Update references.
From-SVN: r232355
Torvald Riegel [Wed, 13 Jan 2016 21:39:50 +0000 (21:39 +0000)]
libitm: Fix seq-cst MOs/fences in rwlock.
From-SVN: r232353
Sandra Loosemore [Wed, 13 Jan 2016 21:03:45 +0000 (16:03 -0500)]
invoke.texi (Code Gen Options): Move section up in file, before target-specific options.
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Code Gen Options): Move section up in file,
before target-specific options. Update menu and option summary
to reflect the new section ordering.
From-SVN: r232352
Jonathan Wakely [Wed, 13 Jan 2016 20:30:34 +0000 (20:30 +0000)]
Improve documentation of -std option for C++
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
(C++ Dialect Options): Add cross-reference to -std option.
* doc/standards.texi (C++ Language): Document C++14 support.
From-SVN: r232349
Michael Meissner [Wed, 13 Jan 2016 20:07:12 +0000 (20:07 +0000)]
rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.
[gcc]
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
for pack/unpack functions for __ibm128.
(PACK_IF): Likewise.
(UNPACK_IF): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
support for __ibm128 pack/unpack functions.
(rs6000_invalid_builtin): Likewise.
(rs6000_init_builtins): Likewise.
(rs6000_opt_masks): Likewise.
* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
functions
(RS6000_BTM_COMMON): Likewise.
* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
128-bit floating point. Add support for the double values to be
in Altivec registers for TF/IF packing and unpacking, but restrict
TD packing sub-fields to be FPR registers. Don't allow overlapped
register support for packing. Allow pack inputs to be memory
locations. Don't build generator functions for unpack<mode>_dm
and unpack<mode>_nodm.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
built-in functions to pack/unpack explicit __ibm128 values.
(__builtin_unpack_ibm128): Likewise.
* doc/extend.texi (PowerPC Built-in Functions): Document
__builtin_pack_ibm128 and __builtin_unpack_ibm128.
[libgcc]
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
Steven Munroe <munroesj@linux.vnet.ibm.com>
Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>
* config/rs6000/sfp-exceptions.c: New file to provide exception
support for IEEE 128-bit floating point.
* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
floating point hardware support.
* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
point conversions.
* config/rs6000/fixunskfti.c: Likewise.
* config/rs6000/fixkfti.c: Likewise.
* config/rs6000/floatuntikf.c: Likewise.
* config/rs6000/extendkftf2-sw.c: Likewise.
* config/rs6000/trunctfkf2-sw.c: Likewise.
* config/rs6000/float128-ifunc.c: New file to pick either IEEE
128-bit floating point software emulation or use ISA 3.0 hardware
support if it is available.
* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
floating point.
* config/rs6000/t-float128: New Makefile fragments to enable
building __float128 emulation support.
* config/rs6000/t-float128-hw: Likewise.
* config/rs6000/float128-sed: New file to convert TF names to KF
names for PowerPC IEEE 128-bit floating point support.
* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
when building on 64-bit systems, or when VSX is enabled.
(_FP_W_TYPE): Likewise.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.
(TItype): Define on 64-bit systems.
(UTItype): Likewise.
(TI_BITS): Likewise.
(_FP_MUL_MEAT_D): Add support for using 64-bit types.
(_FP_MUL_MEAT_Q): Likewise.
(_FP_DIV_MEAT_D): Likewise.
(_FP_DIV_MEAT_Q): Likewise.
(_FP_NANFRAC_D): Likewise.
(_FP_NANFRAC_Q): Likewise.
(ISA_BIT): Add exception support if we are being compiled on a
machine with hardware floating point support to build the IEEE
128-bit emulation functions.
(FP_EX_INVALID): Likewise.
(FP_EX_OVERFLOW): Likewise.
(FP_EX_UNDERFLOW): Likewise.
(FP_EX_DIVZERO): Likewise.
(FP_EX_INEXACT): Likewise.
(FP_EX_ALL): Likewise.
(__sfp_handle_exceptions): Likewise.
(FP_HANDLE_EXCEPTIONS): Likewise.
(FP_RND_NEAREST): Likewise.
(FP_RND_ZERO): Likewise.
(FP_RND_PINF): Likewise.
(FP_RND_MINF): Likewise.
(FP_RND_MASK): Likewise.
(_FP_DECL_EX): Likewise.
(FP_INIT_ROUNDMODE): Likewise.
(FP_ROUNDMODE): Likewise.
* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
compiler can do __float128.
* configure: Regenerate.
* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
VSX code, enable IEEE 128-bit floating point.
From-SVN: r232346
Bernd Schmidt [Wed, 13 Jan 2016 20:03:26 +0000 (20:03 +0000)]
Improve warning locations (PR66208)
PR c/66208
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
Add new arg loc and pass it down as context.
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
to the location to use for the warning.
(check_function_arguments): New arg loc. All callers changed. Pass
it to check_function_nonnull.
* c-common.h (check_function_arguments): Adjust declaration.
testsuite/
PR c/66208
* c-c++-common/pr66208.c: New file.
From-SVN: r232345
Jakub Jelinek [Wed, 13 Jan 2016 19:21:59 +0000 (20:21 +0100)]
re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial conversion at assignment with -fno-tree-ccp)
PR tree-optimization/69156
* gimple.c (validate_type): Removed.
(gimple_builtin_call_types_compatible_p): Use
useless_type_conversion_p instead of validate_type.
* value-prof.c (gimple_stringop_fixed_value): Fold
icall_size to correct type.
* gcc.dg/pr69156.c: New test.
From-SVN: r232342
Jonathan Wakely [Wed, 13 Jan 2016 19:07:21 +0000 (19:07 +0000)]
Clarify __atomic_compare_exchange effects
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
effects.
From-SVN: r232341
H.J. Lu [Wed, 13 Jan 2016 17:08:04 +0000 (17:08 +0000)]
Add another testcase for x86 FLT_EVAL_METHOD
* gcc.target/i386/pr69225-7.c: New test.
From-SVN: r232331
Richard Henderson [Wed, 13 Jan 2016 17:03:42 +0000 (09:03 -0800)]
re PR target/68964 (Internal compiler error for test case gcc.dg/tm/
20100610.c since r231674)
PR 68964
gcc/
PR tree-opt/68964
* target.def (builtin_tm_load, builtin_tm_store): Remove.
* config/i386/i386.c (ix86_builtin_tm_load): Remove.
(ix86_builtin_tm_store): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
* doc/tm.texi: Rebuild.
* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
(BUILT_IN_TM_MEMCPY_RTWN): New.
* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
fallback from vector to integer helpers.
(build_tm_load): Handle vector types directly, instead of
via target hook.
(build_tm_store): Likewise.
(expand_assign_tm): Prepare for register types not handled by
the above. Copy them to memory and use memcpy.
* tree.c (tm_define_builtin): New.
(find_tm_vector_type): New.
(build_tm_vector_builtins): New.
(build_common_builtin_nodes): Call it.
libitm/
* Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
(libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
(libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
(libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
* configure.ac (ARCH_AARCH64): New conditional.
(ARCH_PPC, ARCH_S390): Likewise.
* Makefile.in, configure: Rebuild.
* libitm.h (_ITM_TYPE_M128): Always define.
* vect64.cc: Split ...
* vect128.cc: ... out of...
* config/x86/x86_sse.cc: ... here.
* config/arm/neon.cc: New file.
From-SVN: r232330
Uros Bizjak [Wed, 13 Jan 2016 16:50:17 +0000 (17:50 +0100)]
pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr68432-1.c (dg-options): Ditto.
* gcc.target/i386/pr68432-2.c (dg-options): Ditto.
* gcc.target/i386/pr68432-3.c (dg-options): Ditto.
From-SVN: r232329
Uros Bizjak [Wed, 13 Jan 2016 16:41:46 +0000 (17:41 +0100)]
i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for TARGET_SSE_MATH without TARGET_SSE2.
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
From-SVN: r232328
Jonathan Wakely [Wed, 13 Jan 2016 16:25:56 +0000 (16:25 +0000)]
Use ::isinf and ::isnan if libc defines them
PR libstdc++/48891
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
and isnan functions.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath (isinf(double), isnan(double))
[_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
* testsuite/26_numerics/headers/cmath/48891.cc: New.
From-SVN: r232327
Tom de Vries [Wed, 13 Jan 2016 15:51:33 +0000 (15:51 +0000)]
Fix infinite recursion in create_variable_info_for_1
PR tree-optimization/69169
* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
handled_struct_type param.
(create_variable_info_for, intra_create_variable_infos): Call
create_variable_info_for_1 with extra arg.
* gcc.dg/pr69169.c: New test.
From-SVN: r232326
Yvan Roux [Wed, 13 Jan 2016 15:28:28 +0000 (15:28 +0000)]
arm-arches.def: Remove spurious whitespace in "armv8.1-a" and "armv8.1-a+crc" entries.
2016-01-13 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
and "armv8.1-a+crc" entries.
From-SVN: r232325
Alexander Fomin [Wed, 13 Jan 2016 14:31:13 +0000 (14:31 +0000)]
AVX512: Restrict default masks for prefetch gather/scatter
instructions.
gcc/
PR target/69228
* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
Change first operand predicate from register_or_constm1_operand
to register_operand.
(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
* config/i386/i386.c (ix86_expand_builtin): Remove first operand
comparison with constm1_rtx from vec_prefetch_gen part.
gcc/testsuite
PR target/69228
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Adjust.
* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Likewise.
From-SVN: r232324
Torvald Riegel [Wed, 13 Jan 2016 12:40:34 +0000 (12:40 +0000)]
libitm: Fix privatization safety interaction with serial mode.
From-SVN: r232322
Richard Biener [Wed, 13 Jan 2016 12:15:01 +0000 (12:15 +0000)]
re PR tree-optimization/69013 (gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unrealizable_paths, at tree-ssa-uninit.c:1121)
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69013
* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
Exchange assert for a test.
From-SVN: r232320
Christian Bruel [Wed, 13 Jan 2016 12:13:43 +0000 (13:13 +0100)]
missed test
From-SVN: r232319
Andreas Krebbel [Wed, 13 Jan 2016 11:59:29 +0000 (11:59 +0000)]
S/390: PR69247: Fix bswap hi splitter.
gcc/ChangeLog:
2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/69247
* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
gcc/testsuite/ChangeLog:
2016-01-13 Jakub Jelinek <jakub@redhat.com>
PR target/69247
* gcc.dg/pr69247.c: New test.
From-SVN: r232318
Rainer Orth [Wed, 13 Jan 2016 09:48:53 +0000 (09:48 +0000)]
Introduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006)
PR libstdc++/66006
* configure.host (abi_baseline_pair): Use separate baseline for
Solaris 11+ and Solaris 10 with gld.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/baseline_symbols.txt: New file.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
From-SVN: r232317
Richard Biener [Wed, 13 Jan 2016 08:27:42 +0000 (08:27 +0000)]
re PR tree-optimization/69242 (ICE in visit_reference_op_load, at tree-ssa-sccvn.c:3224)
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69242
* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
assert with a check.
* gcc.dg/torture/pr69242.c: New testcase.
From-SVN: r232315
Richard Biener [Wed, 13 Jan 2016 08:26:45 +0000 (08:26 +0000)]
re PR tree-optimization/69186 (ICE at -O3 on x86_64-linux-gnu in vect_update_misalignment_for_peel, at tree-vect-data-refs.c:889)
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69186
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Properly guard vect_update_misalignment_for_peel call.
* gcc.dg/torture/pr69186.c: New testcase.
From-SVN: r232314
Jeff Law [Wed, 13 Jan 2016 04:17:36 +0000 (21:17 -0700)]
[PATCH][PR tree-optimization/pr67755] Fix profile insanity adjustments
PR tree-optimization/pr67755
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
"need_profile_correction".
(thread_block_1): Initialize new field to false by default. If we
have multiple thread paths through a common joiner to different
final targets, then set new field to true.
(compute_path_counts): Only do count adjustment when it's really
needed.
PR tree-optimization/67755
* gcc.dg/tree-ssa/pr67755.c: New test.
From-SVN: r232313
Sandra Loosemore [Wed, 13 Jan 2016 03:27:24 +0000 (22:27 -0500)]
invoke.texi (Spec Files): Move section down in file, past all command-line option descriptions.
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Spec Files): Move section down in file, past
all command-line option descriptions.
From-SVN: r232311
Trevor Saunders [Wed, 13 Jan 2016 02:51:11 +0000 (02:51 +0000)]
remove mark_hook gty attribute
gcc/ChangeLog:
2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
PR middle-end/54809
* doc/gty.texi: Remove documentation of mark_hook.
* gengtype.c (struct write_types_data): Remove code to support
mark_hook attribute.
(walk_type): Likewise.
(write_func_for_structure): Likewise.
From-SVN: r232309
Thomas Preud'homme [Wed, 13 Jan 2016 02:26:32 +0000 (02:26 +0000)]
dump-noaddr.x (dump_compare): Replace static pass number in output by a star.
2015-12-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Replace static
pass number in output by a star.
From-SVN: r232308
Sandra Loosemore [Wed, 13 Jan 2016 00:40:41 +0000 (19:40 -0500)]
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
Directory Options, and -specs= to Overall Options.
(Overall Options): Adjust similarly. Reorder to group related
options together. Make -specs= cross-reference the spec file details.
(Directory Options): Adjust similarly.
From-SVN: r232306
GCC Administrator [Wed, 13 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232304
Jeff Law [Tue, 12 Jan 2016 22:38:06 +0000 (15:38 -0700)]
* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
From-SVN: r232297
Daniel Kruegler [Tue, 12 Jan 2016 21:19:58 +0000 (21:19 +0000)]
libstdc++/68877 Reimplement std::__is_swappable
2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
PR libstdc++/68877
* include/std/type_traits: Following N4511, reimplement __is_swappable
and __is_nothrow_swappable. Move __is_swappable to namespace std,
adjust callers. Use __is_nothrow_swappable in swap.
* include/bits/move.h: Use __is_nothrow_swappable in swap.
* testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
__is_swappable related tests.
* testsuite/20_util/is_swappable/value.cc: New.
* testsuite/20_util/is_swappable/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
* testsuite/25_algorithms/swap/68877.cc: New.
From-SVN: r232296
Jonathan Wakely [Tue, 12 Jan 2016 19:39:47 +0000 (19:39 +0000)]
Extend std::function test for PR 68995
* testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
From-SVN: r232294
Andris Pavenis [Tue, 12 Jan 2016 18:36:00 +0000 (20:36 +0200)]
Enable LTO for DJGPP
* configure.ac: enable LTO
* configure: Regenerate
From-SVN: r232290
Olivier Hainque [Tue, 12 Jan 2016 17:53:14 +0000 (17:53 +0000)]
Prevent "undef var" errors on gcc --help or --version with self-specs
* gcc.c (spec_undefvar_allowed): New global.
(process_command): Set to true when running for --version or --help,
alone or together.
(getenv_spec_function): When the variable is not defined, use the
variable name as the variable value if we're allowed not to issue
a fatal error.
From-SVN: r232287
Bin Cheng [Tue, 12 Jan 2016 17:49:51 +0000 (17:49 +0000)]
re PR tree-optimization/68911 (wrong code with -O1 -ftree-vrp)
PR tree-optimization/68911
* tree-vrp.c (adjust_range_with_scev): Check overflow in range
information computed for expression "init + nit * step".
gcc/testsuite/ChangeLog
PR tree-optimization/68911
* gcc.c-torture/execute/pr68911.c: New test.
From-SVN: r232286
Sandra Loosemore [Tue, 12 Jan 2016 17:34:37 +0000 (12:34 -0500)]
invoke.texi (Invoking GCC): Copy-edit.
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
about name of GCC executable. Remove deleted node from menu.
(Directory Options) <-B>: Remove cross-reference to deleted node.
(Target Options): Delete section.
From-SVN: r232285
James Norris [Tue, 12 Jan 2016 17:03:03 +0000 (17:03 +0000)]
* libgomp.texi: Updates for OpenACC.
From-SVN: r232283
Marek Polacek [Tue, 12 Jan 2016 16:48:29 +0000 (16:48 +0000)]
re PR c++/68979 (error: left operand of shift expression ‘(-1 << 4)’ is negative)
PR c++/68979
* constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
error_at and adjust the return value.
* g++.dg/warn/permissive-1.C: New test.
From-SVN: r232280
H.J. Lu [Tue, 12 Jan 2016 16:27:09 +0000 (16:27 +0000)]
Sync top-level configure.ac with binutils-gdb
Sync with binutils-gdb:
2015-10-21 Nick Clifton <nickc@redhat.com>
PR gas/19109
* configure.ac: Note the 'none' is an acceptable argument to
--enable-compressed-debug-sections.
* configure: Regenerate.
From-SVN: r232279
Jakub Jelinek [Tue, 12 Jan 2016 15:21:27 +0000 (16:21 +0100)]
re PR objc++/68511 (FAIL: obj-c++.dg/property/dotsyntax-11.mm -fgnu-runtime (test for errors, line 51,56,59))
PR objc++/68511
PR c++/69213
* cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
GS_ERROR whenever seen_error (), only if *expr_p contains
cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
* g++.dg/opt/pr69213.C: New test.
From-SVN: r232278
Bernd Edlinger [Tue, 12 Jan 2016 15:13:02 +0000 (15:13 +0000)]
re PR bootstrap/69134 (building a mips-cross compiler with in-tree mpfr-2.4.2 fails)
PR bootstrap/69134
* Makefile.def (mpfr): Disable assembler.
* Makefile.in: Regenerate.
From-SVN: r232277
Christian Bruel [Tue, 12 Jan 2016 15:01:12 +0000 (16:01 +0100)]
re PR target/69180 ([ARM] #pragma GCC target should not warn about redefined macros)
PR target/69180
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
From-SVN: r232276
Torvald Riegel [Tue, 12 Jan 2016 14:57:45 +0000 (14:57 +0000)]
libitm: Remove dead code and data.
From-SVN: r232275
Jonathan Wakely [Tue, 12 Jan 2016 14:54:33 +0000 (14:54 +0000)]
Prevent recursive instantiation in std::function
PR libstdc++/69005
PR libstdc++/69222
* include/std/functional (function::_Invoke): Remove, use result_of.
(function::_Callable): Replace alias template with class template
and use partial specialization instead of _NotSelf alias template.
(function(_Functor)): Add "not self" constraint so that _Callable is
not used while type is incomplete.
* testsuite/20_util/function/69222.cc: New.
From-SVN: r232273
Richard Biener [Tue, 12 Jan 2016 14:22:40 +0000 (14:22 +0000)]
re PR debug/69077 (omnetpp ICEs with -flto -g)
2016-01-12 Richard Biener <rguenther@suse.de>
PR lto/69077
lto/
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
* g++.dg/lto/pr69077_0.C: New testcase.
* g++.dg/lto/pr69077_1.C: Likewise.
From-SVN: r232272
Jakub Jelinek [Tue, 12 Jan 2016 13:20:33 +0000 (14:20 +0100)]
re PR target/69198 (FAIL: gcc.target/i386/avx512vl-vmovaps-1.c scan-assembler-times vmovaps[ \\t]+[^{\n]*%xmm[0-9]+[^\n]*\\){%k[1-7]}(?:\n|[ \\t]+#) 1)
PR target/69198
* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
aligned_mem is properly set for AVX512-VL floating point masked
stores.
From-SVN: r232268
Jakub Jelinek [Tue, 12 Jan 2016 13:19:49 +0000 (14:19 +0100)]
re PR target/69175 (ICE in haifa_luid_for_non_insn, at haifa-sched.c:7895)
PR target/69175
* ifcvt.c (cond_exec_process_if_block): When removing the last
insn from then_bb, remove also any possible barriers that follow it.
* g++.dg/opt/pr69175.C: New test.
From-SVN: r232267
H.J. Lu [Tue, 12 Jan 2016 13:16:53 +0000 (13:16 +0000)]
Define STDINT_LONG32 and add predefined integer types for IAMCU
Define STDINT_LONG32 to 0, add SIZE_TYPE, PTRDIFF_TYPE and WCHAR_TYPE
for IAMCU to make integer types compatible with i386 Linux.
PR target/68456
PR target/69226
* config/i386/iamcu.h (SIZE_TYPE): New macro.
(PTRDIFF_TYPE): Likewise.
(WCHAR_TYPE): Likewise.
(WCHAR_TYPE_SIZE): Likewise.
(STDINT_LONG32): Likewise.
From-SVN: r232266
Alan Lawrence [Tue, 12 Jan 2016 12:28:47 +0000 (12:28 +0000)]
Cleanup vect testsuite includes
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Declare functions as 'extern'
rather than #including math.h & stdlib.h.
* gcc.dg/vect/pr47001.c: Declare abort as 'extern', remove stdlib.h.
* gcc.dg/vect/pr49771.c: Likewise.
* gcc.dg/vect/vect-10-big-array.c: Likewise.
* gcc.dg/vect/vect-neg-store-1.c: Likewise.
* gcc.dg/vect/vect-neg-store-2.c: Likewise.
* gcc.dg/vect/slp-37.c: Change NULL to 0, remove stdlib.h.
* gcc.dg/vect/pr40254.c: Remove unnecessary include of stdlib.h.
* gcc.dg/vect/pr44507.c: Likewise.
* gcc.dg/vect/pr45902.c: Likewise.
* gcc.dg/vect/slp-widen-mult-half.c: Likewise.
* gcc.dg/vect/vect-117.c: Likewise.
* gcc.dg/vect/vect-99.c: Likewise.
* gcc.dg/vect/vect-aggressive-1.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-mask-load-1.c: Likewise.
* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-2.c: Likewise.
* gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-3.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Remove unnecessary
include of signal.h.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-17.c: Likewise.
* gcc.dg/vect/vect-ifcvt-2.c: Likewise.
* gcc.dg/vect/vect-ifcvt-3.c: Likewise.
* gcc.dg/vect/vect-ifcvt-4.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-6.c: Likewise.
* gcc.dg/vect/vect-ifcvt-7.c: Likewise.
* gcc.dg/vect/vect-ifcvt-9.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Remove unnecessary
include of stdio.h.
From-SVN: r232265
Nick Clifton [Tue, 12 Jan 2016 11:43:59 +0000 (11:43 +0000)]
re PR testsuite/68913 (gcc.dg/lto/pr61886 FAILs)
PR target/68913
* gcc.dg/lto/pr61886_0.c: Rename the external function called
to fread so that it will be found in all target runtimes.
From-SVN: r232264
Richard Biener [Tue, 12 Jan 2016 11:41:16 +0000 (11:41 +0000)]
re PR target/69053 (ICE in build_vector_from_val)
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69053
* tree-vect-loop.c (get_initial_def_for_reduction): Properly
convert initial value for cond reductions.
* g++.dg/torture/pr69053.C: New testcase.
From-SVN: r232263
Richard Biener [Tue, 12 Jan 2016 11:39:54 +0000 (11:39 +0000)]
re PR testsuite/69007 (test cases gcc.dg/vect/vect-reduc-dot-s8a.c fails starting with r231815)
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69007
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
widen_sum after dot_prod and sad.
From-SVN: r232262
Richard Biener [Tue, 12 Jan 2016 08:36:24 +0000 (08:36 +0000)]
re PR tree-optimization/69168 (ICE in vect_analyze_loop_2, at tree-vect-loop.c:2182)
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69168
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
pattern stmt SLP type.
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
end up unused so cope with that case.
* gcc.dg/torture/pr69168.c: New testcase.
From-SVN: r232261
Richard Biener [Tue, 12 Jan 2016 08:30:44 +0000 (08:30 +0000)]
re PR tree-optimization/69157 (ICE in vect_transform_stmt, at tree-vect-stmts.c:8176)
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69157
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
stmts def type only during analyze phase.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
* gcc.dg/torture/pr69157.c: New testcase.
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69174
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
space.
(vectorizable_load): Properly compute the number of loads needed
for permuted strided SLP loads and do not spuriously assign
to SLP_TREE_VEC_STMTS.
* gcc.dg/torture/pr69174.c: New testcase.
From-SVN: r232260
Jakub Jelinek [Tue, 12 Jan 2016 08:21:53 +0000 (09:21 +0100)]
re PR c++/66808 (tree check fail in symbol_table::decl_assembler_name_hash)
PR c++/66808
PR c++/69000
* pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
* g++.dg/tls/pr66808.C: New test.
* g++.dg/tls/pr69000.C: New test.
From-SVN: r232259
Andris Pavenis [Tue, 12 Jan 2016 04:57:10 +0000 (06:57 +0200)]
[PATCH 5/6] [DJGPP] Update DJGPP configuration related files
* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
(MD_EXEC_PREFIX): Remove.
(MD_STARTFILE_PREFIX) Removee.
(FILE_NAME_ABSOLUTE_P): Remove.
(CPP_SPEC): Do not read macros from sys/version.h.
(LINK_COMMAND_SPEC): Remove.
(LOCAL_INCLUDE_DIR): Remove.
(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
(POST_LINK_SPEC): Define to invoke stubify after linker
(LIBSTDCXX): Remove define
(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
(i386_djgpp_asm_named_section): Add propotype of new procedure
* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
(STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
(MAX_OFILE_ALIGNMENT): Define to 128.
(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
* config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
Add rule for building djgpp.o.
From-SVN: r232258
Bill Schmidt [Tue, 12 Jan 2016 04:49:55 +0000 (04:49 +0000)]
rs6000.c (v2df_reduction_p): New function.
[gcc]
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (v2df_reduction_p): New function.
(rtx_is_swappable_p): Reductions are swappable.
(insn_is_swappable_p): V2DF reductions are swappable.
[gcc/testsuite]
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-23.c: New test.
* gcc.target/powerpc/swaps-p8-24.c: Likewise.
From-SVN: r232257
John David Anglin [Tue, 12 Jan 2016 02:06:20 +0000 (02:06 +0000)]
re PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c -O* execution test on x86_64-apple-darwin1(0|4))
PR tree-optimization/68356
* gcc.dg/torture/pr68264.c: Disable exp2 ERANGE test on hppa unix.
From-SVN: r232256