[PATCH] Fix PR87906

2018-11-06 Thread Richard Biener
This adds a workaround for LTO decl merging prevailing a non-ultimate origin decl, breaking invariants of the middle-end. In the future (GCC 10) I hope to have DIE references here so this will not be an issue there anymore. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard.

Re: Fix bug in fld_type_variant

2018-11-06 Thread Jan Hubicka
> Hi, > in fld_type_variant I lost code copying alignment. This patch fixes it > and also checks that newly constructed variant is indeed compatible. > > Bootstrapped/regtested x86_64-linux, comitted as obvious. Hi, it turns out that situation is more subtle. We need to copy aliases for normal

[PR87793] reject non-toplevel unspecs in debug loc exprs on x86

2018-11-06 Thread Alexandre Oliva
Before revision 254025, we'd reject UNSPECs in debug loc exprs. TARGET_CONST_NOT_OK_FOR_DEBUG_P still rejects that by default, on all ports that override it, except for x86, that accepts @gotoff unspecs. We can indeed accept them in top-level expressions, but not as subexpressions: the assembler

Re: [PATCH] x86: Optimize VFIXUPIMM* patterns with multiple-alternative constraints

2018-11-06 Thread Uros Bizjak
On Tue, Nov 6, 2018 at 11:16 AM Wei Xiao wrote: > > Hi maintainers, > > The attached patch intends to optimize VFIXUPIMM* patterns with > multiple-alternative constraints and > 4 patterns are combined into 2 patterns. Tested with bootstrap and > regression tests on x86_64. No regressions. > > Is

Re: Update libquadmath fmaq from glibc, fix nanq issues

2018-11-06 Thread Jakub Jelinek
On Wed, Nov 07, 2018 at 12:29:21AM +, Joseph Myers wrote: > This patch extends update-quadmath.py to update fmaq from glibc. > > The issue in that function was that quadmath-imp.h had a struct in a > union with mant_high and mant_low fields (up to 64-bit) whereas glibc > has mantissa0,

[PATCH 6/6] [RS6000] inline plt call sequences

2018-11-06 Thread Alan Modra
Finally, the point of the previous patches in this series, support for inline PLT calls, keyed off -fno-plt. This emits code using new relocations that tie all insns in the sequence together, so that the linker can edit the sequence back to a direct call should the call target turn out to be

[PATCH 5/6] [RS6000] Use standard call patterns for __tls_get_addr calls

2018-11-06 Thread Alan Modra
The current code handling __tls_get_addr calls for powerpc*-linux generates a call then overwrites the call insn with a special tls_{gd,ld}_{aix,sysv} pattern. It's done that way to support !TARGET_TLS_MARKERS, where the arg setup insns need to be emitted immediately before the branch and link.

[PATCH 4/6] [RS6000] Remove constraints on call rounded_stack_size_rtx arg

2018-11-06 Thread Alan Modra
This call arg is unused on rs6000. * config/rs6000/darwin.md (call_indirect_nonlocal_darwin64, call_nonlocal_darwin64, call_value_indirect_nonlocal_darwin64, call_value_nonlocal_darwin64): Remove constraints from second call arg, the rounded_stack_size_rtx arg.

[PATCH 3/6] [RS6000] Replace TLSmode with P, and correct tls call mems

2018-11-06 Thread Alan Modra
There is really no need to define a TLSmode mode iterator that is identical (since !TARGET_64BIT == TARGET_32BIT) to the much used P mode iterator. It's nonsense to think we might ever want to support 32-bit TLS on 64-bit or vice versa! The patch also fixes a minor error in the call mems. All

[PATCH 2/6] [RS6000] rs6000_output_indirect_call

2018-11-06 Thread Alan Modra
Like the last patch for external calls, now handle most assembly code for indirect calls in one place. The patch also merges some insns, correcting some !rs6000_speculate_indirect_jumps cases branching to LR, which don't require a speculation barrier. * config/rs6000/rs6000-protos.h

[PATCH 1/6] [RS6000] rs6000_output_call for external call insn assembly output

