Jakub Jelinek [Wed, 23 Mar 2016 09:49:12 +0000 (10:49 +0100)]
re PR target/70321 (STV generates less optimized code)
PR target/70321
* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
Optimize TARGET_STV splitters, if high or low word of last argument
is 0 or -1.
From-SVN: r234416
Bernd Edlinger [Wed, 23 Mar 2016 00:41:52 +0000 (00:41 +0000)]
Makefile.am (install-freestanding-headers): Add concept_check.h and move.h to the installed headers.
2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
* include/Makefile.am (install-freestanding-headers): Add
concept_check.h and move.h to the installed headers.
* include/Makefile.in: Regenerated.
* include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
freestanding implementations.
* doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
that this macro has no effect for freestanding implementations.
* doc/html/manual/using_macros.html: Likewise.
From-SVN: r234414
GCC Administrator [Wed, 23 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234413
Jeff Law [Tue, 22 Mar 2016 21:32:34 +0000 (15:32 -0600)]
re PR target/70232 (excessive stack usage with -O2)
PR target/70232
tree-ssa-threadbackward.c
(fsm_find_control_statement_thread_paths): Correctly distinguish
between old style jump threads vs FSM jump threads.
PR target/70232
* gcc.dg/tree-ssa/pr70232.c: New test.
From-SVN: r234409
Michael Meissner [Tue, 22 Mar 2016 21:05:43 +0000 (21:05 +0000)]
re PR libgcc/70363 (PowerPC __float128 to long double doesn't link if built with an assember without ISA 3.0 support)
2016-03-22 Michael Meissner <meissner@linux.vnet.ibm.com>
PR libgcc/70363
* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): If libgcc was
built with an assembler that does not support ISA 3.0
instructions, rename __extendkftf2_sw to __extendkftf2.
From-SVN: r234408
Ilya Enkovich [Tue, 22 Mar 2016 19:00:14 +0000 (19:00 +0000)]
re PR target/70302 (crash on valid code at -O2 and -O3 in 32-bit mode on x86_64-linux-gnu (in convert_op, at config/i386/i386.c:3414))
2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/70302
* config/i386/i386.c (scalar_chain::convert_op): Support
uninitialized register usage case.
PR target/70302
* gcc.target/i386/pr70302.c: New test.
From-SVN: r234406
Richard Biener [Tue, 22 Mar 2016 14:38:42 +0000 (14:38 +0000)]
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70251
* genmatch.c (gen_transform): Adjust last parameter to a three-state
int...
(capture::gen_transform): ... to change behavior when substituting
a condition into cond or not-cond expr context.
(dt_simplify::gen_1): Adjust.
* gimple-match-head.c: Include gimplify.h for unshare_expr.
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
last change and instead change to
A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
* g++.dg/torture/pr70251.C: New testcase.
From-SVN: r234405
Anthony Green [Tue, 22 Mar 2016 14:25:44 +0000 (14:25 +0000)]
Fix endianness issue for moxiebox
From-SVN: r234404
David Malcolm [Tue, 22 Mar 2016 14:20:49 +0000 (14:20 +0000)]
PR c/69993: improvements to wording of -Wmisleading-indentation
gcc/c-family/ChangeLog:
PR c/69993
* c-indentation.c (warn_for_misleading_indentation): Rewrite the
diagnostic text, reversing the order of the warning and note so
that they appear in source order.
gcc/testsuite/ChangeLog:
PR c/69993
* c-c++-common/Wmisleading-indentation-3.c: New test, based on
Wmisleading-indentation.c.
* c-c++-common/Wmisleading-indentation.c: Update thoughout to
reflect change to diagnostic text and order of messages.
* gcc.dg/plugin/location-overflow-test-2.c: Likewise.
From-SVN: r234403
David Edelsohn [Tue, 22 Mar 2016 13:46:09 +0000 (13:46 +0000)]
* g++.dg/ext/java-3.C: Don't compile on AIX.
From-SVN: r234402
Richard Biener [Tue, 22 Mar 2016 13:23:00 +0000 (13:23 +0000)]
re PR target/70333 (Test miscompiled with -O0.)
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70333
* fold-const.c (extract_muldiv_1): Properly perform multiplication
in the wide type.
* gcc.dg/torture/pr70333.c: New testcase.
From-SVN: r234401
Kirill Yukhin [Tue, 22 Mar 2016 13:17:11 +0000 (13:17 +0000)]
Remove duplicated AVX-512VL bit check.
gcc/
* config/i386/i386.c (def_builtin): Remove duplicated functionality.
From-SVN: r234400
Ilya Enkovich [Tue, 22 Mar 2016 12:31:12 +0000 (12:31 +0000)]
re PR target/70290 (-mavx512vl breaks parsing of C++ vector condition)
gcc/cp/
PR target/70290
* call.c (build_conditional_expr_1): Always use original
condition type for vector type checks and build.
gcc/testsuite/
PR target/70290
* g++.dg/ext/pr70290.C: New test.
From-SVN: r234399
Martin Liska [Tue, 22 Mar 2016 11:31:53 +0000 (11:31 +0000)]
Fix ChangeLog entries for PR ipa/70306
From-SVN: r234398
Kirill Yukhin [Tue, 22 Mar 2016 11:09:03 +0000 (11:09 +0000)]
re PR target/70325 (ICE on __builtin_ia32_storedquqi256_mask)
PR target/70325
gcc/
* config/i386/i386.c (def_builtin): Handle
OPTION_MASK_ISA_AVX512VL to be and-ed with other
bits.
(const struct builtin_description bdesc_special_args[]):
Remove duplicate ISA bits.
gcc/testsuite/
* gcc.target/i386/pr70325.c: New test.
From-SVN: r234395
Jakub Jelinek [Tue, 22 Mar 2016 08:28:49 +0000 (09:28 +0100)]
re PR target/70329 (wrong code with -mavx512bw and 64byte vectors)
PR target/70329
* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
in a way that works also for AVX512BW.
* gcc.target/i386/avx512bw-pr70329-1.c: New test.
* gcc.target/i386/avx512bw-pr70329-2.c: New test.
From-SVN: r234394
Jakub Jelinek [Tue, 22 Mar 2016 08:14:24 +0000 (09:14 +0100)]
re PR target/70300 (ICE: in extract_constrain_insn, at recog.c:2190 (insn does not satisfy its constraints) with -mtune=amdfam10 -mavx512bw)
PR target/70300
* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
instead of source if operands[1] is xmm16 and above and
!TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
vec_interleave_lowv4sf if we need to unpack xmm16 and above.
* gcc.target/i386/pr70300.c: New test.
From-SVN: r234393
Jakub Jelinek [Tue, 22 Mar 2016 08:11:14 +0000 (09:11 +0100)]
re PR c++/70295 (bogus -Wnonnull-compare for "dynamic_cast<const FuSelection *>(this) != nullptr")
PR c++/70295
* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
on assign if (*from_p) is a comparison, set it to
TREE_NO_WARNING (*from_p).
* c-c++-common/nonnull-1.c (func): Remove parens around cp4 != 0.
(func2): New function for cond with parens, xfail warning for c++.
* g++.dg/warn/Wnonnull-compare-8.C: New test.
From-SVN: r234392
Patrick Palka [Tue, 22 Mar 2016 02:02:01 +0000 (02:02 +0000)]
Fix PR c++/70096 (wrong code for pointer-to-member-function copy)
gcc/cp/ChangeLog:
PR c++/70096
* pt.c (tsubst_decl): Clear the DECL_MODE of the new decl.
gcc/testsuite/ChangeLog:
PR c++/70096
* g++.dg/template/ptrmem30.C: New test.
From-SVN: r234391
Patrick Palka [Tue, 22 Mar 2016 00:30:57 +0000 (00:30 +0000)]
Fix PR c++/70204 (ICE in non_const_var_error)
gcc/cp/ChangeLog:
PR c++/70204
* constexpr.c (non_const_var_error): Check
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
gcc/testsuite/ChangeLog:
PR c++/70204
* g++.dg/cpp0x/constexpr-70204a.C: New test.
* g++.dg/cpp0x/constexpr-70204b.C: New test.
From-SVN: r234390
GCC Administrator [Tue, 22 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234389
Richard Henderson [Mon, 21 Mar 2016 23:03:56 +0000 (16:03 -0700)]
re PR middle-end/70273 (FAIL: g++.dg/ext/label13a.C -std=gnu++98 execution test / scan-assembler _ZN1CC4Ev)
PR c++/70273
* decl.c (notice_forced_label_r): New.
(cp_finish_decl): Use it.
From-SVN: r234386
Jason Merrill [Mon, 21 Mar 2016 21:13:06 +0000 (17:13 -0400)]
re PR c++/70285 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)
PR c++/70285
* cp-gimplify.c (cp_fold) [COND_EXPR]: Handle bit-fields.
From-SVN: r234384
Jakub Jelinek [Mon, 21 Mar 2016 21:04:32 +0000 (22:04 +0100)]
re PR rtl-optimization/70326 (ICE: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1440)
PR middle-end/70326
* lra.c (restore_scratches): Ignore deleted insns.
* gcc.dg/pr70326.c: New test.
From-SVN: r234383
Marc Glisse [Mon, 21 Mar 2016 21:03:44 +0000 (22:03 +0100)]
re PR tree-optimization/70317 (folding x<=x to true for large vectors, ignoring nans)
PR tree-optimization/70317
* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
to HONOR_NANS.
* gcc.dg/pr70317.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234382
Uros Bizjak [Mon, 21 Mar 2016 19:56:50 +0000 (20:56 +0100)]
re PR target/70327 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with -mavx512ifma and v4ti argument)
PR target/70327
* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
of ix86_expand_move.
(movoi): Ditto.
(movti): Use general_operand for operand 1 predicate.
testsuite/ChangeLog:
PR target/70327
* gcc.target/i386/pr70327.c: New test.
From-SVN: r234380
Martin Liska [Mon, 21 Mar 2016 19:39:27 +0000 (20:39 +0100)]
HSA: enhance dump output
* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
insns.
(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
From-SVN: r234379
Martin Liska [Mon, 21 Mar 2016 19:33:33 +0000 (20:33 +0100)]
Skip static ctors/dtors in IPA ICF (PR ipa/70306)
* gcc.dg/ipa/pr70306.c: New test.
* ipa-icf.c (sem_function::parse): Skip static
constructors and destructors.
From-SVN: r234378
Andre Vieira [Mon, 21 Mar 2016 15:58:41 +0000 (15:58 +0000)]
attr-align1.c: Skip if M-profile.
2016-03-21 Andre Vieira <andre.simoesdiasvieira@arm>
gcc/testsuite/
* gcc.target/arm/attr-align1.c: Skip if M-profile.
* gcc.target/arm/attr-align3.c: Likewise.
* gcc.target/arm/attr_arm.c: Likewise.
* gcc.target/arm/flip-thumb.c: Likewise.
From-SVN: r234373
Jakub Jelinek [Mon, 21 Mar 2016 15:41:13 +0000 (16:41 +0100)]
re PR target/70296 (Incorrect handling of vector X; if X is function-like macro)
PR target/70296
* include/cpplib.h (cpp_fun_like_macro_p): New prototype.
* macro.c (cpp_fun_like_macro_p): New function.
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
function-like macro, peek following token(s) if it is followed
by CPP_OPEN_PAREN token with optional padding in between, and
if not, don't treat it like a macro.
* gcc.target/powerpc/altivec-36.c: New test.
From-SVN: r234371
Thomas Schwinge [Mon, 21 Mar 2016 15:31:50 +0000 (16:31 +0100)]
[nvptx] Don't emit sorry for the stabs debug format
* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
for the stabs debug format.
Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
From-SVN: r234370
Richard Biener [Mon, 21 Mar 2016 13:50:50 +0000 (13:50 +0000)]
re PR tree-optimization/70310 (wrong code with vector compare at -O0)
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70310
* tree-vect-generic.c (expand_vector_condition): Fold the built
condition.
* gcc.dg/torture/pr70310.c: New testcase.
From-SVN: r234369
Kirill Yukhin [Mon, 21 Mar 2016 10:51:04 +0000 (10:51 +0000)]
re PR target/70293 ([ICE, AVX-512] Wrong reg constraints in vec_dup)
PR target/70293
gcc/
* config/i386 (define_insn "*vec_dup<mode>"/AVX2): Block
third alternative for AVX-512VL target,
gcc/testsuite/
* gcc.target/i386/pr70293.c: New test.
From-SVN: r234363
Martin Liska [Mon, 21 Mar 2016 10:27:53 +0000 (11:27 +0100)]
Retry to emit global variables in HSA (PR hsa/70234)
PR hsa/70234
* hsa-brig.c (emit_function_directives): Mark unemitted
global variables for emission.
* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
(get_symbol_for_decl): Likewise.
* hsa.h (struct hsa_symbol): New flag.
From-SVN: r234362
Richard Biener [Mon, 21 Mar 2016 09:11:37 +0000 (09:11 +0000)]
re PR tree-optimization/70288 (ICE with -O1 -fno-tree-dominator-opts)
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70288
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
we do not estimate unsimplified all-constant conditionals or
switches as optimized away.
* gcc.dg/torture/pr70288-1.c: New testcase.
* gcc.dg/torture/pr70288-2.c: Likewise.
From-SVN: r234361
Andrey Belevantsev [Mon, 21 Mar 2016 07:54:36 +0000 (10:54 +0300)]
re PR rtl-optimization/69307 (wrong code with -O2 -fselective-scheduling @ armv7a)
PR rtl-optimization/69307
* gcc.target/arm/pr69307.c: New test.
From-SVN: r234360
Andrey Belevantsev [Mon, 21 Mar 2016 07:52:05 +0000 (10:52 +0300)]
re PR rtl-optimization/69102 (ICE: in move_op_ascend, at sel-sched.c:6138 with -fselective-scheduling2)
gcc/
PR rtl-optimization/69102
* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
when we have a readonly dependency context.
testsuite/
PR rtl-optimization/69102
* gcc.c-torture/compile/pr69102.c: New test.
From-SVN: r234359
GCC Administrator [Mon, 21 Mar 2016 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234358
GCC Administrator [Sun, 20 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234355
Jerry DeLisle [Sat, 19 Mar 2016 20:28:38 +0000 (20:28 +0000)]
re PR fortran/69043 (Trying to include a directory causes an infinite loop)
2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69043
* scanner.c (load_file): Update to use S_ISREG macro.
From-SVN: r234352
GCC Administrator [Sat, 19 Mar 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234350
Jason Merrill [Fri, 18 Mar 2016 20:16:05 +0000 (16:16 -0400)]
re PR c++/70139 (-fno-elide-constructor makes static std::regex to throw)
PR c++/70139
* constexpr.c (cxx_eval_call_expression): Fix trivial copy.
From-SVN: r234345
Jeff Law [Fri, 18 Mar 2016 19:30:20 +0000 (13:30 -0600)]
re PR rtl-optimization/70263 (ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (segmentation fault))
PR rtl-optimization/70263
* ira.c (memref_used_between_p): Assert we found END in the insn chain.
(update_equiv_regs): When trying to move a store to after the insn
that sets the source of the store, make sure the store occurs after
the insn that sets the source of the store. When successful note
the REG_EQUIV note created in the dump file.
PR rtl-optimization/70263
* gcc.c-torture/compile/pr70263-1.c: New test.
* gcc.target/i386/pr70263-2.c: New test.
From-SVN: r234344
David Wohlferd [Fri, 18 Mar 2016 19:12:10 +0000 (19:12 +0000)]
David Wohlferd's patch to document more issues with basic asms
* doc/extend.texi: Document more potential problems with basic asms.
From-SVN: r234343
Bernd Schmidt [Fri, 18 Mar 2016 19:09:08 +0000 (19:09 +0000)]
Fix PR70278, a problem with the previous split_reg change
PR rtl-optimization/70278
* lra-constraints.c (split_reg): Handle the case where biggest_mode is
VOIDmode.
testsuite/
* gcc.dg/torture/pr70278.c: New test.
* gcc.target/arm/pr70278.c: New test.
From-SVN: r234342
David Malcolm [Fri, 18 Mar 2016 17:45:42 +0000 (17:45 +0000)]
PR c/70281: C FE: fix uninitialized range for __builtin_types_compatible_p
gcc/c/ChangeLog:
PR c/70281
* c-parser.c (c_parser_postfix_expression): Set the source range
for uses of "__builtin_types_compatible_p".
gcc/testsuite/ChangeLog:
PR c/70281
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_types_compatible_p): New test function.
* gcc.dg/pr70281.c: New test case.
From-SVN: r234340
Uros Bizjak [Fri, 18 Mar 2016 15:44:44 +0000 (16:44 +0100)]
* libsupc++/guard.cc: Revert my last commit.
From-SVN: r234336
Jason Merrill [Fri, 18 Mar 2016 15:31:35 +0000 (11:31 -0400)]
PR c++/70147 - handle primary virtual bases
* class.c (vptr_via_virtual_p): New.
(most_primary_binfo): Factor out of build_rtti_vtbl_entries.
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Don't clear
a vptr from any virtual base in a not-in-charge 'structor.
From-SVN: r234335
Jason Merrill [Fri, 18 Mar 2016 15:31:29 +0000 (11:31 -0400)]
Avoid clobbering primary virtual base when not in charge.
* decl.c (build_clobber_this): Factor out of
start_preparsed_function and begin_destructor_body. Handle
virtual bases better.
From-SVN: r234334
Jason Merrill [Fri, 18 Mar 2016 15:31:24 +0000 (11:31 -0400)]
class.c (build_if_in_charge): Split out from build_base_path.
* class.c (build_if_in_charge): Split out from build_base_path.
* init.c (expand_virtual_init, expand_default_init): Use it.
* call.c (build_special_member_call): Use it.
From-SVN: r234333
Jason Merrill [Fri, 18 Mar 2016 15:31:18 +0000 (11:31 -0400)]
* calls.c (load_register_parameters): Fix zero size sibcall logic.
From-SVN: r234332
Uros Bizjak [Fri, 18 Mar 2016 15:28:54 +0000 (16:28 +0100)]
Revert:
2015-07-02 Uros Bizjak <ubizjak@gmail.com>
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
to avoid unused variable warning.
(__set_and_release): Use __p after __atomic_store to avoid unused
variable warning.
From-SVN: r234331
Christophe Lyon [Fri, 18 Mar 2016 13:58:32 +0000 (13:58 +0000)]
re PR target/70113 ([AArch64] -mpc-relative-literal-loads conflicts with fix-cortex-a53-843419)
2016-03-18 Christophe Lyon <christophe.lyon@linaro.org>
PR target/70113
* gcc.target/aarch64/pr63304_1.c: Add -mno-fix-cortex-a53-843419.
From-SVN: r234330
Kirill Yukhin [Fri, 18 Mar 2016 11:36:30 +0000 (11:36 +0000)]
sse.md: Use vpbroadcastq for broadcasting DF values to 128b regs.
gcc/
* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
values to 128b regs.
From-SVN: r234325
Ilya Enkovich [Fri, 18 Mar 2016 09:36:32 +0000 (09:36 +0000)]
re PR tree-optimization/70252 (ICE in vect_get_vec_def_for_stmt_copy with -O3 -march=skylake-avx512.)
gcc/
PR tree-optimization/70252
* tree-vect-stmts.c (supportable_widening_operation): Check resulting
boolean vector has a proper number of elements.
(supportable_narrowing_operation): Likewise.
gcc/testsuite/
PR tree-optimization/70252
* gcc.dg/pr70252.c: New test.
From-SVN: r234323
Tom de Vries [Fri, 18 Mar 2016 09:17:33 +0000 (09:17 +0000)]
Add testcases for pr70161
2016-03-18 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr70161-2.c: New test.
* gcc.dg/pr70161.c: New test.
From-SVN: r234322
Tom de Vries [Fri, 18 Mar 2016 09:17:23 +0000 (09:17 +0000)]
Set dump_file to NULL in cgraph_node::get_body
2016-03-18 Tom de Vries <tom@codesourcery.com>
PR ipa/70269
* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
* gcc.dg/pr70269.c: New test.
From-SVN: r234321
Jakub Jelinek [Fri, 18 Mar 2016 08:25:57 +0000 (09:25 +0100)]
reload1.c (emit_input_reload_insns): Use simplify_replace_rtx instead of replace_rtx for DEBUG_INSNs.
* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
instead of replace_rtx for DEBUG_INSNs.
From-SVN: r234320
Jakub Jelinek [Fri, 18 Mar 2016 07:59:36 +0000 (08:59 +0100)]
re PR c++/70267 (ICE on invalid code at -O1 and above on x86_64-linux-gnu in propagate_necessity, at tree-ssa-dce.c:924)
PR c++/70267
* init.c (build_new_1): Complain and return error_mark_node
if alloc_fn is not _Jv_AllocObject function returning pointer.
* g++.dg/ext/java-3.C: New test.
From-SVN: r234319
Venkataramanan Kumar [Fri, 18 Mar 2016 07:49:00 +0000 (07:49 +0000)]
Fix latencies in znver1.md
2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
load type reservations.
From-SVN: r234318
Patrick Palka [Fri, 18 Mar 2016 01:26:50 +0000 (01:26 +0000)]
Fix PR c++/70205 (ICE on valid call to qualified static member function)
gcc/cp/ChangeLog:
PR c++/70205
* search.c (adjust_result_of_qualified_name_lookup): Don't
update the BASELINK_BINFO of DECL if the second call
to lookup_base fails.
gcc/testsuite/ChangeLog:
PR c++/70205
* g++.dg/lookup/pr70205.C: New test.
From-SVN: r234317
Patrick Palka [Fri, 18 Mar 2016 01:23:26 +0000 (01:23 +0000)]
Fix PR c++/70218 (illegal access to private field succeeds)
gcc/cp/ChangeLog:
PR c++/70218
* parser.c (cp_parser_lambda_expression): Move call to
pop_deferring_access_checks ahead of the call to
cp_parser_end_tentative_firewall.
gcc/testsuite/ChangeLog:
PR c++/70218
* g++.dg/cpp0x/lambda/lambda-70218.C: New test.
From-SVN: r234316
GCC Administrator [Fri, 18 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234315
Jakub Jelinek [Thu, 17 Mar 2016 23:00:04 +0000 (00:00 +0100)]
re PR middle-end/70280 (-fcompare-debug failure (length) with --param=integer-share-limit=4016 -mavx512bw)
PR c/70280
* c-typeck.c (composite_type): Don't count void_list_node
into len, if the list is terminated by void_list_node, start
with void_list_node instead of NULL for newargs. Stop
at void_list_node.
From-SVN: r234312
Cary Coutant [Thu, 17 Mar 2016 22:54:19 +0000 (15:54 -0700)]
Sync top-level configure.ac with binutils-gdb.
2016-03-17 Cary Coutant <ccoutant@gmail.com>
* configure.ac: Add mips and s390 to the gold target check.
* configure: Regenerate.
From-SVN: r234309
John David Anglin [Thu, 17 Mar 2016 22:49:15 +0000 (22:49 +0000)]
re PR target/70188 (gcc 4.9+ miscompiles code on hppa)
PR target/70188
* config/pa/constraints.md: Revert 2015-02-13 change. Use
define_constraint for "Q" and "T" constraints.
From-SVN: r234308
Evandro Menezes [Thu, 17 Mar 2016 21:20:50 +0000 (21:20 +0000)]
Tweak the pipeline model for Exynos M1
* gcc/config/aarch64/aarch64.c
(exynosm1_tunings): Enable the weak prefetching model.
From-SVN: r234307
Marek Polacek [Thu, 17 Mar 2016 18:43:08 +0000 (18:43 +0000)]
re PR c/69407 (-Wunused-value on __atomic_fetch_OP and __atomic_OP_fetch)
PR c/69407
* c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
operations.
* gcc.dg/atomic-op-6.c: New test.
From-SVN: r234304
David Malcolm [Thu, 17 Mar 2016 18:27:47 +0000 (18:27 +0000)]
PR c/70264: fix crash in compatible_locations_p with BUILTINS_LOCATION
In r234088 my fix for PR c++/70105 didn't allow for the possibility that
when comparing a pair of macro expansion histories that one of the
macros in the history might not be located within a line-map, and
PR c/70264 reports a crash due to encountering BUILTINS_LOCATION within
the traversal.
Fixed thusly.
Successfully bootstrapped on x86_64-pc-linux-gnu; adds 4 PASS results
to gcc.sum and 12 to g++.sum.
gcc/ChangeLog:
PR c/70264
* diagnostic-show-locus.c (compatible_locations_p): Handle the case
where one or both locations aren't within a line_map.
gcc/testsuite/ChangeLog:
PR c/70264
* c-c++-common/pr70264.c: New test case.
From-SVN: r234303
Jakub Jelinek [Thu, 17 Mar 2016 15:58:22 +0000 (16:58 +0100)]
re PR tree-optimization/70144 (g++ ICE at -O1 and above on valid code on x86_64-linux-gnu in "copy_reference_ops_from_ref")
PR c++/70144
* cp-tree.h (magic_varargs_p): Return int instead of bool.
* call.c (magic_varargs_p): Return int instead of bool, return 2 for
Cilk+ reductions, otherwise 1 for magic varargs and 0 for normal
varargs.
(build_over_call): If magic_varargs_p == 2, call reject_gcc_builtin,
if magic_varargs_p == 1, call decay_conversion
instead of mark_type_use. Don't store error_mark_node arguments to
argarray, instead return error_mark_node.
* c-c++-common/pr70144-1.c: New test.
* c-c++-common/pr70144-2.c: New test.
From-SVN: r234297
Jakub Jelinek [Thu, 17 Mar 2016 15:56:19 +0000 (16:56 +0100)]
re PR c++/70272 (-flifetime-dse miscompilation starting with r217967)
PR c++/70272
* decl.c (begin_destructor_body): Don't insert clobber if
is_empty_class (current_class_type).
* g++.dg/opt/flifetime-dse5.C (main): Remove extra semicolon.
* g++.dg/opt/flifetime-dse6.C: New test.
* g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count.
From-SVN: r234296
H.J. Lu [Thu, 17 Mar 2016 15:11:35 +0000 (15:11 +0000)]
Properly set flag_pie and flag_pic
We can't set flag_pie to the default when flag_pic == 0, which may be
set by -fno-pic or -fno-PIC, since the default value of flag_pie is
non-zero when GCC is configured with --enable-default-pie. We need
to initialize flag_pic to -1 so that we can tell if -fpic, -fPIC,
-fno-pic or -fno-PIC is used.
Since Darwin defaults to PIC (__PIC__ == 2) and the PIC setting can't
be changed, skip tests of default __PIC__ and __PIE__ setting for
*-*-darwin* targets.
gcc/
PR driver/70192
* opts.c (finish_options): Don't set flag_pie to the default if
-fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
if it is -1.
gcc/testsuite/
PR driver/70192
* gcc.dg/pic-1.c: New test.
* gcc.dg/pic-2.c: Likewise.
* gcc.dg/pic-3.c: Likewise.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pie-2.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
* gcc.dg/pie-5.c: Likewise.
* gcc.dg/pie-6.c: Likewise.
From-SVN: r234295
Thomas Schwinge [Thu, 17 Mar 2016 15:07:54 +0000 (16:07 +0100)]
Rename GOMP_MAP_FORCE_DEALLOC to GOMP_MAP_DELETE
Also rename the Fortran OMP_MAP_FORCE_DEALLOC to OMP_MAP_DELETE.
include/
* gomp-constants.h (enum gomp_map_kind): Rename
GOMP_MAP_FORCE_DEALLOC to GOMP_MAP_DELETE. Adjust all users.
gcc/fortran/
* gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
to OMP_MAP_DELETE. Adjust all users.
From-SVN: r234294
Tom de Vries [Thu, 17 Mar 2016 14:56:43 +0000 (14:56 +0000)]
Add goacc/kernels-alias-{3,4}.f95
2016-03-17 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-alias-3.f95: New test.
* gfortran.dg/goacc/kernels-alias-4.f95: New test.
From-SVN: r234292
Joern Rennecke [Thu, 17 Mar 2016 14:10:39 +0000 (14:10 +0000)]
i386.md (*movv4qicc_insn+1..36): Pass true as ALL_REGS argument to replace_rtx.
* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
true as ALL_REGS argument to replace_rtx.
From-SVN: r234290
Richard Biener [Thu, 17 Mar 2016 13:43:01 +0000 (13:43 +0000)]
re PR debug/70271 (internal compiler error: in dwarf2out_finish, at dwarf2out.c:27346)
2016-03-17 Richard Biener <rguenther@suse.de>
PR debug/70271
* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
last.
* g++.dg/debug/pr70271.C: New testcase.
From-SVN: r234289
Jakub Jelinek [Thu, 17 Mar 2016 11:53:53 +0000 (12:53 +0100)]
re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
* rtl.h (replace_rtx): Add ALL_REGS argument.
* rtlanal.c (replace_rtx): Likewise. If true, use REGNO
equality and assert mode is the same, instead of just rtx pointer
equality.
* config/i386/i386.md (mov + arithmetics with load peephole): Pass
true as ALL_REGS argument to replace_rtx.
From-SVN: r234285
H.J. Lu [Thu, 17 Mar 2016 11:07:10 +0000 (11:07 +0000)]
Set flag_pic to flag_pie for PIE in LTO
Since PIE implies PIC, we should set flag_pic to flag_pie for PIE in
LTO.
PR lto/70258
* lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
PIE.
From-SVN: r234284
Ilya Enkovich [Thu, 17 Mar 2016 10:58:26 +0000 (10:58 +0000)]
match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply for boolean vector with vector mode only.
gcc/
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
for boolean vector with vector mode only.
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
gcc/testsuite/
* gcc.target/i386/pr70251.c: New test.
From-SVN: r234283
Andreas Schwab [Thu, 17 Mar 2016 10:47:58 +0000 (10:47 +0000)]
Summary: libffi: define FFI_SIZEOF_JAVA_RAW for aarch64 ILP32
* src/aarch64/ffitarget.h (FFI_SIZEOF_JAVA_RAW) [__ILP32__]:
Define.
From-SVN: r234282
Marek Polacek [Thu, 17 Mar 2016 10:29:36 +0000 (10:29 +0000)]
re PR c++/70194 (missing -Waddress on constexpr pointer)
PR c++/70194
* typeck.c (warn_for_null_address): New function.
(cp_build_binary_op): Call it.
* g++.dg/warn/constexpr-70194.C: New test.
From-SVN: r234281
Nick Clifton [Thu, 17 Mar 2016 10:16:38 +0000 (10:16 +0000)]
re PR target/70162 ([RX] const_int printing causes wrong code on 32 bit host)
PR target/70162
* config/rx/rx.c (rx_print_integer): Print negative constants in
decimal.
From-SVN: r234280
Jakub Jelinek [Thu, 17 Mar 2016 08:01:26 +0000 (09:01 +0100)]
re PR rtl-optimization/70261 (r234265 causes fails on rs6000)
PR target/70261
* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
From-SVN: r234279
Joseph Myers [Thu, 17 Mar 2016 00:21:09 +0000 (00:21 +0000)]
* fr.po: Update.
From-SVN: r234278
Joseph Myers [Thu, 17 Mar 2016 00:20:21 +0000 (00:20 +0000)]
* fr.po: Update.
From-SVN: r234277
GCC Administrator [Thu, 17 Mar 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234276
Richard Henderson [Wed, 16 Mar 2016 23:53:18 +0000 (16:53 -0700)]
re PR middle-end/70240 (ICE: in gimplify_modify_expr, at gimplify.c:4854 with -ftree-vectorize)
PR middle-end/70240
* gcc.c-torture/compile/pr70240.c: New.
From-SVN: r234273
Richard Henderson [Wed, 16 Mar 2016 23:53:10 +0000 (16:53 -0700)]
Revert r231575
PR middle-end/70240
PR middle-end/68215
2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
Do not gimplify the result.
(do_unop): Adjust call to tree_vec_extract.
(do_binop): Likewise.
(do_compare): Likewise.
(do_plus_minus): Likewise.
(do_negate): Likewise.
(expand_vector_condition): Likewise.
(do_cond): Likewise.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234272
Richard Henderson [Wed, 16 Mar 2016 23:53:01 +0000 (16:53 -0700)]
Gimplify vec_cond_expr with condition inside
PR middle-end/70240
PR middle-end/68215
PR tree-opt/68714
* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
first operand as is_gimple_condexpr.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234271
Richard Henderson [Wed, 16 Mar 2016 21:23:05 +0000 (14:23 -0700)]
re PR target/70048 ([AArch64] Inefficient local array addressing)
PR target/70048
* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
(aarch64_classify_address): Use it.
(aarch64_legitimize_address): Force all subexpressions of PLUS
into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
From-SVN: r234269
Jason Merrill [Wed, 16 Mar 2016 19:37:22 +0000 (15:37 -0400)]
re PR c++/70259 (-flifetime-dse=2 bug with empty bases)
PR c++/70259
* decl.c (start_preparsed_function): Don't clobber an empty base.
From-SVN: r234267
Senthil Kumar Selvaraj [Wed, 16 Mar 2016 18:09:51 +0000 (18:09 +0000)]
20151204.c: Skip for avr.
2016-03-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/compile/
20151204.c: Skip for avr.
From-SVN: r234266
Jakub Jelinek [Wed, 16 Mar 2016 17:52:20 +0000 (18:52 +0100)]
re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
* rtlanal.c (replace_rtx): For REG, if from is a REG,
return to even if only REGNO is equal, and assert
mode is the same.
* g++.dg/opt/pr70245.C: New test.
* g++.dg/opt/pr70245.h: New file.
* g++.dg/opt/pr70245-aux.cc: New file.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234265
Martin Sebor [Wed, 16 Mar 2016 17:42:41 +0000 (17:42 +0000)]
g++.dg/cpp1y/constexpr-instantiate.C: Correct DejaGnu directives.
From-SVN: r234264
Jeff Law [Wed, 16 Mar 2016 17:03:45 +0000 (11:03 -0600)]
Fix bug ID in last commit
From-SVN: r234263
Jeff Law [Wed, 16 Mar 2016 16:58:12 +0000 (10:58 -0600)]
re PR rtl-optimization/70224 (ICE: RTL flag check: CROSSING_JUMP_P used with unexpected rtx code 'insn' in relax_delay_slots, at reorg.c:3310)
PR rtl-optimization/70024
* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
From-SVN: r234262
Richard Henderson [Wed, 16 Mar 2016 16:50:18 +0000 (09:50 -0700)]
re PR middle-end/70199 (Crash at -O2 when using labels.)
PR middle-end/70199
* function.h (struct function): Add has_forced_label_in_static.
* gimplify.c (force_labels_r): Set it.
* lto-streamer-in.c (input_struct_function_base): Read it.
* lto-streamer-out.c (output_struct_function_base): Write it.
* tree-inline.c (has_label_address_in_static_1): Remove.
(copy_forbidden): Remove fndecl parameter; test
has_forced_label_in_static.
(inline_forbidden_p): Update call to copy_forbidden.
(tree_versionable_function_p): Likewise.
* ipa-chkp.c (chkp_instrumentable_p): Likewise.
(chkp_versioning): Likewise.
* tree-inline.h (copy_forbidden): Update decl.
testsuite/
* gcc.c-torture/compile/pr70199.c: New.
From-SVN: r234261
H.J. Lu [Wed, 16 Mar 2016 16:14:34 +0000 (16:14 +0000)]
Run dos2unix on gcc.dg/uninit-19.c
* gcc.dg/uninit-19.c: Run dos2unix.
From-SVN: r234260
Marek Polacek [Wed, 16 Mar 2016 15:51:47 +0000 (15:51 +0000)]
re PR c/70093 (Instancing function with VM return type cases internal compiler error in 'assign_stack_temp_for_type'.)
PR c/70093
* c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
nested functions returning VM types.
* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
function being thunked if the result type doesn't have fixed size.
* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
doesn't have fixed size.
* gcc.dg/nested-func-10.c: New test.
* gcc.dg/nested-func-9.c: New test.
From-SVN: r234259
Jakub Jelinek [Wed, 16 Mar 2016 13:34:36 +0000 (14:34 +0100)]
re PR tree-optimization/68714 (less folding of vector comparison)
PR tree-optimization/68714
* gcc.dg/tree-ssa/pr68714.c: Add -w -Wno-psabi to dg-options.
From-SVN: r234258