Re: [ABSU_EXPR] Add some of the missing patterns in match,pd

2018-06-28 Thread Kugan Vivekanandarajah
Hi Marc, Thanks for the review. On 28 June 2018 at 14:11, Marc Glisse wrote: > (why is there no mention of ABSU_EXPR in doc/* ?) I will fix this in a separate patch. > > --- a/gcc/match.pd > +++ b/gcc/match.pd > @@ -571,10 +571,12 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > (copysigns (op

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Steve Kargl
> 2018-06-27 10:09 GMT+02:00 Janne Blomqvist : > > > > How about committing a patch changing to use TRUTH_{AND|OR}_EXPR, and then > > check benchmark results (polyhedron, spec etc.)? If performance worsens, we > > revert, if it improves, great, lets keep it? > > I would definitely support that. I

Re: [PATCH, testsuite/guality] Use line number vars in gdb-test

2018-06-28 Thread Jeff Law
On 06/28/2018 11:49 AM, Tom de Vries wrote: > Hi, > > I played around with pr45882.c and ran into FAILs. It took me a while to > realize that the FAILs where due to the gdb-test (a dg-final action) using > absolute line numbers, and me adding lines before the gdb-test lines. > > I've written

Re: [testsuite/guality] Don't use attribute used in pr45882.c for -O0

2018-06-28 Thread Jeff Law
On 06/28/2018 05:00 PM, Tom de Vries wrote: > [ was: Re: [testsuite] Fix guality/pr45882.c for flto ] > > On Thu, Jun 21, 2018 at 02:52:31PM +0200, Richard Biener wrote: >> On Thu, 21 Jun 2018, Tom de Vries wrote: >> >>> Hi, >>> >>> Atm this test in pr45882.c: >>> ... >>> int d = a[i]; /* {

Re: [patch, i386] false dependencies fix

2018-06-28 Thread Jeff Law
On 06/28/2018 01:16 AM, Uros Bizjak wrote: > Hello! > >>> --- i386.md (revision 259756) >>> +++ i386.md (working copy) >>> @@ -3547,7 +3547,7 @@ >>> { >>> case MODE_DF: >>>if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1])) >>> -return "vmovsd\t{%1, %0, %0|%0, %0, %1}"; >>>

Re: [PATCH] Make sure rs6000-modes.h is installed in plugin/include/config/rs6000/ subdir

2018-06-28 Thread Jeff Law
On 06/28/2018 04:52 PM, Jakub Jelinek wrote: > Hi! > > The newly added rs6000-modes.h is now included from rs6000.h, so it is > needed when building plugins that include tm.h, but it wasn't listed in the > Makefile fragments and therefore included among PLUGIN_HEADERS. > > Fixed thusly, tested

[testsuite/guality] Don't use attribute used in pr45882.c for -O0

2018-06-28 Thread Tom de Vries
[ was: Re: [testsuite] Fix guality/pr45882.c for flto ] On Thu, Jun 21, 2018 at 02:52:31PM +0200, Richard Biener wrote: > On Thu, 21 Jun 2018, Tom de Vries wrote: > > > Hi, > > > > Atm this test in pr45882.c: > > ... > > int d = a[i]; /* { dg-final { gdb-test 16 "d" "112" } } */ > > ... > >

[PATCH] Make sure rs6000-modes.h is installed in plugin/include/config/rs6000/ subdir

2018-06-28 Thread Jakub Jelinek
Hi! The newly added rs6000-modes.h is now included from rs6000.h, so it is needed when building plugins that include tm.h, but it wasn't listed in the Makefile fragments and therefore included among PLUGIN_HEADERS. Fixed thusly, tested on powerpc64le-linux, ok for trunk and 8.2? 2018-06-28

libgo patch committed: Don't stat a NULL filename

2018-06-28 Thread Ian Lance Taylor
The libgo code to create a backtrace state would sometimes call stat(NULL). This didn't matter, since the stat failure would not cause any further problem, but it was pointless and sloppy. The problem was pointed out by Andreas Schwab in PR 86331. This patch removes it. Bootstrapped and ran Go

C++ PATCH for c++/86342, -Wdeprecated-copy and system headers

2018-06-28 Thread Jason Merrill
-Wdeprecated-copy shouldn't warn about classes that the user can't change. Tested x86_64-pc-linux-gnu, applying to trunk. commit 8ca5b3176d0a79534b99bf0d53bb0467abb38800 Author: Jason Merrill Date: Thu Jun 28 15:41:20 2018 -0400 PR c++/86342 - -Wdeprecated-copy and system headers.

Re: [PATCH] C++: less verbose error-recovery for version conflict markers

2018-06-28 Thread Jason Merrill
OK. On Thu, Jun 28, 2018 at 2:57 PM, David Malcolm wrote: > We handle version conflict markers in source: > > $ cat /tmp/test.cc > > extern void f1 (void); > extern void f2 (void); > extern void f3 (void); > extern void f4 (void); > > void test () > { > f1 (); > <<< HEAD > f2 (); >

[RFC, testsuite/guality] Use relative line numbers in gdb-test

2018-06-28 Thread Tom de Vries
[ was: [PATCH, testsuite/guality] Use line number vars in gdb-test ] On Thu, Jun 28, 2018 at 07:49:30PM +0200, Tom de Vries wrote: > Hi, > > I played around with pr45882.c and ran into FAILs. It took me a while to > realize that the FAILs where due to the gdb-test (a dg-final action) using >

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Jakub Jelinek
On Thu, Jun 28, 2018 at 10:34:35AM -0700, Steve Kargl wrote: > On Thu, Jun 28, 2018 at 07:03:05PM +0200, Jakub Jelinek wrote: > > > In fact, I'll be submitting a bug report for a missed optimization. > > > > > > subroutine foo(x,y) subroutine foo(x,y) > > >real x(10), y(10)

[PATCH, i386]: Fix PR86348, ICE: in curr_insn_transform, unable to generate reloads for: vec_extractv4si_0_zext_sse4

2018-06-28 Thread Uros Bizjak
2018-06-28 Uros Bizjak PR target/86348 * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): Use alternative 0 in preferred_for_speed attribute. testsuite/ChangeLog: 2018-06-28 Uros Bizjak PR target/86348 * gcc.target/i386/pr86348.c: New test. Bootstrapped and

[PATCH] Fix bit-test expansion for single cluster (PR tree-optimization/86263).

2018-06-28 Thread Martin Liška
Hi. I'm sending patch for situation where we create a bit-test for entire switch. In that case split BB must be redirected so that the original switch is a dead code. Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. Ready to be installed? Martin gcc/ChangeLog:

[PATCH] Fix PR86321

2018-06-28 Thread Richard Biener
The fortran FE creates array descriptor types via build_distinct_type_copy which ends up re-using the TYPE_FIELDs chain of FIELD_DECLs between types in different type-variant chains. While that seems harmless in practice it breaks once we try to generate C-like debug info for it because

[PATCH] gen_subprogram_die followup.

2018-06-28 Thread Richard Biener
This does the is_cu_die->is_unit_die change and also removes the stale comment I forgot to delete when moving the guarded condition. Bootstrapped & tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-06-28 Richard Biener * dwarf2out.c (gen_subprogram_die): Use is_unit_die

Re: [PATCH] Fix PR86321

2018-06-28 Thread Richard Biener
On Thu, 28 Jun 2018, Richard Biener wrote: > > The fortran FE creates array descriptor types via build_distinct_type_copy > which ends up re-using the TYPE_FIELDs chain of FIELD_DECLs between > types in different type-variant chains. While that seems harmless > in practice it breaks once we try

Re: [PATCH, testsuite/guality] Use line number vars in gdb-test

2018-06-28 Thread Tom de Vries
[ resending. It seems this did not get through to the mail archive. ] On Thu, Jun 28, 2018 at 07:49:30PM +0200, Tom de Vries wrote: > Hi, > > I played around with pr45882.c and ran into FAILs. It took me a while to > realize that the FAILs where due to the gdb-test (a dg-final action) using >

Re: [PATCH 2/N] IPA summaries use ::get in ipa-pure-const.c.

2018-06-28 Thread Martin Liška
On 06/23/2018 10:13 PM, Eric Botcazou wrote: >> This is second part of IPA summaries clean-up. It removes some not needed >> >> ::get_create in ipa-pure.const.c. > > It breaks the attached testcase compiled with "gnatmake lto_full -f -a -flto": > > gnatbind -x lto_full.ali > gnatlink

[PATCH][OBVIOUS] Add missing header file inclusion.

2018-06-28 Thread Martin Liška
Hi. This fixes: In file included from /space/rguenther/src/svn/trunk/gcc/brig/brigspec.c:26: /space/rguenther/src/svn/trunk/gcc/gcc.h:60:3: error: ‘option_proposer’ does not name a type option_proposer m_option_proposer; Installed as obvious. Martin gcc/brig/ChangeLog: 2018-06-28 Martin

Re: [PATCH] Adjust subprogram DIE re-usal

2018-06-28 Thread Richard Biener
On Wed, 27 Jun 2018, Jason Merrill wrote: > On Tue, Jun 26, 2018 at 8:43 AM, Richard Biener wrote: > > > > A patch from Honza not LTO streaming DECL_ORIGINAL_TYPE ends up > > ICEing during LTO bootstrap because we end up not re-using the > > DIE we create late during LTRANS for a subprogram

[PATCH] Remove unused decl_scope_table

2018-06-28 Thread Richard Biener
Formerly used by scope_die_for this stack is now unused and just pushed/popped to/from. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-06-28 Richard Biener * dwarf2out.c (decl_scope_table): Remove. (push_decl_scope): Likewise.

[PATCH, testsuite/guality] Use line number vars in gdb-test

2018-06-28 Thread Tom de Vries
Hi, I played around with pr45882.c and ran into FAILs. It took me a while to realize that the FAILs where due to the gdb-test (a dg-final action) using absolute line numbers, and me adding lines before the gdb-test lines. I've written this patch, which factors out the handling of relative line

[PATCH, committed] Fix insn length in pdp11 shift patterns

2018-06-28 Thread Paul Koning
This patch corrects the setting of the "length" attributes in the pdp11 target for certain shift cases. Committed. paul ChangeLog: 2018-06-28 Paul Koning * config/pdp11/pdp11-protos.h (pdp11_shift_length): New function. * config/pdp11/pdp11.c (pdp11_shift_length):

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread N.M. Maclaren
On Jun 28 2018, Toon Moene wrote: And - most interesting - that's how Fortran 77 formulated it (way before PURE/IMPURE functions entered the language): "6.6.1 Evaluation of Operands It is not necessary for a processor to evaluate all of the operands of an expression if the value of the

[gomp5] Add #pragma omp depobj support

2018-06-28 Thread Jakub Jelinek
Hi! This patch adds #pragma omp depobj support, so that the task dependencies can be built at one spot and used later on from the omp_depend_t structure that has all the necessary information (object address and dependence type) later on. In addition this fixes some problems in the depend clause

[PATCH] C++: less verbose error-recovery for version conflict markers

2018-06-28 Thread David Malcolm
We handle version conflict markers in source: $ cat /tmp/test.cc extern void f1 (void); extern void f2 (void); extern void f3 (void); extern void f4 (void); void test () { f1 (); <<< HEAD f2 (); === f3 (); >>> 252be53... Some commit message f4 (); } The C frontend's output

RE: [PATCH][GCC][AArch64] Add SIMD to REG pattern for movhf without armv8.2-a support (PR85769)

2018-06-28 Thread Tamar Christina
Hi Christophe, > -Original Message- > From: Christophe Lyon > Sent: Thursday, June 28, 2018 14:41 > To: James Greenhalgh > Cc: Tamar Christina ; Kyrill Tkachov > ; gcc Patches ; > nd ; Richard Earnshaw ; > Marcus Shawcroft > Subject: Re: [PATCH][GCC][AArch64] Add SIMD to REG pattern

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Toon Moene
On 06/28/2018 06:22 PM, Steve Kargl wrote: You continue to miss my point or conveniently ignore it. You want to special case the forced evaluation of the operands in two specific logical expressions; namely, .and. and .or. If you want to force evaluation of operands, then do it for all binary

Go patch committed: Use build_variant_type_copy, not build_distinct_type_copy

2018-06-28 Thread Ian Lance Taylor
This patch to the Go frontend changes set_placeholder_struct_type to use build_variant_type_copy rather than build_distinct_type_copy. This is for PR 86343, which noted that the DECL_CONTEXT of the fields in the copy were pointing to the wrong type. Using build_variant_type_copy puts the types in

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Steve Kargl
On Thu, Jun 28, 2018 at 07:21:21PM +0200, Janus Weil wrote: > 2018-06-28 18:22 GMT+02:00 Steve Kargl : > > > > Why I think it a warning should be emitted: symmetry!. > > > > You complained about the lack of symmetry in 'check() .and. .false.' > > and '.false. .and. check()'. > > well, my

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Steve Kargl
On Thu, Jun 28, 2018 at 07:03:05PM +0200, Jakub Jelinek wrote: > > In fact, I'll be submitting a bug report for a missed optimization. > > > > subroutine foo(x,y) subroutine foo(x,y) > >real x(10), y(10) real x(10), y(10) > >y = 0*sin(x)

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Thomas Koenig
Am 28.06.2018 um 19:21 schrieb Janus Weil: One thing that I always failed to comprehend is people's fixation on optimization. What's so great about your code running 0.1% faster if the second compiler you try gives you totally different results, with no hints The warning added for my patch is

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Janus Weil
2018-06-28 18:22 GMT+02:00 Steve Kargl : > On Thu, Jun 28, 2018 at 05:52:43PM +0200, Janus Weil wrote: >> 2018-06-28 16:41 GMT+02:00 Steve Kargl : >> >> > Technically, the standard says an operand need not be evaluate, >> >> > but you've asked people not to cite the Standard. I've also >> >> >

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread N.M. Maclaren
On Jun 28 2018, Steve Kargl wrote: You continue to miss my point or conveniently ignore it. You want to special case the forced evaluation of the operands in two specific logical expressions; namely, .and. and .or. If you want to force evaluation of operands, then do it for all binary

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Jakub Jelinek
On Thu, Jun 28, 2018 at 07:41:30AM -0700, Steve Kargl wrote: > I am opposed to the change of TRUTH_AND_EXPR to TRUTH_ANDIF_EXPR, > where you are special casing logical expressions that involve > .and. and .or. I think using TRUTH_AND_EXPR is the right thing to do, and if fortran functions can

Re: [PATCH][2/3] Share dataref and dependence analysis for multi-vector size vectorization

2018-06-28 Thread Christophe Lyon
On Fri, 22 Jun 2018 at 12:52, Richard Biener wrote: > > > This is the main part to make considering multiple vector sizes based on > costs less compile-time costly. It shares dataref analysis and > dependence analysis for loop vectorization (BB vectorization is only > adjusted to comply with the

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Steve Kargl
On Thu, Jun 28, 2018 at 05:52:43PM +0200, Janus Weil wrote: > 2018-06-28 16:41 GMT+02:00 Steve Kargl : > >> > Technically, the standard says an operand need not be evaluate, > >> > but you've asked people not to cite the Standard. I've also > >> > pointed you to F2018 Note 10.28 where it very

[COMMITTED][testsuite] Fix f16_mov_immediate_3.c

2018-06-28 Thread Wilco Dijkstra
Fix and simplify the testcase so it generates dup even on latest trunk. This fixes the failure reported in: https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01799.html Committed as obvious. ChangeLog: 2018-06-28 Wilco Dijkstra * gcc.target/aarch64/f16_mov_immediate_3.c: Fix testcase.

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Janus Weil
2018-06-28 16:41 GMT+02:00 Steve Kargl : >> > Technically, the standard says an operand need not be evaluate, >> > but you've asked people not to cite the Standard. I've also >> > pointed you to F2018 Note 10.28 where it very clearly says that >> > a function need not be evaluated with example

Re: [PATCH] tighten up -Wbuiltin-declaration-mismatch (PR 86125)

2018-06-28 Thread Martin Sebor
On 06/27/2018 11:20 PM, Jeff Law wrote: On 06/26/2018 05:32 PM, Martin Sebor wrote: Attached is an updated patch to tighten up the warning and also prevent ICEs in the middle-end like in PR 86308 or PR 86202. I took Richard's suggestion to add the POINTER_TYPE_P() check to detect

Re: [patch] Remap goto_locus on edges during inlining

2018-06-28 Thread Eric Botcazou
> Yes, OK if it (hopefully!) passes testing. Yes, it passed bootstrap/regtest on x86-64/Linux so was applied. -- Eric Botcazou

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Steve Kargl
On Thu, Jun 28, 2018 at 07:58:22AM +0200, Janus Weil wrote: > 2018-06-27 23:47 GMT+02:00 Steve Kargl : > > On Wed, Jun 27, 2018 at 10:46:05PM +0200, Janus Weil wrote: > >> 2018-06-27 21:34 GMT+02:00 Thomas Koenig : > >> > > >> > And we are not going to change Fortran semantics. And I also oppose >

Re: [committed] Introduce dump_location_t

2018-06-28 Thread David Malcolm
On Thu, 2018-06-28 at 13:29 +0200, Richard Biener wrote: > On Tue, Jun 26, 2018 at 3:54 PM David Malcolm > wrote: > > > > On Mon, 2018-06-25 at 15:34 +0200, Richard Biener wrote: > > > On Wed, Jun 20, 2018 at 6:34 PM David Malcolm > > m> > > > wrote: > > > > > > > > Here's v3 of the patch (one

Re: [committed] [2/3] Converting the v850 port away from cc0 -- basic support for new scheme

2018-06-28 Thread Jeff Law
On 06/28/2018 05:20 AM, Eric Botcazou wrote: >> This is the bulk of the changes. With this change in installed the v850 >> port should be using the new mechanism for condition code handling >> consistently, though without optimizing well. > > Nice work! You need to update the v850 entry in: >

Re: [PATCH][Middle-end]3rd patch of PR78809

2018-06-28 Thread Jeff Law
On 06/28/2018 01:12 AM, Richard Biener wrote: > On Wed, 27 Jun 2018, Jeff Law wrote: > >> >> On 06/18/2018 09:37 AM, Qing Zhao wrote: >>> Hi, >>> >>> this is the 3rd (and the last) patch for PR78809: >>> >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78809 >>> Inline strcmp with small constant

Re: [patch, i386] false dependencies fix

2018-06-28 Thread Jeff Law
On 06/28/2018 01:16 AM, Uros Bizjak wrote: > Hello! > >>> --- i386.md (revision 259756) >>> +++ i386.md (working copy) >>> @@ -3547,7 +3547,7 @@ >>> { >>> case MODE_DF: >>>if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1])) >>> -return "vmovsd\t{%1, %0, %0|%0, %0, %1}"; >>>