2018-11-06 Thread Alan Modra
This is a first step in tidying rs6000 call patterns, in preparation to support inline plt calls. * config/rs6000/rs6000-protos.h (rs6000_output_call): Declare. (macho_output_call): Rename from output_call. * config/rs6000/rs6000.c (rs6000_output_call): New function.

[PATCH 0/6] [RS6000] inline plt call support

2018-11-06 Thread Alan Modra
Hi Segher, This is the patch series you already saw earlier this year, rebased to recent gcc, and with a comment or two fixed. The first five patches tidy and rearrange the function call code in order to support inline plt calls without a huge increase in rs6000.md. As is, inline plt calls are

[PATCH] doc: Use @: where needed

2018-11-06 Thread Segher Boessenkool
When an abbreviation ends with a dot followed by whitespace, Texinfo thinks the dot ends a sentence, and applies spacing rules etc. based on that. To prevent this, there is the @: macro. This patch puts @: after every vs., e.g., and i.e. where it is needed. In a few cases there was "@ " already,

Update libquadmath fmaq from glibc, fix nanq issues

2018-11-06 Thread Joseph Myers
This patch extends update-quadmath.py to update fmaq from glibc. The issue in that function was that quadmath-imp.h had a struct in a union with mant_high and mant_low fields (up to 64-bit) whereas glibc has mantissa0, mantissa1, mantissa2 and mantissa3 (up to 32-bit). The patch changes those

Re: [RFC][PATCH LRA] WIP patch to fix one part of PR87507

2018-11-06 Thread Segher Boessenkool
On Tue, Nov 06, 2018 at 01:27:58PM -0700, Jeff Law wrote: > So the one worry I have/had in this code is nested subregs. My > recollection is they do happen in rare cases. But I can also find a > reference where Jim W. has indicated they're invalid (and I absolutely > trust Jim on this kind of

PING [PATCH] use MAX_OFILE_ALIGNMENT to validate attribute aligned (PR 87795)

2018-11-06 Thread Martin Sebor
Ping: https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02081.html On 10/31/2018 02:52 PM, Martin Sebor wrote: On 10/30/2018 04:34 PM, Joseph Myers wrote: On Tue, 30 Oct 2018, Martin Sebor wrote: So it seems that the attribute handler should be using this macro instead. I also took the liberty

Re: [PATCH] detect missing nuls in address of const char (PR 87756)

2018-11-06 Thread Martin Sebor
Jeff, I'd like to go ahead and commit the patch as is. I believe the use of the default argument is appropriate and in line with GCC practice. Please let me know if you have strong objections. If I don't hear any I will proceed later this week Thanks Martin On 10/30/2018 10:38 AM, Martin

Re: [PATCH] diagnose built-in declarations without prototype (PR 83656)

2018-11-06 Thread Martin Sebor
In response to Joseph's comment I've removed the interaction with -Wpedantic from the updated patch. In addition, to help detect bugs like the one in the test case for pr87886, I have also enhanced the detection of incompatible calls to include integer/real type mismatches so that calls like the

RE: Notes on -mloongson-ext2

2018-11-06 Thread mfortune
Hi Paul, Just a few additional comments, mostly typos and a little cleanup. >gcc/ > * config/mips/mips-protos.h > (mips_loongson_ext2_prefetch_cookie): New prototype. > * config/mips/mips.c (mips_loongson_ext2_prefetch_cookie): New. > (mips_option_override): Enable

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Richard Earnshaw (lists)
On 06/11/2018 20:18, Segher Boessenkool wrote: > On Tue, Nov 06, 2018 at 07:43:36PM +, Richard Earnshaw (lists) wrote: >> On 06/11/2018 18:18, Segher Boessenkool wrote: >>> On Tue, Nov 06, 2018 at 11:46:53AM +, Richard Earnshaw (lists) wrote: Well it generates new 'light-weight'

[PATCH] Implement std::pmr::unsynchronized_pool_resource

2018-11-06 Thread Jonathan Wakely
Implement std::pmr::unsynchronized_pool_resource * config/abi/pre/gnu.ver: Add new symbols. * include/std/memory_resource (std::pmr::__pool_resource): New class. (std::pmr::unsynchronized_pool_resource): New class. * src/c++17/Makefile.am: Add

