Re: [PATCH][AArch64] Implement ALU_BRANCH fusion

2017-03-15 Thread Kyrill Tkachov
Hi Naveen, On 15/03/17 05:32, Hurugalawadi, Naveen wrote: Hi James, My reason for asking is that the instruction fusion implemented in LLVM ( lib/Target/AArch64/AArch64MacroFusion.cpp::shouldScheduleAdjacent ) Sorry. There seems to be some confusion in the branch instructions. The branch shou

Re: [PATCH 2] Fix multiple target clones nodes (PR lto/66295).

2017-03-15 Thread Rainer Orth
Hi Martin, > This is a small follow-up patch, where local.local flag should be also dropped > for a default implementation. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? the testcase causes WARNING: profopt.exp does not support dg-error I

Re: [PATCH 3/3] Introduce IntegerRange for options (PR driver/79659).

2017-03-15 Thread Martin Liška
Huh, I forgot to attach the patch. Martin >From bb89456e6cecfa9497cf8e265d2083e762d5bc3e Mon Sep 17 00:00:00 2001 From: marxin Date: Mon, 27 Feb 2017 14:07:03 +0100 Subject: [PATCH] Introduce IntegerRange for options (PR driver/79659). gcc/ChangeLog: 2017-02-28 Martin Liska PR driver/7965

Re: [PATCH][AArch64] Implement ALU_BRANCH fusion

2017-03-15 Thread Hurugalawadi, Naveen
Hi Kyrill, >> I suggest you reword the whole comment and not talk about particular CPUs >> but rather about the kinds of instructions you want to fuse Modified as per the comments. Had modified the earlier version of patch which had the vulcan reservation before James comments. Please find attac

Re: [PATCH 2] Fix multiple target clones nodes (PR lto/66295).

2017-03-15 Thread Martin Liška
On 03/15/2017 10:30 AM, Rainer Orth wrote: Hi Martin, This is a small follow-up patch, where local.local flag should be also dropped for a default implementation. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? the testcase causes WARNING: prof

Re: [PATCH 1/5] Fix *_CST ICEs connected to MPX.

2017-03-15 Thread Martin Liška
On 03/15/2017 12:58 AM, Ilya Enkovich wrote: 2017-03-13 16:33 GMT+03:00 Martin Liška : On 03/13/2017 02:07 PM, Richard Biener wrote: No, that can't happen. I said that for example for struct S { ... } s; foo (s); pass_by_reference may be true but on gimple you see a struct s as actual argume

Re: [PATCH] MPX: fix PR middle-end/79753

2017-03-15 Thread Martin Liška
On 03/14/2017 11:27 PM, Ilya Enkovich wrote: 2017-03-10 16:15 GMT+03:00 Martin Liška : Hello. Currently, __builtin_ia32_bndret is used for all functions that have non-void return type. I think the right fix is to return bounds just for a bounded type. Patch can bootstrap on x86_64-linux-gnu an

Re: [PATCH] Install gcov-dump.

2017-03-15 Thread Martin Liška
On 03/14/2017 06:31 PM, Matthias Klose wrote: On 14.03.2017 15:15, Richard Biener wrote: On Tue, Mar 14, 2017 at 1:30 PM, Martin Liška wrote: Tested on my local machine that's properly installed. Ready for trunk? Ok. Richard. shouldn't that go to the active branches as well? Matthias

Re: [PATCH] Suppress compiler warning in libgcc/unwind-seh.c

2017-03-15 Thread JonY
On 03/15/2017 04:12 AM, Jeff Law wrote: > On 03/01/2017 04:36 AM, JonY wrote: >> Patch OK? >> >> ChangeLog: >> * unwind-seh.c: Suppress warnings for RtlUnwindEx() calls. > You know this stuff better than anyone else working with GCC. If you > think this is the right thing to do for the SEH cod

Re: [PATCH doc] use "cannot" consistently