Re: [PATCH][GCC][AArch64] Add SIMD to REG pattern for movhf without armv8.2-a support (PR85769)

2018-06-28 Thread Christophe Lyon
On Tue, 26 Jun 2018 at 23:53, James Greenhalgh wrote: > > On Wed, Jun 20, 2018 at 05:15:37AM -0500, Tamar Christina wrote: > > Hi Kyrill, > > > > Many thanks for the review! > > > > The 06/19/2018 16:47, Kyrill Tkachov wrote: > > > Hi Tamar, > > > > > > On 19/06/18 15:07, Tamar Christina wrote: >

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread N.M. Maclaren
On Jun 28 2018, Janus Weil wrote: You mean compilers which transform "if (func() .and. flag)" into "if (flag .and. func())", and then possibly remove the call? If yes, could you tell us which compilers you are talking about specifically? I am 70, and haven't supported multiple compilers for

Re: [PATCH, rs6000] Add missing builtin test cases

2018-06-28 Thread Segher Boessenkool
Hi! On Wed, Jun 27, 2018 at 03:14:18PM -0700, Carl Love wrote: > The following patch adds missing test cases for > vec_extract_fp32_from_shortl(), vec_extract_fp32_from_shorth(), and > vec_extract(). This is fine for trunk. Thank you! Segher > 2018-06-27 Carl Love > > *

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Janus Weil
2018-06-28 13:05 GMT+02:00 N.M. Maclaren : > On Jun 28 2018, Janus Weil wrote: >> >> >>> if we add a warning, we should add it both for >>> >>> if (flag .and. func()) >>> and for >>> if (func() .and. flag) >>> >>> because the standard also allows reversing the test (which my >>> original test

Re: [committed] Introduce dump_location_t

2018-06-28 Thread Richard Biener
On Tue, Jun 26, 2018 at 3:54 PM David Malcolm wrote: > > On Mon, 2018-06-25 at 15:34 +0200, Richard Biener wrote: > > On Wed, Jun 20, 2018 at 6:34 PM David Malcolm > > wrote: > > > > > > Here's v3 of the patch (one big patch this time, rather than a > > > kit). > > > > > > Like the v2 patch kit,

Re: [patch] Remap goto_locus on edges during inlining

2018-06-28 Thread Richard Biener
On Thu, Jun 28, 2018 at 12:46 PM Eric Botcazou wrote: > > > Related we're also missing to verify_location () on those in > > verify_gimple_in_cfg. Having stale references to GCed BLOCKs > > via locations can be difficult to track down... > > > > So can you add the verification bits as well? > >

Re: [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-06-28 Thread Richard Biener
On Wed, Jun 27, 2018 at 7:00 AM Kugan Vivekanandarajah wrote: > > Hi Richard, > > Thanks for the review. > > On 25 June 2018 at 20:01, Richard Biener wrote: > > On Fri, Jun 22, 2018 at 11:13 AM Kugan Vivekanandarajah > > wrote: > >> > >> [PATCH 1/3][POPCOUNT] Handle COND_EXPR in

Re: [committed] [2/3] Converting the v850 port away from cc0 -- basic support for new scheme

2018-06-28 Thread Eric Botcazou
> This is the bulk of the changes. With this change in installed the v850 > port should be using the new mechanism for condition code handling > consistently, though without optimizing well. Nice work! You need to update the v850 entry in: https://gcc.gnu.org/backends.html > One of the

Re: [PATCH, committed] Convert pdp11 back end to CCmode

2018-06-28 Thread Eric Botcazou
> This change converts the pdp11 back end to use CCmode rather than cc0. It > is functional and the testsuite compile sections runs at least as well as > before. Nice work! You need to update the pdp11 entry in: https://gcc.gnu.org/backends.html > There is additional work left to be done;

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread N.M. Maclaren
On Jun 28 2018, Janus Weil wrote: if we add a warning, we should add it both for if (flag .and. func()) and for if (func() .and. flag) because the standard also allows reversing the test (which my original test did). well, I really don't want to warn for hypothetical problems. Since we

Re: [patch] Do not leak location information during inlining (2nd try)

2018-06-28 Thread Eric Botcazou
> But then why not expose this as extra field in ID instead of repeatedly > calling gimple_location? That's a matter of taste I guess. > I don't have an issue with using input_location here until we fix the > gimplifier... OK, patch dropped. -- Eric Botcazou

Re: [patch] Remap goto_locus on edges during inlining

2018-06-28 Thread Eric Botcazou
> Related we're also missing to verify_location () on those in > verify_gimple_in_cfg. Having stale references to GCed BLOCKs > via locations can be difficult to track down... > > So can you add the verification bits as well? Like this? * tree-cfg.c (verify_gimple_in_cfg): Call

Re: [patch] Do not leak location information during inlining (2nd try)

2018-06-28 Thread Richard Biener
On June 28, 2018 12:28:15 PM GMT+02:00, Eric Botcazou wrote: >> More references to input_location aren't ideal. But I don't think >> that's a strong enough reason to reject. > >This can be avoided relatively easily though, patch to that effect >attached. > >Tested on x86-64/Linux, OK for the

Re: [patch] Do not leak location information during inlining (2nd try)

2018-06-28 Thread Eric Botcazou
> More references to input_location aren't ideal. But I don't think > that's a strong enough reason to reject. This can be avoided relatively easily though, patch to that effect attached. Tested on x86-64/Linux, OK for the mainline? * tree-inline.c (remap_gimple_stmt): Replace

[MAINTAINERS, committed] Add myself to write after approval

2018-06-28 Thread Jackson Woodruff
Add myself to write after approval in MAINTAINERS. Committed as r262216. Jackson Index: ChangeLog === --- ChangeLog (revision 262215) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2018-06-28 Jackson Woodruff + + *

Re: [9b/n] PR85694: Make vect_is_simple_use look through pattern statements

2018-06-28 Thread Richard Biener
On Wed, Jun 27, 2018 at 11:34 AM Richard Sandiford wrote: > > Richard Sandiford writes: > > Richard Biener writes: > >> On Mon, Jun 18, 2018 at 5:04 PM Richard Sandiford > >> wrote: > >>> > >>> When following the definitions of SSA names, some recognisers > >>> already cope with statements

Re: [9a/n] PR85694: Reorder vect_is_simple_use arguments

2018-06-28 Thread Richard Biener
On Wed, Jun 27, 2018 at 11:31 AM Richard Sandiford wrote: > > Richard Sandiford writes: > > Richard Biener writes: > >> On Mon, Jun 18, 2018 at 5:04 PM Richard Sandiford > >> wrote: > >>> > >>> When following the definitions of SSA names, some recognisers > >>> already cope with statements

Re: [PATCH 2/3][POPCOUNT] Check if zero check is done before entering the loop

2018-06-28 Thread Richard Biener
On Wed, Jun 27, 2018 at 7:01 AM Kugan Vivekanandarajah wrote: > > Hi Richard, > > Thanks for the review. > > On 25 June 2018 at 20:02, Richard Biener wrote: > > On Fri, Jun 22, 2018 at 11:14 AM Kugan Vivekanandarajah > > wrote: > >> > >> gcc/ChangeLog: > > > > The canonical way is calling

Re: [PATCH] Hide alt_dump_file within dumpfile.c

2018-06-28 Thread Richard Biener
On Tue, Jun 26, 2018 at 10:27 PM David Malcolm wrote: > > On Mon, 2018-06-25 at 15:34 +0200, Richard Biener wrote: > > On Wed, Jun 20, 2018 at 6:34 PM David Malcolm > > wrote: > > > > > > Here's v3 of the patch (one big patch this time, rather than a > > > kit). > > > > > > Like the v2 patch

Re: [patch] Remap goto_locus on edges during inlining

2018-06-28 Thread Richard Biener
On Tue, Jun 26, 2018 at 10:12 PM Jeff Law wrote: > > On 06/26/2018 02:54 AM, Eric Botcazou wrote: > > Hi, > > > > this makes sure the goto_locus present (or not) on edges is properly > > remapped > > during inlining. > > > > Tested on x86-64/Linux, OK for the mainline? > > > > > > 2018-06-26

Re: [C++ Patch] More location fixes to grokdeclarator

2018-06-28 Thread Paolo Carlini
Hi, On 28/06/2018 03:22, David Malcolm wrote: [snip] If I'm following you right, the idea is that gcc should complain because two different things in the user's source code contradict each other. In such circumstances, I think we ought to try to print *both* locations, so that we're showing,

RE: [patch, i386] false dependencies fix

2018-06-28 Thread Nesterovskiy, Alexander
Hello! > So what I'm confused about is in the original output template operand > 0 is duplicated. In the new template operand 1 is duplicated. > > Presumably what you're trying to accomplish is avoiding a false read > on operand 0 (the destination)? Can you please confirm? > Knowing that

[PATCH v2 4/4] vxworks: don't define vxworks_asm_out_constructor when using .init_array

2018-06-28 Thread Rasmus Villemoes
When the compiler is configured with --enable-initfini-array, config/initfini-array.h gets included after config/vxworks.h by tm.h, so the definitions of TARGET_ASM_CONSTRUTOR/TARGET_ASM_DESTRUCTOR in vxworks.h get undone in initfini-array.h. Hence, we might as well not define the

[PATCH v2 2/4] libgcc: add crt{begin,end} for powerpc-wrs-vxworks target

2018-06-28 Thread Rasmus Villemoes
In order to allow ZCX on VxWorks, we need the frame_dummy function to do the register_frame_info(). So make sure crtbegin.o and crtend.o are available for use with a custom spec file. 2018-06-04 Rasmus Villemoes libgcc/ * config.host: Add crtbegin.o and crtend.o for

[PATCH v2 3/4] vxworks: enable use of .init_array/.fini_array for cdtors

2018-06-28 Thread Rasmus Villemoes
The target OS actually runs all function pointers found in the _ctors array when the module is loaded. So it is not that hard to make use of the "modern" .init_array/.fini_array mechanism - it mostly just requires a linker script adding the _ctors and _dtors symbols and terminating LONG(0)

[PATCH v2 1/4] vxworks: add target/h/wrn/coreip to the set of system include paths

2018-06-28 Thread Rasmus Villemoes
In order to build crtstuff.c, I need to ensure the headers in target/h/wrn/coreip are also searched. Of course, that can be done similar to how wrn/coreip gets manually added for libgcc, e.g. by adding CRTSTUFF_T_CFLAGS += -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip But without

[PATCH v2 0/4] some vxworks/powerpc patches

2018-06-28 Thread Rasmus Villemoes
Patches 1, 2 and 4 (the latter was number 6 previously) are unchanged from the first round, apart from small changes in the commit log wording. Patch 3 now includes parentheses in the macro definition. Patches 4 and 5 are dropped. 4/4 is mostly a minor optimization, omitting a tiny bit of dead

Re: [2/2] Add AddressSanitizer annotations to std::string.

2018-06-28 Thread Mikhail Kashkarov
^ gentle ping. On 06/08/2018 05:54 PM, Mikhail Kashkarov wrote: > Hello, > > I've updated patches for std::string sanitization and disabling CXX11 > string SSO usage for correct sanitization. > > >>       _M_destroy(_M_allocated_capacity); > >>+    else > >>+      __annotate_delete();

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Janus Weil
Hi Thomas, > if we add a warning, we should add it both for > > if (flag .and. func()) > > and for > > if (func() .and. flag) > > because the standard also allows reversing the test (which my > original test did). well, I really don't want to warn for hypothetical problems. Since we currently do

Re: [patch, i386] false dependencies fix

2018-06-28 Thread Uros Bizjak
Hello! >> --- i386.md (revision 259756) >> +++ i386.md (working copy) >> @@ -3547,7 +3547,7 @@ >> { >> case MODE_DF: >>if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1])) >> -return "vmovsd\t{%1, %0, %0|%0, %0, %1}"; >> +return "%vmovsd\t{%d1, %0|%0, %d1}"; >>return