[PATCH v4 2/3] or1k: testsuite: initial support for openrisc

2018-11-06 Thread Stafford Horne
-mm-dd Stafford Horne Richard Henderson gcc/testsuite/ChangeLog: * gcc.c-torture/execute/20101011-1.c: Adjust for OpenRISC. * gcc.dg/20020312-2.c: Likewise. * gcc.dg/attr-alloc_size-11.c: Likewise. * gcc.dg/builtin-apply2.c: Likewise.

[PATCH v4 3/3] or1k: gcc: initial support for openrisc

2018-11-06 Thread Stafford Horne
-mm-dd Stafford Horne Richard Henderson Joel Sherrill gcc/ChangeLog: * common/config/or1k/or1k-common.c: New file. * config/or1k/*: New. * config.gcc (or1k*-*-*): New. * configure.ac (or1k*-*-*): New test for openrisc tls.

[PATCH v4 1/3] or1k: libgcc: initial support for openrisc

2018-11-06 Thread Stafford Horne
-mm-dd Stafford Horne Richard Henderson libgcc/ChangeLog: * config.host: Add OpenRISC support. * config/or1k/*: New. --- libgcc/config.host| 12 ++ libgcc/config/or1k/lib1funcs.S| 222 ++

[PATCH v4 0/3] OpenRISC port

2018-11-06 Thread Stafford Horne
. # Testing We have been running the GCC testsuite with newlib and musl libc. The results are good. See results published in a test build/release here: - https://github.com/stffrdhrn/gcc/releases/tag/or1k-9.0.0-20181106 # Building To build this requires the latest binutils upstream master i.e

Re: [RFC][PATCH LRA] WIP patch to fix one part of PR87507

2018-11-06 Thread Jeff Law
On 10/27/18 10:24 AM, Peter Bergner wrote: > On 10/22/18 6:45 PM, Peter Bergner wrote: >> Bah, my bootstrap failed and I need to make a small change. Let me do that >> and verify my bootstraps get all the way thru before I give you the updated >> patch. Sorry. > Ok, the following updated patch

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Segher Boessenkool
On Tue, Nov 06, 2018 at 07:43:36PM +, Richard Earnshaw (lists) wrote: > On 06/11/2018 18:18, Segher Boessenkool wrote: > > On Tue, Nov 06, 2018 at 11:46:53AM +, Richard Earnshaw (lists) wrote: > >> Well it generates new 'light-weight' prologue and epilogue sequences for > >> the 'shrunk'

Re: [PR87874] avoid const-wide-int subreg in LRA

2018-11-06 Thread Vladimir Makarov
On 11/06/2018 04:38 AM, Alexandre Oliva wrote: Just like CONST_INT, CONST_WIDE_INT is VOIDmode, so LRA might be tempted to build a SUBREG to "convert" it to the wanted mode. That's no use. Test for CONST_SCALAR_INT_P instead of CONST_INT_P so that we skip the subreg creation for both.

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Richard Earnshaw (lists)
On 06/11/2018 19:43, Richard Earnshaw (lists) wrote: > On 06/11/2018 18:18, Segher Boessenkool wrote: >> Hi Richard, >> >> On Tue, Nov 06, 2018 at 11:46:53AM +, Richard Earnshaw (lists) wrote: >>> On 06/11/2018 01:40, Segher Boessenkool wrote: Hi Richard, On Mon, Nov 05, 2018 at

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Richard Earnshaw (lists)
On 06/11/2018 18:18, Segher Boessenkool wrote: > Hi Richard, > > On Tue, Nov 06, 2018 at 11:46:53AM +, Richard Earnshaw (lists) wrote: >> On 06/11/2018 01:40, Segher Boessenkool wrote: >>> Hi Richard, >>> >>> On Mon, Nov 05, 2018 at 10:09:30AM +, Richard Earnshaw (lists) wrote: >>>

Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register

2018-11-06 Thread Jeff Law
On 11/6/18 3:52 AM, Renlin Li wrote: > Hi Jeff & Peter, > > On 11/05/2018 07:41 PM, Jeff Law wrote: >> On 11/5/18 12:36 PM, Peter Bergner wrote: >>> On 11/5/18 1:20 PM, Jeff Law wrote: On 11/1/18 4:07 PM, Peter Bergner wrote: > On 11/1/18 1:50 PM, Renlin Li wrote: >> Is there any

Re: [PATCH][RFC] Fix UBSAN in postreload-gcse.c (PR rtl-optimization/87868).

2018-11-06 Thread Jeff Law
On 11/6/18 7:05 AM, Martin Liška wrote: > Hi. > > The patch is adding a check overflow in eliminate_partially_redundant_load. > Question is whether the usage of conditional compilation of > __builtin_mul_overflow > is fine? > > Thanks, > Martin > > gcc/ChangeLog: > > 2018-11-06 Martin Liska

Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register

2018-11-06 Thread Peter Bergner
On 11/6/18 6:23 AM, Renlin Li wrote: > I just did a bootstrap again with everything up to r264897 which is Oct 6. > it produce the ICE I mentioned on the PR87899. > > The first combiner patch on Oct 22. Do the testsuite results (for disable-bootstrap builds) differ between r264896 and r264897?

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Segher Boessenkool
Hi Richard, On Tue, Nov 06, 2018 at 11:46:53AM +, Richard Earnshaw (lists) wrote: > On 06/11/2018 01:40, Segher Boessenkool wrote: > > Hi Richard, > > > > On Mon, Nov 05, 2018 at 10:09:30AM +, Richard Earnshaw (lists) wrote: > > Shouldn't you be able to do this per function at least?

Re: PR libstdc++/87872 Avoids iterator transfer on self splice

2018-11-06 Thread Jonathan Wakely
On 06/11/18 10:49 +0100, François Dumont wrote: Here is the patch submitted by John and now fully tested.     PR libstdc++/87872     * include/debug/safe_sequence.tcc     (_Safe_sequence<>::_M_transfer_from_if): Skip transfer to self. Is it fine to commit it now ? OK, thanks. François

aarch64 - Set the mode for the unspec in speculation_tracker insn.

2018-11-06 Thread Richard Earnshaw (lists)
The speculation tracker insn in my recent patch set for CVE-2017-5753 was missing a mode on the UNSPEC. Although this didn't break the build, it did cause an unnecessary warning from the MD parsing mechanism that I missed at the time. It's a trivial fix, as follows: *

Small typo in iconv.m4

2018-11-06 Thread Hafiz Abid Qadeer
Hi All, I was investigating a character set related problem with windows hosted GDB and I tracked it down to a typo in iconv.m4. This typo caused libiconv detection to fail and related support was not built into gdb. The problem is with the following line. CPPFLAGS="$LIBS $INCICONV" which should

Re: [Driver] Add support for -fuse-ld=lld

2018-11-06 Thread H.J. Lu
On Sat, Oct 20, 2018 at 3:19 AM Romain Geissler wrote: > > Hi, > > I would like to raise again the question of supporting -fuse-ld=ldd. A > patch implementing it was already submitted in > https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01722.html by Davide > Italiano. This patch still applies

Re: [Driver] Add support for -fuse-ld=lld

2018-11-06 Thread Romain GEISSLER
Ping^2 > Le 27 oct. 2018 à 11:33, Romain GEISSLER a > écrit : > > Ping > >> Le 20 oct. 2018 à 12:18, Romain Geissler a >> écrit : >> >> Hi, >> >> I would like to raise again the question of supporting -fuse-ld=ldd. A >> patch implementing it was already submitted in >>

Simplify function types

2018-11-06 Thread Jan Hubicka
Hi, this patch simplifies function types. For GCC it cuts number of type duplicates to half (to about 500 duplicates). I need to analyze the remaining ones, but i think they are mostly caused by mixing up complete/incomplete enums and arrays of pointers that should be last necessary changes to

Avoid duplicate variants in free_lang_data

2018-11-06 Thread Jan Hubicka
Hi, this patch fixes another bogus variants created which I noticed by extra checking code. fld_type_variant_equal_p copares type name which are modified by free_lang_data_in_type. If we first introduce a variant and then free lang data in the original type, next time we look for same variant we

Re: Restore -fopt-info-vec optimized locations for SLP vectorization

2018-11-06 Thread Richard Biener
On Tue, 6 Nov 2018, David Malcolm wrote: > On Tue, 2018-11-06 at 13:12 +0100, Richard Biener wrote: > > The following patch pushes a DUMP_VECT_SCOPE down one level because > > it otherwise hides a MSG_OPTIMIZED_LOCATION print. > > > > David - was this an intended effect of the scoping? > > No,

[PATCH v3] S/390: Allow relative addressing of literal pool entries

2018-11-06 Thread Ilya Leoshkevich
Bootstrapped and regtested on s390x-redhat-linux. r265490 allowed the compiler to choose in a more flexible way whether to use load or load-address-relative-long (LARL) instruction. When it chose LARL for literal pool references, the latter ones were rewritten by pass_s390_early_mach to use

[PATCH][RFC] Fix UBSAN in postreload-gcse.c (PR rtl-optimization/87868).

2018-11-06 Thread Martin Liška
Hi. The patch is adding a check overflow in eliminate_partially_redundant_load. Question is whether the usage of conditional compilation of __builtin_mul_overflow is fine? Thanks, Martin gcc/ChangeLog: 2018-11-06 Martin Liska PR rtl-optimization/87868 * postreload-gcse.c

Re: Restore -fopt-info-vec optimized locations for SLP vectorization

2018-11-06 Thread David Malcolm
On Tue, 2018-11-06 at 13:12 +0100, Richard Biener wrote: > The following patch pushes a DUMP_VECT_SCOPE down one level because > it otherwise hides a MSG_OPTIMIZED_LOCATION print. > > David - was this an intended effect of the scoping? No, an accident, sorry. The scope depth thing controlling

[PATCH] Improve -fprofile-report.

2018-11-06 Thread Martin Liška
Hi. The patch is based on what was discussed on IRC and in the PR. Apart from that the reported layout is improved. Patch survives regression tests on x86_64-linux-gnu. Ready for trunk? Martin gcc/ChangeLog: 2018-11-06 Martin Liska PR tree-optimization/87885 * cfghooks.c

Fix bug in fld_type_variant

2018-11-06 Thread Jan Hubicka
Hi, in fld_type_variant I lost code copying alignment. This patch fixes it and also checks that newly constructed variant is indeed compatible. Bootstrapped/regtested x86_64-linux, comitted as obvious. Honza * tree.c (fld_type_variant): Also copy alignment; be sure that new

Re: [PATCH] S/390: Introduce relative_long attribute

2018-11-06 Thread Andreas Krebbel
On 05.11.18 15:18, Ilya Leoshkevich wrote: > In order to properly fix PR87762, we need to distinguish between > instructions which support relative addressing and instructions which > don't. We could check whether the existing "type" attribute is equal to > "larl", but there are notable

Re: [PATCH] S/390: Accept cdb in load-and-test-fp-1 testcase

2018-11-06 Thread Andreas Krebbel
On 06.11.18 13:12, Ilya Leoshkevich wrote: > The compiler now generates cdb instead of cdbr for comparison with 0.0, > which looks like an improvement to me. > > gcc/testsuite/ChangeLog: > > 2018-11-06 Ilya Leoshkevich > > * gcc.target/s390/load-and-test-fp-1.c: Accept cdb. > --- >

[PATCH] Fix PR86850 (hopefully)

2018-11-06 Thread Richard Biener
The following makes vec::splice of an empty vector to an empty vector safe without falling onto the trap of invoking a method on a NULL m_vec. Bootstrap & regtest running on x86_64-unknown-linux-gnu. Richard. 2018-11-06 Richard Biener PR tree-optimization/86850 * vec.h

Re: Notes on -mloongson-ext2

2018-11-06 Thread Paul Hua
Hi, Matthew: Thanks for your review and suggestion. > >} \ > >\ > >+ \ > > Remove

[PATCH, OpenACC] Enable 0-length array data mappings for implicit data clauses

2018-11-06 Thread Chung-Lin Tang
Hi Thomas, this patch allows the gimplifier to create 0-length array mappings for certain pointer and reference typed variables. Without this, array usage of certain pointer variables do not work as usually intended, this is the original description by Cesar when applied to og7:

Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register

2018-11-06 Thread Renlin Li
Hi Ramana, On 11/06/2018 10:57 AM, Ramana Radhakrishnan wrote: On Tue, Nov 6, 2018 at 10:52 AM Renlin Li wrote: Hi Jeff & Peter, On 11/05/2018 07:41 PM, Jeff Law wrote: On 11/5/18 12:36 PM, Peter Bergner wrote: On 11/5/18 1:20 PM, Jeff Law wrote: On 11/1/18 4:07 PM, Peter Bergner wrote:

Restore -fopt-info-vec optimized locations for SLP vectorization

2018-11-06 Thread Richard Biener
The following patch pushes a DUMP_VECT_SCOPE down one level because it otherwise hides a MSG_OPTIMIZED_LOCATION print. David - was this an intended effect of the scoping? Applied to trunk. Richard. 2018-11-06 Richard Biener * tree-vect-slp.c (vect_slp_bb): Move opening of

[PATCH] S/390: Accept cdb in load-and-test-fp-1 testcase

2018-11-06 Thread Ilya Leoshkevich
The compiler now generates cdb instead of cdbr for comparison with 0.0, which looks like an improvement to me. gcc/testsuite/ChangeLog: 2018-11-06 Ilya Leoshkevich * gcc.target/s390/load-and-test-fp-1.c: Accept cdb. --- gcc/testsuite/gcc.target/s390/load-and-test-fp-1.c | 2 +- 1

[committed][MSP430] Fix classification of PC, CG1 and CG2 registers

2018-11-06 Thread Jozef Lawrynowicz
An ICE in gcc.dg/tree-ssa/asm-3.c for msp430-elf exposed some inconsistencies in the classification of some of the "special" registers, R0 (PC), R2 (SR/CG1) and R3 (CG2). REG_CLASS_CONTENTS[GEN_REGS] does not have the bit for any of these registers set, yet REGNO_REG_CLASS returns GEN_REGS for

Re: [aarch64] disable shrink wrapping when tracking speculative execution

2018-11-06 Thread Richard Earnshaw (lists)
On 06/11/2018 01:40, Segher Boessenkool wrote: > Hi Richard, > > On Mon, Nov 05, 2018 at 10:09:30AM +, Richard Earnshaw (lists) wrote: > Shouldn't you be able to do this per function at least? do what per function? track speculation? >>> >>> disable shrink-wrapping only when

Re: [C++ Patch] Improve compute_array_index_type locations

2018-11-06 Thread Paolo Carlini
.. by the way, we could pass the location to abstract_virtuals_error too, thus fixing the locations of tests like other/abstract1.C and abstract2.C, where we currently hit the case:   else if (identifier_p (decl))     /* Here we do not have location information.  */     error ("invalid

Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register

2018-11-06 Thread Renlin Li
Hi Jeff & Peter, On 11/05/2018 07:41 PM, Jeff Law wrote: On 11/5/18 12:36 PM, Peter Bergner wrote: On 11/5/18 1:20 PM, Jeff Law wrote: On 11/1/18 4:07 PM, Peter Bergner wrote: On 11/1/18 1:50 PM, Renlin Li wrote: Is there any update on this issues? arm-none-linux-gnueabihf native toolchain

Re: Clear TYPELESS_STORAGE when turning type to incmplete

2018-11-06 Thread Richard Biener
On Tue, 6 Nov 2018, Jan Hubicka wrote: > > On Tue, 6 Nov 2018, Jan Hubicka wrote: > > > > > Hi, > > > this patch adds code to clear typeless storage flag. This is needed to > > > enable some more merging for C++ types containing char array. > > > > > > Bootstrapped/regtesed x86_64-linux, OK? > >

Re: Clear TYPELESS_STORAGE when turning type to incmplete

2018-11-06 Thread Jan Hubicka
> On Tue, 6 Nov 2018, Jan Hubicka wrote: > > > Hi, > > this patch adds code to clear typeless storage flag. This is needed to > > enable some more merging for C++ types containing char array. > > > > Bootstrapped/regtesed x86_64-linux, OK? > > OK. (I guess we could equally well set it to 1?)

Re: Clear TYPELESS_STORAGE when turning type to incmplete

2018-11-06 Thread Richard Biener
On Tue, 6 Nov 2018, Jan Hubicka wrote: > Hi, > this patch adds code to clear typeless storage flag. This is needed to > enable some more merging for C++ types containing char array. > > Bootstrapped/regtesed x86_64-linux, OK? OK. (I guess we could equally well set it to 1?) Richard. > Honza

Re: Do not stream TYPE_NEEDS_CONSTRUCTING

2018-11-06 Thread Richard Biener
On Tue, 6 Nov 2018, Jan Hubicka wrote: > > On Tue, 6 Nov 2018, Jan Hubicka wrote: > > > > > Hi, > > > TYPE_NEEDS_CONSTRUCTING is one of reasons why we get duplicated complete > > > and > > > incomplete types after my patch because the incoplete type I construct > > > may have

Re: PR83750: CSE erf/erfc pair

2018-11-06 Thread Richard Biener
On Mon, Nov 5, 2018 at 3:11 PM Prathamesh Kulkarni wrote: > > On Mon, 5 Nov 2018 at 18:14, Richard Biener > wrote: > > > > On Mon, Nov 5, 2018 at 1:11 PM Prathamesh Kulkarni > > wrote: > > > > > > On Mon, 5 Nov 2018 at 15:10, Richard Biener > > > wrote: > > > > > > > > On Fri, Nov 2, 2018 at

Clear TYPELESS_STORAGE when turning type to incmplete

2018-11-06 Thread Jan Hubicka
Hi, this patch adds code to clear typeless storage flag. This is needed to enable some more merging for C++ types containing char array. Bootstrapped/regtesed x86_64-linux, OK? Honza * tree.c (fld_incomplete_type_of): Clear TYPE_TYPELESS_STORAGE flag. Index: tree.c

Re: Do not stream TYPE_NEEDS_CONSTRUCTING

2018-11-06 Thread Jan Hubicka
> On Tue, 6 Nov 2018, Jan Hubicka wrote: > > > Hi, > > TYPE_NEEDS_CONSTRUCTING is one of reasons why we get duplicated complete and > > incomplete types after my patch because the incoplete type I construct > > may have TYPE_NEEDS_CONSTRUCTING set. > > > > I think this flag is useless and can be

Re: [libsanitizer] Enable libsanitizer on Solaris (PR sanitizer/80953)

2018-11-06 Thread Jakub Jelinek
On Tue, Nov 06, 2018 at 11:12:00AM +0100, Rainer Orth wrote: > The asan port is 32-bit only for now (on sparc because 64-bit > Solaris/SPARC uses the full address space with a large virtual address > hole in the middle whose exact location is machine-dependent and not > easily determined at

Re: Do not stream TYPE_NEEDS_CONSTRUCTING

2018-11-06 Thread Richard Biener
On Tue, 6 Nov 2018, Jan Hubicka wrote: > Hi, > TYPE_NEEDS_CONSTRUCTING is one of reasons why we get duplicated complete and > incomplete types after my patch because the incoplete type I construct > may have TYPE_NEEDS_CONSTRUCTING set. > > I think this flag is useless and can be dropped - the

Do not stream TYPE_NEEDS_CONSTRUCTING

2018-11-06 Thread Jan Hubicka
Hi, TYPE_NEEDS_CONSTRUCTING is one of reasons why we get duplicated complete and incomplete types after my patch because the incoplete type I construct may have TYPE_NEEDS_CONSTRUCTING set. I think this flag is useless and can be dropped - the only use in ipa-pure-const seems confused since we

[PATCH] Fix PR87889

2018-11-06 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2018-11-06 Richard Biener PR tree-optimization/87889 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): Do nothing if old and new arg are the same * gcc.dg/pr87894.c:

[Committed] S/390: Fix PR87723

2018-11-06 Thread Andreas Krebbel
Committed to mainline after successful bootstrapping and regression testing. gcc/ChangeLog: 2018-11-06 Andreas Krebbel PR target/87723 * config/s390/s390.md ("*rsbg_di_rotl"): Remove mode attributes for operands 3 and 4. gcc/testsuite/ChangeLog: 2018-11-06 Andreas

Re: Fix SPEC gcc micompile with LTO

2018-11-06 Thread Jan Hubicka
Hi, this is updated version of the patch. As discussed on IRC, C++ has two different types of references (rvalue and normal). They have different canonical type, but this does not affect outcome of get_alias_set because it rebuilds the pointer/reference types from scratch. The effect of this

[PATCH] x86: Optimize VFIXUPIMM* patterns with multiple-alternative constraints

2018-11-06 Thread Wei Xiao
Hi maintainers, The attached patch intends to optimize VFIXUPIMM* patterns with multiple-alternative constraints and 4 patterns are combined into 2 patterns. Tested with bootstrap and regression tests on x86_64. No regressions. Is it OK for trunk? Thanks, Wei opt-vfixupimm-v1.diff

[libsanitizer] Enable libsanitizer on Solaris (PR sanitizer/80953)

2018-11-06 Thread Rainer Orth
Now that the Solaris sanitizer port (asan and ubsan only for now) has been upstream for a while and some last issues fixed, I'd finally like to enable the sanitizers on both sparc and x86. The asan port is 32-bit only for now (on sparc because 64-bit Solaris/SPARC uses the full address space with

Re: [libsanitizer] Cherry-pick Solaris sanitizer fixes (PR sanitizer/80953)

2018-11-06 Thread Jakub Jelinek
On Tue, Nov 06, 2018 at 10:53:12AM +0100, Rainer Orth wrote: > As a prerequisite for the soon-to-be-submitted Solaris libsanitizer > patch, I'd like to cherry-pick two fixes recently installed upstream. > > Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. Ok for > mainline? Ok.

[libsanitizer] Cherry-pick Solaris sanitizer fixes (PR sanitizer/80953)

2018-11-06 Thread Rainer Orth
As a prerequisite for the soon-to-be-submitted Solaris libsanitizer patch, I'd like to cherry-pick two fixes recently installed upstream. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. Ok for mainline? Rainer --

PR libstdc++/87872 Avoids iterator transfer on self splice

2018-11-06 Thread François Dumont
Here is the patch submitted by John and now fully tested.     PR libstdc++/87872     * include/debug/safe_sequence.tcc     (_Safe_sequence<>::_M_transfer_from_if): Skip transfer to self. Is it fine to commit it now ? François diff --git a/libstdc++-v3/include/debug/safe_sequence.tcc

Optimization of std::deque implementation

2018-11-06 Thread François Dumont
Here is a patch similar to what has been done to other containers like std::vector. It optimizes the swap operation, the allocator extended move constructor and some other methods where I just bypass intermediate calls. I reproduced the noexcept qualification on _Deque_impl_data/_Deque_impl

[PR87874] avoid const-wide-int subreg in LRA

2018-11-06 Thread Alexandre Oliva
Just like CONST_INT, CONST_WIDE_INT is VOIDmode, so LRA might be tempted to build a SUBREG to "convert" it to the wanted mode. That's no use. Test for CONST_SCALAR_INT_P instead of CONST_INT_P so that we skip the subreg creation for both. Regstrapped on x86_64- and i686-linux-gnu. Ok to

[C++ Patch] Improve compute_array_index_type locations

2018-11-06 Thread Paolo Carlini
Hi, when I improved create_array_type_for_decl I didn't notice that it calls compute_array_index_type as helper, which simply needs to have the location information propagated. Tested x86_64-linux. Thanks, Paolo. /cp 2018-11-06 Paolo Carlini * decl.c

Re: Reset more langhooks at free lang data

2018-11-06 Thread Richard Biener
On Mon, 5 Nov 2018, Jan Hubicka wrote: > Hi, > this patch reset some of frontend langhooks that I think should be > completely handled by middle-end now. I will also make patch to rewrite > set_assembler_name in some way that is safe, the comment bellow > the hunk added is bit oversimplified