rguenth [Wed, 10 Feb 2016 12:46:33 +0000 (12:46 +0000)]
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69726
* passes.def: Add DCE pass before late uninit.
* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
really fixup if-conversions job.
* gcc.dg/uninit-22.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233267
138bc75d-0d04-0410-961f-
82ee72b054a4
wilco [Wed, 10 Feb 2016 12:36:03 +0000 (12:36 +0000)]
Enable instruction fusion of AES instructions on ARM for Cortex-A53 and
Cortex-A57.
gcc/
* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
(arm_cortex_a57_tune): Likewise.
(aarch_macro_fusion_pair_p): Add support for AES fusion.
* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233266
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 10 Feb 2016 11:22:29 +0000 (11:22 +0000)]
* timevar.def (TV_PHASE_DBGINFO): Delete.
(TV_PHASE_CHECK_DBGINFO): Likewise.
* varpool.c (varpool_node::assemble_decl): Do not change timevar.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233264
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 10 Feb 2016 08:36:03 +0000 (08:36 +0000)]
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233262
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Wed, 10 Feb 2016 03:13:53 +0000 (03:13 +0000)]
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
get_vcond_mask_icode returns false.
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* gcc.c-torture/compile/
20160205-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233261
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 10 Feb 2016 02:16:04 +0000 (02:16 +0000)]
PR go/69511
runtime: change G gcstack_size field to size_t
Because its address is passed to __splitstack_find, which expects size_t*.
From Dominik Vogt in GCC PR 69511.
Reviewed-on: https://go-review.googlesource.com/19429
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233260
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 10 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233259
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 9 Feb 2016 23:37:02 +0000 (23:37 +0000)]
* fi.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233256
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 9 Feb 2016 22:31:31 +0000 (22:31 +0000)]
[gcc]
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
an ADDIS that adds a pointer to a large constant that sets the
upper16 bits with a load operation.
[gcc/testsuite]
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Rewrite test to use TOC fusion
instead accessing a really large arrray.
* gcc.target/powerpc/fusion3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233255
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Tue, 9 Feb 2016 20:18:10 +0000 (20:18 +0000)]
Ensure stdout is newline terminated for status wrappers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233254
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 9 Feb 2016 19:16:30 +0000 (19:16 +0000)]
2015-04-25 Daniel Starke <daniel.f.starke@freenet.de>
PR target/65867
* ssp.c: Added wincrypt.h include for Windows targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233253
138bc75d-0d04-0410-961f-
82ee72b054a4
cbaylis [Tue, 9 Feb 2016 18:49:05 +0000 (18:49 +0000)]
[ARM] PR68532 Fix up vzip recognition for big endian
gcc/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
order.
* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
endian.
(vzipq_s16): Likewise.
(vzipq_s32): Likewise.
(vzipq_f32): Likewise.
(vzipq_u8): Likewise.
(vzipq_u16): Likewise.
(vzipq_u32): Likewise.
(vzipq_p8): Likewise.
(vzipq_p16): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233252
138bc75d-0d04-0410-961f-
82ee72b054a4
cbaylis [Tue, 9 Feb 2016 18:47:55 +0000 (18:47 +0000)]
[ARM] PR68532: Fix up vuzp for big endian
gcc/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* config/arm/arm.c (neon_endian_lane_map): New function.
(neon_vector_pair_endian_lane_map): New function.
(arm_evpc_neon_vuzp): Allow for big endian lane order.
* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
endian.
(vuzpq_s16): Likewise.
(vuzpq_s32): Likewise.
(vuzpq_f32): Likewise.
(vuzpq_u8): Likewise.
(vuzpq_u16): Likewise.
(vuzpq_u32): Likewise.
(vuzpq_p8): Likewise.
(vuzpq_p16): Likewise.
gcc/testsuite/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* gcc.c-torture/execute/pr68532.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233251
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 9 Feb 2016 18:26:00 +0000 (18:26 +0000)]
2016-02-11 Alexandre Oliva <aoliva@redhat.com>
PR target/69634
* regstat.c (regstat_bb_compute_calls_crossed): Disregard
debug insns.
PR target/69634
* gcc.dg/pr69634.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233250
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 9 Feb 2016 17:43:48 +0000 (17:43 +0000)]
* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
truncate const_int operand 1 to QImode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233249
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 9 Feb 2016 17:21:57 +0000 (17:21 +0000)]
* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
corresponding to an abnormal edge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233248
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 9 Feb 2016 16:20:46 +0000 (16:20 +0000)]
* de.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233246
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 9 Feb 2016 15:04:48 +0000 (15:04 +0000)]
2016-02-09 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/vect-mask-store-move-1.c: Add missing space.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233245
138bc75d-0d04-0410-961f-
82ee72b054a4
afomin [Tue, 9 Feb 2016 14:36:03 +0000 (14:36 +0000)]
Fix expectation in AVX512 logic instructions test.
gcc/testsuite
* gcc.target/i386/avx512f-klogic-2.c: Adjust expectation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233243
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 9 Feb 2016 09:51:21 +0000 (09:51 +0000)]
gcc/testsuite/
2016-02-09 Yuri Rumyantsev <ysrumyan@gmail.com>
* gcc.dg/vect/vect-mask-store-move-1.c: Fix test failures.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233241
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 9 Feb 2016 08:52:26 +0000 (08:52 +0000)]
Fix GOMP/GOACC_parallel optimization in ipa-pta
2016-02-09 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69599
* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
function.
(find_func_aliases_for_builtin_call, find_func_clobbers)
(ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
partition.
* testsuite/libgomp.c/omp-nested-3.c: New test.
* testsuite/libgomp.c/pr46032-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233240
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 9 Feb 2016 08:35:22 +0000 (08:35 +0000)]
2016-02-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/69715
* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
LHS on calls as non-rewritable.
* gcc.dg/torture/pr69715.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233239
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 9 Feb 2016 07:12:22 +0000 (07:12 +0000)]
Add missing entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233238
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 9 Feb 2016 07:04:08 +0000 (07:04 +0000)]
Handle -fdiagnostics-color in lto
2016-02-09 Tom de Vries <tom@codesourcery.com>
PR lto/69707
* lto-wrapper.c (append_diag_options): New function.
(compile_offload_image): Call append_diag_options.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233237
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 9 Feb 2016 03:25:30 +0000 (03:25 +0000)]
2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
PR other/69722
gcc/
* doc/extend.texi (Flag Output Operands): Correct sectioning.
Minor copy-edit to fix verb tenses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233236
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 9 Feb 2016 00:34:55 +0000 (00:34 +0000)]
PR go/69537
runtime: Don't refer to _end symbol in shared library.
Fixes GCC PR 69357.
Reviewed-on: https://go-review.googlesource.com/19362
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233235
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 9 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233234
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Mon, 8 Feb 2016 23:06:21 +0000 (23:06 +0000)]
Fix PR c++/69139 (deduction failure with trailing return type)
gcc/cp/ChangeLog:
PR c++/69139
* parser.c (cp_parser_simple_type_specifier): Make the check
for disambiguating between an 'auto' placeholder and an implicit
template parameter more robust.
gcc/testsuite/ChangeLog:
PR c++/69139
* g++.dg/cpp0x/trailing12.C: New test.
* g++.dg/cpp0x/trailing13.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233231
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Mon, 8 Feb 2016 23:02:50 +0000 (23:02 +0000)]
Fix PR c++/69283 (auto deduction fails when ADL is required)
gcc/cp/ChangeLog:
PR c++/69283
PR c++/67835
* decl2.c (mark_used): When given a TEMPLATE_DECL, return after
setting its TREE_USED flag.
gcc/testsuite/ChangeLog:
PR c++/69283
PR c++/67835
* g++.dg/cpp1y/auto-fn29.C: New test.
* g++.dg/cpp1y/auto-fn30.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233230
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 8 Feb 2016 22:07:54 +0000 (22:07 +0000)]
PR c++/69657
* name-lookup.c (do_nonmember_using_decl): Leave anticipated
built-ins alone.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233229
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 8 Feb 2016 20:07:56 +0000 (20:07 +0000)]
PR tree-optimization/69209
* ipa-split.c (split_function): If split part is not
returning retval, retval has gimple type but is not
gimple value, force it into a SSA_NAME first.
* gcc.c-torture/compile/pr69209.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233228
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Feb 2016 19:52:50 +0000 (19:52 +0000)]
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
of statements allowed in join block for path splitting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233227
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 8 Feb 2016 18:23:03 +0000 (18:23 +0000)]
PR c++/59627
* parser.c (cp_parser_omp_declare_reduction): Set assembler name
of the DECL_OMP_DECLARE_REDUCTION_P decls.
* g++.dg/gomp/pr59627.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233225
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 8 Feb 2016 17:41:35 +0000 (17:41 +0000)]
PR ipa/69239
* g++.dg/ipa/pr69239.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233224
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Mon, 8 Feb 2016 17:33:45 +0000 (17:33 +0000)]
PR preprocessor/69664: fix rich_location::override_column
gcc/testsuite/ChangeLog:
PR preprocessor/69664
* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
* gcc.dg/cpp/warn-comments.c: Likewise.
libcpp/ChangeLog:
PR preprocessor/69664
* errors.c (cpp_diagnostic_with_line): Only call
rich_location::override_column if the column is non-zero.
* line-map.c (rich_location::override_column): Update columns
within m_ranges[0]. Add assertions to verify that doing so is
sane.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233223
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Mon, 8 Feb 2016 17:18:57 +0000 (17:18 +0000)]
jit: fix build after r233218 (build_common_tree_nodes)
gcc/jit/ChangeLog:
* dummy-frontend.c (jit_langhook_init): Remove
second argument to build_common_tree_nodes to
track r233218.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233222
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Feb 2016 16:35:24 +0000 (16:35 +0000)]
* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
outdated section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233221
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 8 Feb 2016 15:40:33 +0000 (15:40 +0000)]
PR c++/69688
* constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
Call clear_fold_cache.
* cp-tree.h: Adjust declaration.
* decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
rather than clear_cv_cache and clear_fold_cache.
* typeck2.c (store_init_value): Call clear_cv_and_fold_caches.
* g++.dg/init/const12.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233220
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 8 Feb 2016 15:37:59 +0000 (15:37 +0000)]
Remove accidentally added 'constexpr' in previous commit
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
added 'constexpr' in previous commit.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233219
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 8 Feb 2016 15:36:16 +0000 (15:36 +0000)]
Remove -fshort-double
PR target/60410
* tree.c (build_common_tree_nodes): Remove short_double argument.
All callers changed.
* tree.h (build_common_tree_nodes): Adjust declaration.
* doc/invoke.texi (-fshort-double): Remove documentation.
* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
* lto-wrapper.c (merge_and_complain, append_compiler_options,
append_linker_options): Don't handle OPT_fshort_double.
c-family/
PR target/60410
* c.opt (fshort-double): Remove.
testsuite/
PR target/60410
* gcc.dg/lto/pr55113_0.c: Remove test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233218
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 8 Feb 2016 15:31:53 +0000 (15:31 +0000)]
* convert.c (convert_to_integer_1): Re-indent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233217
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 8 Feb 2016 15:31:47 +0000 (15:31 +0000)]
PR c++/69631
gcc/
* convert.c (convert_to_integer_1): Check dofold on truncation
distribution.
(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
Rename from *_nofold.
* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
gcc/cp/
* cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
* cvt.c (convert): Pass CONV_BACKEND_CONVERT.
(ocp_convert): Use *_maybe_fold.
(cp_convert_to_pointer): Add dofold parameter.
* cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233216
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 8 Feb 2016 15:31:08 +0000 (15:31 +0000)]
Fix latent LRA remat issue (PR68730)
PR rtl-optimization/68730
* lra-remat.c (insn_to_cand_activation): New static variable.
(lra_remat): Allocate and free it.
(create_cand): New arg activation. Initialize a field in
insn_to_cand_activation if it is nonnull.
(create_cands): Pass the activation insn to create_cand when making
a candidate involving an output reload. Reorganize code a little.
(do_remat): Keep track of active status of candidates in a separate
bitmap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233215
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 8 Feb 2016 15:22:32 +0000 (15:22 +0000)]
Enable isinf/isnan checks for all targets
PR libstdc++/48891
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
checks for all targets except *-*-solaris2.* and ensure we find the
libc math.h header not our own.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233214
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 8 Feb 2016 14:51:20 +0000 (14:51 +0000)]
2016-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Properly use absolute of the difference of the two offsets to
compare or adjust the segment length.
* gcc.dg/torture/pr69719.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233212
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 8 Feb 2016 10:04:18 +0000 (10:04 +0000)]
2016-02-08 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR target/68273
* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
types for anonymous SSA names.
* gcc.target/mips/pr68273.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233211
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 8 Feb 2016 09:40:46 +0000 (09:40 +0000)]
* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
DECL_IGNORED_P last.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233210
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 8 Feb 2016 09:09:22 +0000 (09:09 +0000)]
2016-02-08 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69274
* ira.c (ira_setup_alts): Do not change recog_data.operand
order.
* gcc.target/i386/addr-sel-1.c: XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233209
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Feb 2016 08:40:00 +0000 (08:40 +0000)]
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-2.c: Make char array explicitly signed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233208
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Feb 2016 08:17:32 +0000 (08:17 +0000)]
PR tree-optimization/65917
* tree-ssa-dom.c (record_temporary_equivalences): Record both
equivalences from if (x == y) style conditionals.
(loop_depth_of_name): Remove.
(record_equality): Remove loop depth check.
* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
(const_and_copies::record_const_or_copy_raw): New member function.
* tree-ssa-scopedtables.c
(const_and_copies::record_const_or_copy_raw): New, factored out of
(const_and_copies::record_const_or_copy): Call new member function.
PR tree-optimization/65917
* gcc.dg/tree-ssa/
20030922-2.c: No longer xfailed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233207
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 8 Feb 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233206
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sun, 7 Feb 2016 20:15:55 +0000 (20:15 +0000)]
2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/50555
* primary.c (match_actual_arg): If symbol has attribute flavor of
namelist, generate an error. (gfc_match_rvalue): Likewise return
MATCH_ERROR.
* resolve.c (resolve_symbol): Scan arument list of procedures and
generate an error if a namelist is found.
PR fortran/50555
* gfortran.dg/namelist_args.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233203
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 7 Feb 2016 14:37:20 +0000 (14:37 +0000)]
* ru.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233202
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 7 Feb 2016 14:34:42 +0000 (14:34 +0000)]
* fi.po, sv.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233201
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 7 Feb 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233199
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sat, 6 Feb 2016 22:27:34 +0000 (22:27 +0000)]
* mmap.c (MAP_FAILED): Define if not defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233196
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 6 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233194
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Feb 2016 23:49:08 +0000 (23:49 +0000)]
PR tree-optimization/68541
* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
(count_stmts_in_block): New function.
(poor_ifcvt_candidate_code): Likewise.
(is_feasible_trace): Add some heuristics to determine when path
splitting is profitable.
(find_block_to_duplicate_for_splitting_paths): Make sure the graph
is a diamond with a single exit.
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-2.c: New test.
* gcc.dg/tree-ssa/split-path-3.c: New test.
* gcc.dg/tree-ssa/split-path-4.c: New test.
* gcc.dg/tree-ssa/split-path-5.c: New test.
* gcc.dg/tree-ssa/split-path-6.c: New test.
* gcc.dg/tree-ssa/split-path-7.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233191
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Fri, 5 Feb 2016 22:27:37 +0000 (22:27 +0000)]
PR c++/69662 - -Wplacement-new on allocated one element array members
gcc/testsuite/ChangeLog:
PR c++/69662
* g++.dg/warn/Wplacement-new-size-1.C: New test.
* g++.dg/warn/Wplacement-new-size-2.C: New test.
gcc/cp/ChangeLog:
PR c++/69662
* init.c (find_field_init): New function.
(warn_placement_new_too_small): Call it. Handle one-element arrays
at ends of structures special.
gcc/c-family/ChangeLog:
PR c++/69662
* c.opt (Warning options): Update -Wplacement-new to take
an optional argument.
gcc/ChangeLog:
PR c++/69662
* doc/invoke.texi: Update -Wplacement-new to take an optional
argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233190
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 5 Feb 2016 22:05:17 +0000 (22:05 +0000)]
PR c/69643
* tree.c (tree_nop_conversion_p): Do not strip casts into or
out of non-standard address spaces.
testsuite/
* gcc.target/i386/addr-space-4.c: New.
* gcc.target/i386/addr-space-5.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233189
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 5 Feb 2016 21:41:15 +0000 (21:41 +0000)]
Fix fortran scalar elemental dependency mishandling
PR fortran/66089
gcc/fortran/
* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
the former to the latter and make it non-static. Update callers.
* gfortran.h (gfc_expr_is_variable): New declaration.
(struct gfc_ss_info): Add field needs_temporary.
* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
Tighten the condition on aggregate expressions with a check
that the expression is a variable and doesn't need a temporary.
(gfc_conv_resolve_dependency): Add intermediary reference variable.
Set the needs_temporary field.
gcc/testsuite/
* gfortran.dg/elemental_dependency_6.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233188
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 5 Feb 2016 21:13:43 +0000 (21:13 +0000)]
PR rtl-optimization/69691
* lra-eliminations.c (move_plus_up): Don't add the addend twice.
* gcc.c-torture/execute/pr69691.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233187
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 5 Feb 2016 19:39:48 +0000 (19:39 +0000)]
PR c++/69628
* charset.c (cpp_interpret_charconst): Clear *PCHARS_SEEN
and *UNSIGNEDP if bailing out early due to errors.
* g++.dg/parse/pr69628.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233186
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Feb 2016 17:52:07 +0000 (17:52 +0000)]
Make issues similar to PR c++/68948 fail loudly.
* semantics.c (finish_expr_stmt): If expr is error_mark_node,
make sure we've seen_error().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233183
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 5 Feb 2016 16:41:36 +0000 (16:41 +0000)]
* gcc.dg/sancov/asan.c: Move to ...
* gcc.dg/asan/sancov-1.c: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233182
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 5 Feb 2016 16:36:38 +0000 (16:36 +0000)]
* gcc.target/i386/pr69577.c: Require avx_runtime target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233181
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 5 Feb 2016 16:24:06 +0000 (16:24 +0000)]
Add a testcase for PR target/69677
PR target/69677
* gcc.target/i386/pr69677.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233180
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Fri, 5 Feb 2016 15:25:39 +0000 (15:25 +0000)]
* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
(*ieee128_mfvsrd_64bit): Likewise.
(*ieee128_mfvsrd_32bit): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233179
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Fri, 5 Feb 2016 14:41:00 +0000 (14:41 +0000)]
gcc/
2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/69369
Revert r232560:
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
instrumented_version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233177
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Fri, 5 Feb 2016 14:36:44 +0000 (14:36 +0000)]
Fix PR c++/68948 (wrong code generation due to invalid constructor call)
gcc/cp/ChangeLog:
PR c++/68948
* pt.c (tsubst_baselink): Diagnose an invalid constructor call
if lookup_fnfields returns NULL_TREE and the name being looked
up has the form A::A.
gcc/testsuite/ChangeLog:
PR c++/68948
* g++.dg/template/pr68948.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233176
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 5 Feb 2016 14:27:26 +0000 (14:27 +0000)]
2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
* doc/invoke.texi (Optimize Options): In table of --param options
rename second occurrence of tracer-min-branch-ratio to
tracer-min-branch-probability, rename
tracer-min-branch-ratio-feedback to
tracer-min-branch-probability-feedback and clarify description,
rename sched-spec-state-edge-prob-cutoff to
sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
to selsched-insns-to-rename, rename lto-minpartition to
lto-min-partition, delete reorder-blocks-duplicate and
reorder-blocks-duplicate-feedback.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233175
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 5 Feb 2016 13:24:28 +0000 (13:24 +0000)]
* fi.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233174
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 11:38:52 +0000 (11:38 +0000)]
S/390: Remove superfluous loops.
gcc/ChangeLog:
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_register_info_set_ranges): Remove
superfluous loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233173
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 10:36:21 +0000 (10:36 +0000)]
S/390: Correct documentation
gcc/ChangeLog
* doc/extend.texi: S/390: Correct some typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233172
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 10:33:21 +0000 (10:33 +0000)]
S/390: Do not require -march=z13 on s390 but only on s390x.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove -march=z13 for s390
(only necessary on s390x).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233171
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 10:25:08 +0000 (10:25 +0000)]
libstdc++: S/390: Add missing baseline_symbols.txt for s390x/-m31.
The attached patch copies the existing
libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
to .../s390x-linux-gnu/32/baseline_symbols.txt. This fixes the
abi test failure on s390x with -m31.
libstdc++-v3/ChangeLog
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
New file. Copied over from s390-linux-gnu.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233170
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 10:10:35 +0000 (10:10 +0000)]
S/390: Fix 64 bit sibcall
This fixes a problem revealed during the split-stack work:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg00322.html
gcc/ChangeLog:
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233169
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 5 Feb 2016 10:08:17 +0000 (10:08 +0000)]
S/390: Fix r6 vararg handling.
This patch fixes a problem introduced with the GPR into FPR slot save
feature for leaf functions.
r6 is argument register as well as call-saved. Currently we might
decide that it will be a candidate for being saved into an FPR. If it
turns out later that r6 also needs to be saved due to being required
for vararg we undo the FPR save decision and put it on the stack
again. Unfortunately the code did not adjust the GPR restore range
accordingly so that the register does not get restored in the load
multiple.
This fixes the following testcases on s390x:
< FAIL: libgomp.c/doacross-1.c execution test
< FAIL: libgomp.c/doacross-2.c execution test
< FAIL: libgomp.c/doacross-3.c execution test
< FAIL: libgomp.c++/doacross-1.C execution test
gcc/ChangeLog:
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/69625
* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
defines.
(s390_register_info_gprtofpr): Use new macros above.
(s390_register_info_stdarg_fpr): Adjust max_fpr to better match
its name.
(s390_register_info_stdarg_gpr): Adjust max_gpr to better match
its name. Adjust restore and save gpr ranges.
(s390_register_info_set_ranges): New function.
(s390_register_info): Use new macros above. Call
s390_register_info_set_ranges.
(s390_optimize_register_info): Likewise.
(s390_hard_regno_rename_ok): Use new macros.
(s390_hard_regno_scratch_ok): Likewise.
(s390_emit_epilogue): Likewise.
(s390_can_use_return_insn): Likewise.
(s390_optimize_prologue): Likewise.
* config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233168
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 5 Feb 2016 09:23:03 +0000 (09:23 +0000)]
PR bootstrap/69677
* config/i386/i386.c (convert_scalars_to_vector): Readd stack
alignment fixes.
(ix86_option_override_internal): Disable TARGET_STV even for
-m{incoming,preferred}-stack-boundary=3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233167
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 5 Feb 2016 03:06:40 +0000 (03:06 +0000)]
Compile pr69454-2.c with -msse2 -mno-accumulate-outgoing-args
2016-02-04 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr69454-2.c: Compile with -msse2
-mno-accumulate-outgoing-args.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233166
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 5 Feb 2016 01:40:39 +0000 (01:40 +0000)]
obsolete the deprecated rtems targets
gcc/ChangeLog:
2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* config.gcc: Mark deprecated rtems targets as obsolete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233165
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 5 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233164
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 4 Feb 2016 23:47:21 +0000 (23:47 +0000)]
Test for C99 stdlib.h functions with -std=c++98
PR libstdc++/69626
* acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
* config.h.in: Regenerate.
* configure: Regenerate.
* testsuite/21_strings/c_strings/char/69626.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233161
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 4 Feb 2016 23:09:51 +0000 (23:09 +0000)]
combine: distribute_notes again (PR69567, PR64682)
As it happens the patch I did over a year ago for PR64682 isn't quite
correct. This is PR69567. This fixes it.
PR rtl-optimization/64682
PR rtl-optimization/69567
* combine.c (distribute_notes) <REG_DEAD>: Place the death note
before I2 only if the register is both used and set in I2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233159
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Thu, 4 Feb 2016 22:54:52 +0000 (22:54 +0000)]
Fix constexpr evaluation of comparisons involving pointer-to-members
gcc/cp/ChangeLog:
* constexpr.c (cxx_eval_binary_expression): Fold equality
comparisons involving PTRMEM_CSTs.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/constexpr-ptrmem5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233158
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Thu, 4 Feb 2016 22:54:30 +0000 (22:54 +0000)]
* config/msp430/msp430.c (msp430_start_function): Add function type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233157
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 4 Feb 2016 22:54:20 +0000 (22:54 +0000)]
libgo: bump version number for upgrade to 1.6rc1
Reviewed-on: https://go-review.googlesource.com/19233
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233156
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 4 Feb 2016 22:17:05 +0000 (22:17 +0000)]
PR c/69669
* c-decl.c (finish_enum): When honoring mode attribute,
make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
* c-c++-common/pr69669.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233154
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 4 Feb 2016 22:15:33 +0000 (22:15 +0000)]
PR fortran/69368
* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233153
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 4 Feb 2016 22:10:56 +0000 (22:10 +0000)]
PR rtl-optimization/69577
Revert:
2015-10-29 Richard Henderson <rth@redhat.com>
PR target/68124
PR rtl-opt/67609
* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
sse check to the exact conditions of PR 67609.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233152
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 4 Feb 2016 21:46:19 +0000 (21:46 +0000)]
Regenerate front page of libstdc++ HTML docs
* doc/html/index.html: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233151
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 4 Feb 2016 21:43:40 +0000 (21:43 +0000)]
Update copyright years in libstdc++ manual and add link
* doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
* doc/xml/manual/spine.xml: Update copyright years and author blurb.
* doc/html/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233150
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 4 Feb 2016 21:05:14 +0000 (21:05 +0000)]
[gcc]
2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/69667
* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
not allowed into the traditional Altivec registers.
(movtd_64bit_nodm): Likewise.
(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
[gcc/testsuite]
2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/69667
* g++.dg/pr69667.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233147
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Thu, 4 Feb 2016 19:30:28 +0000 (19:30 +0000)]
Fix jit crash on aarch64
gcc/ChangeLog:
* config/aarch64/cortex-a57-fma-steering.c
(aarch64_register_fma_steering): Remove "static" from arguments
to register_pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233146
138bc75d-0d04-0410-961f-
82ee72b054a4
wilco [Thu, 4 Feb 2016 18:23:35 +0000 (18:23 +0000)]
This patch fixes an exponential issue in ccmp.c. When deciding which ccmp
expansion to use, the tree nodes gs0 and gs1 are fully expanded twice. If
they contain more CCMP opportunities, their subtrees are also expanded twice.
When the trees are complex the expansion takes exponential time and memory.
As a workaround in GCC6 compute the cost of the first expansion early, and
only try the alternative expansion if the cost is low enough. This rarely
affects real code, eg. SPECINT2006 has identical codesize.
2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
PR target/69619
* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
twice when complex.
gcc/testsuite/
PR target/69619
* gcc.dg/pr69619.c: Add new test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233145
138bc75d-0d04-0410-961f-
82ee72b054a4
vapier [Thu, 4 Feb 2016 17:32:11 +0000 (17:32 +0000)]
gcc: invoke: delete -mno-fma4 docs
We don't document the -mno-xxx variants for other flags here, and the
paragraph here specifically says "Each has a corresponding -mno- option
to disable use of these instructions". Drop the -mno-fma4 line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233144
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 4 Feb 2016 15:01:15 +0000 (15:01 +0000)]
PR 69577: Invalid RA of destination subregs
In PR 69577 we have:
A: (set (reg:V2TI X) ...)
B: (set (subreg:TI (reg:V2TI X) 0) ...)
X gets allocated to an AVX register, as usual for V2TI. The problem is
that the movti for B doesn't then preserve the other half of X, even
though the subreg semantics are supposed to guarantee that.
If instead the same value had been set by:
A': (set (subreg:TI (reg:V2TI X) 16) ...)
B: (set (subreg:TI (reg:V2TI X) 0) ...)
the subreg in A' would have prevented the use of AVX registers for X,
since you can't directly access the high part.
IMO these are really the same thing. An alternative way to view it
is that the original sequence is equivalent to:
A: (set (reg:V2TI X) ...)
B1: (set (subreg:TI (reg:V2TI X) 0) ...)
B2: (set (subreg:TI (reg:V2TI X) 16) (subreg:TI (reg:V2TI X) 16))
in which B2 is a no-op and therefore implicit. The handling ought
to be the same regardless of whether there is an rtl insn that
explicitly assigns to (subreg:TI (reg:V2TI X) 16).
This patch implements that idea. Hopefully the comments explain
what's going on.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabihf.
gcc/
PR rtl-optimization/69577
* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
(find_subregs_of_mode): Update accordingly. Iterate over partial
definitions.
gcc/testsuite/
PR rtl-optimization/69577
* gcc.target/i386/pr69577.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233143
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 4 Feb 2016 14:49:02 +0000 (14:49 +0000)]
[ARM] Remove neon_reinterpret, use casts
* config/arm/arm-protos.h (neon_reinterpret): Remove.
* config/arm/arm.c (neon_reinterpret): Remove.
* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
vreinterpretti): Remove.
* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233142
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 4 Feb 2016 14:17:21 +0000 (14:17 +0000)]
Update gcc .po files.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
zh_TW.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233141
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 4 Feb 2016 14:15:08 +0000 (14:15 +0000)]
Update cpplib .po files.
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
vi.po, zh_CN.po, zh_TW.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233140
138bc75d-0d04-0410-961f-
82ee72b054a4