2017-03-15 Thread Richard Kenner
> First, I agree that the less formal language is becoming more > acceptable. Some style guides explicitly allow contractions, > but others advise against them. The technical specifications > that significant parts of GCC aim to conform to, and those I > happen to work with the most closely (the

[committed] C PATCH to remove a redundant line

2017-03-15 Thread Marek Polacek
We set ENUM_LOC, and then overwrite it without ever using it. Remove the line. Bootstrapped/regtested on x86_64-linux, applying to trunk. 2017-03-15 Marek Polacek * c-parser.c (c_parser_enum_specifier): Remove redundant line. diff --git gcc/c/c-parser.c gcc/c/c-parser.c index 46883e

[PATCH, i386]: Fix PR 80019, ICE in ix86_vector_duplicate_value

2017-03-15 Thread Uros Bizjak
2017-03-15 Uros Bizjak PR target/80019 * config/i386/i386.c (ix86_vector_duplicate_value): Create subreg of inner mode for values already in registers. testsuite/ChangeLog: 2017-03-15 Uros Bizjak PR target/80019 * gcc.target/i386/pr80019.c: New test. Bootstrapped and

Fix C6X hwloop issue

2017-03-15 Thread Bernd Schmidt
This fixes a failure in the testsuite. When we transform the doloop pattern, the decrement of the old iteration register goes away, which is a problem if it's used after the loop (where it should have the value zero). Committed. Bernd * config/c6x/c6x.c (predicate_insn): Avoid rtl sharing fa

[PATCH 2/3] Replace error with internal_error_cont in cgraph.c (PR ipa/79857).

2017-03-15 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR ipa/79857 * cgraph.c (cgraph_edge::verify_count_and_frequency): Replace error with internal_error_cont. (cgraph_node::verify_node): Likewise. --- gcc/cgraph.c | 139 --

[PATCH 1/3] Introduce internal_error_cont function and use it in cfgrtl.c (PR rtl-optimization/79856).

2017-03-15 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR rtl-optimization/79856 * cfgrtl.c (try_redirect_by_replacing_jump): Fix GNU coding style. (fixup_partition_crossing): Likewise. (fixup_new_cold_bb): Likewise. (emit_barrier_after_bb): Likewise. (f

Re: [Patch, libgfortran, committed] Don't use rand_s on CYGWIN

2017-03-15 Thread Janne Blomqvist
On Tue, Mar 14, 2017 at 10:05 AM, Janne Blomqvist wrote: > On Tue, Mar 14, 2017 at 6:32 AM, NightStrike wrote: >> On Mon, Mar 13, 2017 at 5:01 AM, Janne Blomqvist >> wrote: >>> On Sun, Mar 12, 2017 at 10:46 PM, Janne Blomqvist >>> wrote: On Sun, Mar 12, 2017 at 7:26 PM, NightStrike wrote:

Re: [PATCH] Install gcov-dump.

2017-03-15 Thread Richard Biener
On March 15, 2017 11:19:24 AM GMT+01:00, "Martin Liška" wrote: >On 03/14/2017 06:31 PM, Matthias Klose wrote: >> On 14.03.2017 15:15, Richard Biener wrote: >>> On Tue, Mar 14, 2017 at 1:30 PM, Martin Liška >wrote: Tested on my local machine that's properly installed. Ready for trun

[PATCH 0/3] Introduce internal_error_cont and exclude it from pot files

2017-03-15 Thread Martin Liška
Hello. Following small series exclude some strings from pot files via introduction of internal_error_cont function. Patch can bootstrap and survives regression tests. (Sorry for broken threading because my cover letter was rejected). Martin marxin (3): Introduce internal_error_cont function

Re: Combiner fix for PR79910

2017-03-15 Thread Bernd Schmidt
On 03/15/2017 12:09 AM, Bernd Schmidt wrote: I'll retest with your suggestion and with the bitmap creation conditional on i1 being nonnull. Like this (also had to throw in a bitmap_empty_p). Retested as before. Ok? Bernd Index: gcc/combine.c =

Re: Combiner fix for PR79910

2017-03-15 Thread Bernd Schmidt
On 03/15/2017 04:00 PM, Bernd Schmidt wrote: On 03/15/2017 12:09 AM, Bernd Schmidt wrote: I'll retest with your suggestion and with the bitmap creation conditional on i1 being nonnull. Like this (also had to throw in a bitmap_empty_p). Retested as before. Ok? Oops, that one also has dbg_cnt

Re: [PATCH][AArch64] Implement ALU_BRANCH fusion

2017-03-15 Thread Wilco Dijkstra
Hi, I think the patch isn't quite complete yet. You will also need changes in generic code. Currently sched_macro_fuse_insns() does: if (any_condjump_p (insn)) { unsigned int condreg1, condreg2; rtx cc_reg_1; targetm.fixed_condition_code_regs (&condreg1, &condreg2);

[PATCH] rs6000: Do not xfail nint_2.f90 on Linux systems

2017-03-15 Thread Segher Boessenkool
It was XFAILed because there was a bug in glibc, but that bug was fixed nine years ago. Nowadays everyone uses a version of glibc with the bug fixed, so we should no longer XFAIL the test. This fixes it. Testing on powerpc64-linux {-m32,-m64}, will commit if that succeeds. Segher 2017-03-15

Re: [PATCH 1/5] testsuite: attr-alloc_size-11.c (PR79356)

2017-03-15 Thread Jiong Wang
On 10/03/17 15:26, Segher Boessenkool wrote: On Fri, Mar 10, 2017 at 01:57:31PM +0100, Rainer Orth wrote: I just noticed that nothing has happened at all in a month, so anything is better than the tests XPASSing on a number of targets. So the patch is ok for mainline with sparc*-*-* added to th

[PATCH] Fix typo in config.h.in comment

2017-03-15 Thread Jonathan Wakely
I'm committing this patch to fix a typo in /* Define if ... */ comment that ends up in config.h This was submitted as a pull request against the unofficial github mirror: https://github.com/gcc-mirror/gcc/pull/10 * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in comm

[PATCH,testsuite] Skip gcc.dg/pic-2.c and gcc.dg/pie-2.c for MIPS.

2017-03-15 Thread Toma Tabacu
Hi, The gcc.dg/pic-2.c and gcc.dg/pie-2.c tests are failing for MIPS targets because __PIC__ is always set to 1 for MIPS. This patch makes the testsuite skip those two tests for all MIPS targets. Tested with mips-mti-elf and mips-mti-linux-gnu. Should I have fixed this in target-supports.exp in

RE: [PATCH] Fix MIPS-specific ICE in gcc.dg/pr77834.c (PR rtl-optimization/79150).

2017-03-15 Thread Matthew Fortune
Hi Catherine, What is your opinion on this patch? I am OK with the temporary workaround on the basis that the additional nop is successfully eliminated so there is no code size increase. Also, I am happy enough that the CFG is fixed very soon after the block move is expanded so the 'bad' basic blo

Re: [PATCH 1/5] testsuite: attr-alloc_size-11.c (PR79356)

2017-03-15 Thread Rainer Orth
Hi Jiong, >> Subject: [PATCH] testsuite, 79356 >> >> As stated in the PR (and elsewhere), this test now passes on aarch64, >> ia64, mips, powerpc, sparc, and s390x. This patch disables the xfails >> for those targets. >> >> >> gcc/testsuite/ >> PR testsuite/79356 >> * gcc.dg/attr-alloc_

[wwwdocs] Add more libstdc++ changes to /gcc-7/changes.html

2017-03-15 Thread Jonathan Wakely
Some recent changes. Index: htdocs/gcc-7/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-7/changes.html,v retrieving revision 1.71 diff -u -r1.71 changes.html --- htdocs/gcc-7/changes.html 14 Mar 2017 19:42:38 - 1.71 +++ ht

Re: [PATCH 1/5] testsuite: attr-alloc_size-11.c (PR79356)

2017-03-15 Thread Jiong Wang
On 15/03/17 15:34, Rainer Orth wrote: Hi Jiong, Subject: [PATCH] testsuite, 79356 As stated in the PR (and elsewhere), this test now passes on aarch64, ia64, mips, powerpc, sparc, and s390x. This patch disables the xfails for those targets. gcc/testsuite/ PR testsuite/79356

Re: [PATCH doc] use "cannot" consistently

2017-03-15 Thread Martin Sebor
On 03/15/2017 05:00 AM, Richard Kenner wrote: First, I agree that the less formal language is becoming more acceptable. Some style guides explicitly allow contractions, but others advise against them. The technical specifications that significant parts of GCC aim to conform to, and those I happ

RE: [PATCH,testsuite] Skip gcc.dg/pic-2.c and gcc.dg/pie-2.c for MIPS.

2017-03-15 Thread Matthew Fortune
Toma Tabacu writes: > The gcc.dg/pic-2.c and gcc.dg/pie-2.c tests are failing for MIPS targets > because __PIC__ is always set to 1 for MIPS. > > This patch makes the testsuite skip those two tests for all MIPS > targets. > > Tested with mips-mti-elf and mips-mti-linux-gnu. > > Should I have fi

[PATCH][GCC][AArch64] Fix subreg bug in scalar copysign

2017-03-15 Thread Tamar Christina
Hi All, This fixes a bug in the scalar version of copysign where due to a subreg were generating less than efficient code. This patch replaces return x * __builtin_copysignf (150.0f, y); which used to generate adrpx1, .LC1 mov x0, 2147483648 ins v3.d[0],

[PATCH][GCC][AArch64] Fix incorrect INS in SIMD mov pattern

2017-03-15 Thread Tamar Christina
Hi All, This patch fixes a bug in the SIMD mov pattern where we were doing an insert and leaving the rest of the vector in an undetermined state. This could cause a bug if something else expects the other lanes to be 0. Semantically we wanted a mov here and not an insert. This is in line with o

Re: [PATCH doc] use "cannot" consistently

2017-03-15 Thread Martin Sebor
On 03/15/2017 09:40 AM, Martin Sebor wrote: On 03/15/2017 05:00 AM, Richard Kenner wrote: First, I agree that the less formal language is becoming more acceptable. Some style guides explicitly allow contractions, but others advise against them. The technical specifications that significant par

Re: [PATCH 3/3] Regenerate gcc.pot.

2017-03-15 Thread Joseph Myers
On Wed, 15 Mar 2017, Martin Liška wrote: > gcc/po/ChangeLog: > > 2017-03-15 Martin Liska > > * exgettext: Exclude internal_error_cont from location. If you don't want a function's arguments to be extracted for translation, you should not special-case it in exgettext. Instead: * Ensu

Re: Combiner fix for PR79910

2017-03-15 Thread Jeff Law
On 03/15/2017 09:00 AM, Bernd Schmidt wrote: On 03/15/2017 12:09 AM, Bernd Schmidt wrote: I'll retest with your suggestion and with the bitmap creation conditional on i1 being nonnull. Like this (also had to throw in a bitmap_empty_p). Retested as before. Ok? Yea, not surprised you needed th

Re: [PATCH] MPX: fix PR middle-end/79753

2017-03-15 Thread Jeff Law
On 03/15/2017 04:15 AM, Martin Liška wrote: On 03/14/2017 11:27 PM, Ilya Enkovich wrote: 2017-03-10 16:15 GMT+03:00 Martin Liška : Hello. Currently, __builtin_ia32_bndret is used for all functions that have non-void return type. I think the right fix is to return bounds just for a bounded type

Re: [PATCH 1/5] Fix *_CST ICEs connected to MPX.

2017-03-15 Thread Jeff Law
On 03/15/2017 04:12 AM, Martin Liška wrote: On 03/15/2017 12:58 AM, Ilya Enkovich wrote: 2017-03-13 16:33 GMT+03:00 Martin Liška : On 03/13/2017 02:07 PM, Richard Biener wrote: No, that can't happen. I said that for example for struct S { ... } s; foo (s); pass_by_reference may be true but

Re: [PATCH] Fix PR79908

2017-03-15 Thread Bill Schmidt
> On Mar 14, 2017, at 9:25 AM, Richard Biener > wrote: > > On Tue, Mar 14, 2017 at 3:20 PM, Bill Schmidt > wrote: >> >>> On Mar 14, 2017, at 7:50 AM, Bill Schmidt >>> wrote: >>> >>> On Mar 14, 2017, at 3:57 AM, Richard Biener wrote: On Tue, Mar 14, 2017 at 1:04 AM,

Re: [PATCH 0/3] Introduce internal_error_cont and exclude it from pot files

2017-03-15 Thread David Malcolm
On Wed, 2017-03-15 at 14:53 +0100, Martin Liška wrote: > Hello. > > Following small series exclude some strings from pot files via > introduction of internal_error_cont function. > > Patch can bootstrap and survives regression tests. > > (Sorry for broken threading because my cover letter was re

Re: [PATCH][GCC][AArch64] Fix incorrect INS in SIMD mov pattern

2017-03-15 Thread James Greenhalgh
On Wed, Mar 15, 2017 at 04:09:05PM +, Tamar Christina wrote: > This patch fixes a bug in the SIMD mov pattern where we were doing an > insert and leaving the rest of the vector in an undetermined state. This > could cause a bug if something else expects the other lanes to be 0. > > Semantically

Re: [PATCH] MPX: fix PR middle-end/79753

2017-03-15 Thread Ilya Enkovich
2017-03-15 13:15 GMT+03:00 Martin Liška : > On 03/14/2017 11:27 PM, Ilya Enkovich wrote: >> >> 2017-03-10 16:15 GMT+03:00 Martin Liška : >>> >>> Hello. >>> >>> Currently, __builtin_ia32_bndret is used for all functions that have >>> non-void >>> return type. I think the right fix is to return bound

Re: [PATCH] MPX: fix PR middle-end/79753

2017-03-15 Thread Ilya Enkovich
2017-03-15 20:09 GMT+03:00 Jeff Law : > On 03/15/2017 04:15 AM, Martin Liška wrote: >> >> On 03/14/2017 11:27 PM, Ilya Enkovich wrote: >>> >>> 2017-03-10 16:15 GMT+03:00 Martin Liška : Hello. Currently, __builtin_ia32_bndret is used for all functions that have non-void

Re: [PATCH doc] use "cannot" consistently

2017-03-15 Thread Toon Moene
On 03/14/2017 09:53 PM, Richard Kenner wrote: The GCC manual uses "cannot" in most places (280 lines) but there are a few instances of "can't" (33 lines). The attached patch replaces the informal "can't" with the former for consistency. In my opinion, this is the wrong direction. Contraction

Re: [PATCH doc] use "cannot" consistently

2017-03-15 Thread Richard Kenner
> > The latter references other documents, which advocate for more use of > > contractions even in formal writing. > > These are legal guides, not obviously relevant in the context > of technical writing. Yes and no. The argument for them is that legal writing is the most formal of all and has b

Re: [PATCH] Remove __gnu_pbds::detail::binary_heap::is_heap (PR libstdc++/62045) [resend]

2017-03-15 Thread Jonathan Wakely
On 10/03/17 11:54 +, Jonathan Wakely wrote: On 10/03/17 19:36 +0800, Xi Ruoyao wrote: Hi, This was resent to be in both libstdc++ and gcc-patches list. Thanks. The ill-formed checking in binary_heap::push_heap has made it O(n). Remove this checking. The checking certainly looks redund

Re: [PATCH] Fix location of sizeof/alignof (PR c++/80016)

2017-03-15 Thread Jason Merrill
This looks very safe, but not critical enough for stage 4. So I think wait for stage 1, and maybe also put it on the branch later. Jason On Tue, Mar 14, 2017 at 9:05 PM, David Malcolm wrote: > PR c++/80016 reports an issue with bizarre underlined range > for a complicated expression. > > The ro

[PATCH] avoid relying on getcwd extensions (PR 80047)

2017-03-15 Thread Martin Sebor
PR 80047 - fixincludes/fixincl.c: PVS-Studio: Improper Release of Memory Before Removing Last Reference (CWE-401) points out that the fixincludes program calls getcwd with the first argument set to NULL, apparently a Glibc extension, to have the function allocate the memory to which it then return

Document PR79806 as a non-bug

2017-03-15 Thread Bernd Schmidt
I suggest we apply the following and close the PR as INVALID (not a bug). Ok? Bernd Index: pr65693.c === --- pr65693.c (revision 245685) +++ pr65693.c (working copy) @@ -2,6 +2,11 @@ /* { dg-do compile } */ /* { dg-options "

Re: [PATCH] Fix location of typeid() (PR c++/80014)

2017-03-15 Thread Jason Merrill
On Tue, Mar 14, 2017 at 9:05 PM, David Malcolm wrote: > OK for trunk now, or should this wait until stage 1? Stage 1. > + cp_token *close_paren = cp_parser_require (parser, CPP_CLOSE_PAREN, > + RT_CLOSE_PAREN); > + location_t end_loc =

New German PO file for 'gcc' (version 7.1-b20170226)

2017-03-15 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the German team of translators. The file is available at: http://translationproject.org/latest/gcc/de.po (This file, 'gcc-7.1-b20170226.de.po', h

[PATCH] Fix tree-prof/pr66295.c

2017-03-15 Thread Segher Boessenkool
This testcase can only ever be built on x86 (it needs the "avx*" attributes). This patch skips the test elsewhere. Is this okay for trunk? Segher 2017-03-15 Segher Boessenkool gcc/testsuite/ * gcc.dg/tree-prof/pr66295.c: Skip unless on an x86 target. --- gcc/testsuite/gcc.dg/tre

C++ PATCH for c++/80043, ICE with PMF and -fpermissive

2017-03-15 Thread Jason Merrill
The issue here was that can_convert_bad doesn't allow this ill-formed conversion, but instantiate_type does (with -fpermissive). Fixed by recognizing that case. It might be nice to make can_convert_bad smarter, but that doesn't seem worth the effort. Tested x86_64-pc-linux-gnu, applying to trunk

[v3 PATCH] Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

2017-03-15 Thread Ville Voutilainen
Tested on Linux-x64. 2017-03-16 Ville Voutilainen Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value. * include/std/any (any_cast(any*)): Forward-declare. (emplace(_Args&&...)): Change the return type and return a reference to the constr

[PATCH], PR target/71294, Fix compiler segfault for reload & power8

2017-03-15 Thread Michael Meissner
This patch is a simpler approach to fixing PR 71294, then I proposed last year. The core of the problem is when we are creating V2DI/V2DF vectors via a splat operation, the predicate for the second argument allows memory addresses, GPR registers as well as VSX registers, but when we compile for po

Re: [v3 PATCH] Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

2017-03-15 Thread Jonathan Wakely
On 16/03/17 00:21 +0200, Ville Voutilainen wrote: Tested on Linux-x64. 2017-03-16 Ville Voutilainen Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value. * include/std/any (any_cast(any*)): Forward-declare. (emplace(_Args&&...)): Change the retu

Re: [v3 PATCH] Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

2017-03-15 Thread Ville Voutilainen
On 16 March 2017 at 00:31, Jonathan Wakely wrote: >> emplace(_Args&&... __args) >> { >> __do_emplace<_Decay<_ValueType>> >> (std::forward<_Args>(__args)...); >> + return *(std::any_cast<_Decay<_ValueType>>(this)); > > > Can we avoid the branch in any_cast to che

[PATCH C++] document order of C++ ctors and attribute constructor is unspecified

2017-03-15 Thread Martin Sebor
In bug 52477 - Wrong initialization order? attribute constructor vs static data access, the reporter expects C++ objects with static storage duration to have their ctors called in the same order as those of functions declared with attribute constructor interleaved with them. In his comment on th

Re: [v3 PATCH] Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.

2017-03-15 Thread Jonathan Wakely
On 16/03/17 00:43 +0200, Ville Voutilainen wrote: On 16 March 2017 at 00:31, Jonathan Wakely wrote: emplace(_Args&&... __args) { __do_emplace<_Decay<_ValueType>> (std::forward<_Args>(__args)...); + return *(std::any_cast<_Decay<_ValueType>>(this)); Can we

patch to fix PR80017

2017-03-15 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80017 The patch was successfully bootstrapped and tested on x86-64, ppc64, and aarch64. Committed as rev. 246181. Index: ChangeLog === --- ChangeLog (revisio

[PATCH rs6000] Fix PR79951, ICE for unrecognizable insn with -mno-cmpb

2017-03-15 Thread Pat Haugen
The define_expand for copysign3 will call gen_copysign3_fcpsgn if either TARGET_CMPB || VECTOR_UNIT_VSX_P (mode) are true, but gen_copysign3_fcpsgn is missing the check of VECTOR_UNIT_VSX_P (mode) which results in an unrecognizable insn ICE. This is fixed with the following patch. Bootstrap/regtes

[PATCH 0/5 ][P1] [PR tree-optimization/71437]

2017-03-15 Thread Jeff Law
So as noted in the PR, we're failing to discover an important jump thread during threading from VRP. This is a case where the symbolic range is actually more useful than constants in the range. There's some talk of improving this in VRP for gcc-8, but in the mean time, fixing this by improvin

[PATCH 1/5][P1][tree-optimization/71437] Refactoring to avoid duplication

2017-03-15 Thread Jeff Law
As mentioned in the cover message, this is strictly a refactoring patch. lookup_avail_expr should always have been a class member of the available expression stack. That (of course) allows it to be used by any instance of the class (which we'll take advantage of later from within VRP's insta

[PATCH 2/5][P1][tree-optimization/71437] Record more equivalences in some cases

2017-03-15 Thread Jeff Law
Patch #3 will remove handle_dominating_asserts from the core of the jump threading code and push it into VRP's callbacks where it should always have been. As a side effect it causes some code which was previously only used for threading from VRP to be used unconditionally. It's actually a g

Re: [PATCH 2/5][P1][tree-optimization/71437] Record more equivalences in some cases

2017-03-15 Thread Jeff Law
On 03/15/2017 09:17 PM, Jeff Law wrote: Patch #3 will remove handle_dominating_asserts from the core of the jump threading code and push it into VRP's callbacks where it should always have been. As a side effect it causes some code which was previously only used for threading from VRP to be use

Re: [PATCH C++] document order of C++ ctors and attribute constructor is unspecified

2017-03-15 Thread Jason Merrill
On Wed, Mar 15, 2017 at 6:59 PM, Martin Sebor wrote: > In bug 52477 - Wrong initialization order? attribute constructor > vs static data access, the reporter expects C++ objects with static > storage duration to have their ctors called in the same order as > those of functions declared with attri