Re: [PATCH][Middle-end]3rd patch of PR78809

2018-06-28 Thread Richard Biener
On Wed, 27 Jun 2018, Jeff Law wrote: > > On 06/18/2018 09:37 AM, Qing Zhao wrote: > > Hi, > > > > this is the 3rd (and the last) patch for PR78809: > > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78809 > > Inline strcmp with small constant strings > > > > The design doc for PR78809 is

Re: [PATCH 3/3] Come up with new --completion option.

2018-06-28 Thread Martin Liška
On 06/22/2018 06:09 PM, Jeff Law wrote: > On 06/22/2018 05:25 AM, Martin Liška wrote: >> On 06/20/2018 05:27 PM, David Malcolm wrote: >>> On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: Main part where I still need to write ChangeLog file and gcc.sh needs to be moved to

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Janne Blomqvist
On Thu, Jun 28, 2018 at 8:58 AM, Janus Weil wrote: > But that still leaves us with a problem: The standard allows the > short-circuiting but it doesn't require it. Meaning that any other > compiler that does not do it (like ifort) is not in conflict with the > standard either. > > Many people

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-28 Thread Thomas Koenig
Hi Janus, if we add a warning, we should add it both for if (flag .and. func()) and for if (func() .and. flag) because the standard also allows reversing the test (which my original test did). Regards Thomas

Re: [PR fortran/82865] Fix PDT declarations being parsed as PRINT statements with -fdec

2018-06-28 Thread Janne Blomqvist
On Thu, Jun 28, 2018 at 12:07 AM, Fritz Reese wrote: > One extension enabled by -fdec is the ability to interpret TYPE > as a PRINT statement for compatibility purposes. When PDTs were > introduced, the code that handles -fde TYPE matching was not updated. > This patch fixes TYPE matching