Re: [PATCH 1/6] combine: undo_to_marker

2015-05-10 Thread Jeff Law
On 05/10/2015 10:13 AM, Segher Boessenkool wrote: This generalises undo_all to allow undoing only the last some SUBSTs. This is used by the next patch, but is more generally useful. Comments? Segher 2015-05-10 Segher Boessenkool seg...@kernel.crashing.org * combine.c

Re: [PATCH] Fix typo

2015-05-10 Thread Jeff Law
On 05/10/2015 03:00 PM, Paulo Matos wrote: OK to commit? 2015-05-10 Paulo Matos pa...@matos-sorge.com * configure.ac: Fix typo. * configure: Regenerate. Yes. This would fall under the obvious rule and can be committed without waiting for approvals. jeff

Re: Improve LTO type checking during symtab merging

2015-05-10 Thread Jan Hubicka
Hi, this is the updated version of patch with testsuite compensation and some changes: - As discussed with Richard on IRC, I added -Wlto-type-mismatch to control the warnings (enabled by default) and split ODR warnings from warnings about incompatible types (in a sense of weak structural

Re: [PATCH 2/6] combine: If recog fails, try again with zero_ext{ract,end} simplified

2015-05-10 Thread Jeff Law
On 05/10/2015 10:13 AM, Segher Boessenkool wrote: Combine has its own ideas of what is canonical RTL, forcing all backends to have special patterns in their machine description for the more simplified patterns combine often creates, even though the backend already has patterns for a more general

Fix some of ODR type comparsion warnings

2015-05-10 Thread Jan Hubicka
Hi, this patch fixes few issues in ipa-deivrt ODR warnings I noticed while looking on Firefox builds with the new code to compare types of declarations in lto-symtab.c. It may make sense to backport the fix for arugment counting to GCC 5, the parameter indexes comes off by one for method types

Re: [Patch, Fortran] Simplify lbound

2015-05-10 Thread Thomas Koenig
Am 10.05.2015 um 22:43 schrieb H.J. Lu: Here is what I have committed. It caused: /export/gnu/import/git/sources/gcc/gcc/testsuite/gfortran.dg/inline_matmul_3.f90:38:39: Error: Variable 'c1' cannot appear in the expression at (1)^M I know that error message, I got it when developing the

[PATCH] Add myself to MAINTAINERS

2015-05-10 Thread Paulo Matos
Somehow I never added myself to the MAINTAINERS file. Apologies for that. OK to commit? 2015-05-10 Paulo Matos pa...@matos-sorge.com * MAINTAINERS: Add myself as commit after approval. diff --git a/MAINTAINERS b/MAINTAINERS index 7dc4c8f..c5d6c99 100644 ---

More checks for verify_type_variant

2015-05-10 Thread Jan Hubicka
Hi, this patch completes checking of type_non_common. THere is nothing too interesting except for the FIXME about Fortran. gfc_nonrestricted_types does deep type copying producing a type variant for arrays and structures, but it builds distinct type variant for pointers. This leads to fact that

Re: [Patch, Fortran] Simplify lbound

2015-05-10 Thread H.J. Lu
On Sun, May 10, 2015 at 6:58 AM, Mikael Morin mikael.mo...@sfr.fr wrote: Le 03/05/2015 22:38, Thomas Koenig a écrit : Hi Mikael, Looks good. In general, it is better to restrict changes to existing test cases to the necessary minimum that they still pass, and add new code to new test

[PATCH] Fix typo

2015-05-10 Thread Paulo Matos
OK to commit? 2015-05-10 Paulo Matos pa...@matos-sorge.com * configure.ac: Fix typo. * configure: Regenerate. diff --git a/configure b/configure index a3f66ba..8ee279f 100755 --- a/configure +++ b/configure @@ -7423,7 +7423,7 @@ fi # multilib is

Fix construction of gcov_fn_info

2015-05-10 Thread Jan Hubicka
Hi, as discussed while back, gcov_fn_info_type is built incorrectly. We produce a variant that is COMPLETE_TYPE_P but has no fields. THis triggers ICE with verify_type patch I am about to send. Bootstrapped/regtested x86_64-linux, comitted. Patch by Richard Biener * coverage.c

Fwd: [PING 2][PATCH] libgcc: Add CFI directives to the soft floating point support code for ARM

2015-05-10 Thread Martin Galvan
Hi Ramana! Sorry to bother, but I looked at the repository and didn't see this committed. As I don't have write access could you please commit this for me? Thanks a lot! On Tue, Apr 28, 2015 at 2:07 PM, Martin Galvan martin.gal...@tallertechnologies.com wrote: Thanks a lot. I don't have write

[PATCH] Fix memory leak in C++ pretty printer

2015-05-10 Thread Patrick Palka
In gcc/cp/error.c we initialize the C++ pretty printer object twice: first during statics initialization and later in a placement-new in init_error(). This double-initialization causes a memory leak of about 7kb according to valgrind. I don't see a reason to initialize the object a second time

Re: [Patch, Fortran, 66035, v1] [5/6 Regression] gfortran ICE segfault

2015-05-10 Thread Mikael Morin
Le 08/05/2015 15:29, Andre Vehreschild a écrit : Hi all, please find attached a patch for 66035. An ICE occurred when in a structure constructor an allocatable component of type class was initialized with an existing class object. This was caused by - the size of the memory to allocate

[PATCH] D demangle: Check identifier length before using strncmp

2015-05-10 Thread Iain Buclaw
Noticed this when I was in the middle of testing out some tightening up of parsing checks. Currently when the pointer to the mangled string has reached the end of the buffer, or no longer satisfies any constraints in an abrupt fashion, the parsing logic just exits early in all parsing routines

Re: [patch, avr] extend part-clobbered check to AVR_TINY architecture

2015-05-10 Thread Denis Chertykov
Sorry for delay. (I was at vacation in Kazakhstan without internet.) 2015-05-08 8:32 GMT+03:00 Sivanupandi, Pitchumani pitchumani.sivanupa...@atmel.com: Ping! -Original Message- From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- ow...@gcc.gnu.org] On Behalf Of Sivanupandi,

[patch] conditional lim

2015-05-10 Thread Evgeniya Maenkova
[subj corrected] Hi, Andy Thanks for your clarification. Then I'll try to implement some chain of debug statements to make the value computed in the branch available inside the loop. Or may be you have better ideas? Waiting for further comments regarding the whole patch from you, Richard and

[C frontend] Fix construction of TYPE_STUB_DECL

2015-05-10 Thread Jan Hubicka
Hi, TREE_PUBLIC of TYPE_DECL is defined to say if the type is public: /* In a VAR_DECL, FUNCTION_DECL, NAMESPACE_DECL or TYPE_DECL, nonzero means name is to be accessible from outside this translation unit. In an IDENTIFIER_NODE, nonzero means an external declaration

Re: [PATCH i386] Move CLOBBERED_REGS earlier in register class list

2015-05-10 Thread Uros Bizjak
On Sun, May 10, 2015 at 6:44 PM, Jan Hubicka hubi...@ucw.cz wrote: On 32-bit x86, register class CLOBBERED_REGS is a proper subset of LEGACY_REGS, which causes IRA not to consider it separately for register allocation, even when it has lower cost than other classes. This patch is useful to

Re: [PATCH 6/6] rs6000: Clean up the various rlwinm patterns

2015-05-10 Thread Maciej W. Rozycki
On Sun, 10 May 2015, Segher Boessenkool wrote: * Give every define_insn a name; * Add missing conditions for some of the dot forms; * Use define_insn_and_split to reduce duplication; * Renumber operands so 0,1,2,3 are the actual operands of the machine instruction, in order; * Reformat

Re: [PATCH i386] Move CLOBBERED_REGS earlier in register class list

2015-05-10 Thread Uros Bizjak
On Sun, May 10, 2015 at 7:51 PM, Uros Bizjak ubiz...@gmail.com wrote: On Sun, May 10, 2015 at 6:44 PM, Jan Hubicka hubi...@ucw.cz wrote: On 32-bit x86, register class CLOBBERED_REGS is a proper subset of LEGACY_REGS, which causes IRA not to consider it separately for register allocation, even

New Swedish PO file for 'gcc' (version 5.1.0)

2015-05-10 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 Swedish team of translators. The file is available at: http://translationproject.org/latest/gcc/sv.po (This file, 'gcc-5.1.0.sv.po', has

[PATCH] Added myself to Write After Approval section

2015-05-10 Thread Mikhail Maltsev
Subj. -- Regards, Mikhail Maltsev diff --git a/ChangeLog b/ChangeLog index d4b60dd..b9bfc76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-05-10 Mikhail Maltsev malts...@gmail.com + + * MAINTAINERS (Write After Approval): Add myself. + 2015-05-03 Matthias Klose

Re: [patch, Fortran] Fix PR 66041

2015-05-10 Thread Thomas Koenig
Hi Mikael, thanks for the review. Here is what I committed. Regards Thomas 2015-05-10 Thomas Koenig tkoe...@gcc.gnu.org PR fortran/66041 * frontend-passes.c (scalarized_expr): Set correct dimension and shape for the expression to be passed to lbound. Remove

Re: [PATCH i386] PR65753: allow PIC tail calls via function pointers

2015-05-10 Thread Jan Hubicka
In the i386 backend, tailcalls are incorrectly disallowed in PIC mode for calls via function pointers on the basis that indirect calls, like direct calls, would go via PLT and thus require %ebx to point to GOT -- but that is not true. Quoting Rich Felker who reported the bug, For PLT

Re: [PATCH i386] Move CLOBBERED_REGS earlier in register class list

2015-05-10 Thread Jan Hubicka
On 32-bit x86, register class CLOBBERED_REGS is a proper subset of LEGACY_REGS, which causes IRA not to consider it separately for register allocation, even when it has lower cost than other classes. This patch is useful to fix code generation problem that appears with no-PLT PIC tailcalls.

Re: [PATCH i386] Extend sibcall peepholes to allow source in %eax

2015-05-10 Thread Jan Hubicka
On i386, peepholes that transform memory load and register-indirect jump into memory-indirect jump are overly restrictive in that they don't allow combining when the jump target is loaded into %eax, and the called function returns a value (also in %eax, so it's not dead after the call). Fix

Re: [PATCH] Expand PIC calls without PLT with -fno-plt

2015-05-10 Thread Jan Hubicka
This patch introduces option -fno-plt that allows to expand calls that would go via PLT to load the address of the function immediately at call site (which introduces a GOT load). Cover letter explains the motivation for this patch. New option documentation for invoke.texi is missing from

Re: [PATCH] Expand PIC calls without PLT with -fno-plt

2015-05-10 Thread Jan Hubicka
On Mon, May 04, 2015 at 11:42:20AM -0600, Jeff Law wrote: On 05/04/2015 11:39 AM, Jakub Jelinek wrote: On Mon, May 04, 2015 at 11:34:05AM -0600, Jeff Law wrote: On 05/04/2015 10:37 AM, Alexander Monakov wrote: This patch introduces option -fno-plt that allows to expand calls that would

[PATCH] D demangle: Add support for Nj and Nk symbols in mangled string

2015-05-10 Thread Iain Buclaw
The next version of D introduces two new mangle conventions. - Nj to represent methods whose 'this' parameter is also the function return value - Nk to represent a 'ref' parameter that is also the function return value This patch introduces support for these two symbols. ---

Extend type verifier to check various uses of TYPE_BINFO and TYPE_VALUES_RAR

2015-05-10 Thread Jan Hubicka
Hi, this patch does the heavy lifting to check all overriders of TYPE_VALUES_RAW and TYPE_BINFO. The only bug noticed is that Java builds BINFOs that are not associated with the type. I will fix that incrementally (I am back from China trip so will now push out individual fixes as I canbe around

Re: [RFC][PATCH][X86_64] Eliminate PLT stubs for specified external functions via -fno-plt=

2015-05-10 Thread H.J. Lu
On Sat, May 9, 2015 at 9:34 AM, H.J. Lu hjl.to...@gmail.com wrote: On Mon, May 4, 2015 at 7:45 AM, Michael Matz m...@suse.de wrote: Hi, On Thu, 30 Apr 2015, Sriraman Tallam wrote: We noticed that one of our benchmarks sped-up by ~1% when we eliminated PLT stubs for some of the hot external

[PATCH 0/6] Getting rid of some zero_ext* patterns

2015-05-10 Thread Segher Boessenkool
This series teaches combine to behave a bit better, and then takes advantage of that in the rs6000 backend. I'll test the combine patches on x86_64-linux before committing, and will wait a bit for comments anyway. Segher gcc/combine.c | 146 +++- gcc/config/rs6000/rs6000.c |

[PATCH 1/6] combine: undo_to_marker

2015-05-10 Thread Segher Boessenkool
This generalises undo_all to allow undoing only the last some SUBSTs. This is used by the next patch, but is more generally useful. Comments? Segher 2015-05-10 Segher Boessenkool seg...@kernel.crashing.org * combine.c (get_undo_marker): New function. (undo_to_marker): New

[PATCH 4/6] rs6000: Delete some now-superfluous zero_ext{end,ract} patterns

2015-05-10 Thread Segher Boessenkool
After the change to combine, we no longer need all the special-case patterns. Tested on powerpc64-linux, as usual. As mentioned with the combine patch, there are no differences to generated code in cc1. This does not delete DImode lshiftrt patterns, because those do not exist (yet). Is this

[PATCH 2/6] combine: If recog fails, try again with zero_ext{ract,end} simplified

2015-05-10 Thread Segher Boessenkool
Combine has its own ideas of what is canonical RTL, forcing all backends to have special patterns in their machine description for the more simplified patterns combine often creates, even though the backend already has patterns for a more general form. Backends that do not implement those

[PATCH 3/6] rs6000: Don't use zero_extract in the bswap:HI splitter

2015-05-10 Thread Segher Boessenkool
The next patch removes the zero_extract insn this splits to. Write it as (and (lshiftrt ... instead. Okay for trunk? Segher 2015-05-10 Segher Boessenkool seg...@kernel.crashing.org * config/rs6000/rs6000.md (define_split for bswaphi): Don't use zero_extract. ---

Re: [Patch, Fortran] Simplify lbound

2015-05-10 Thread Mikael Morin
Le 03/05/2015 22:38, Thomas Koenig a écrit : Hi Mikael, Looks good. In general, it is better to restrict changes to existing test cases to the necessary minimum that they still pass, and add new code to new test cases. This makes regressions easier to track. So, OK with that change.

Re: [PATCH 2/4 v2] libcpp: Replace macro usage with C++ constructs)

2015-05-10 Thread Jan Hubicka
On 05/05/2015 12:21 PM, David Malcolm wrote: On Mon, 2015-05-04 at 13:15 -0600, Jeff Law wrote: On 05/01/2015 06:56 PM, David Malcolm wrote: [I didn't mark the inline functions as static; should they be?] Just a follow-up on this. I got burned by the ODR issues around implicit extern

[PATCH 6/6] rs6000: Clean up the various rlwinm patterns

2015-05-10 Thread Segher Boessenkool
Some cleanups: * Give every define_insn a name; * Add missing conditions for some of the dot forms; * Use define_insn_and_split to reduce duplication; * Renumber operands so 0,1,2,3 are the actual operands of the machine instruction, in order; * Reformat some patterns. Is this okay for trunk?

[PATCH 5/6] rs6000: Don't use gen_rlwinm

2015-05-10 Thread Segher Boessenkool
The next patch will rename the rlwinm pattern (as well as the other patterns that implement rlwinm, now unnamed). The only place that uses gen_rlwinm (an expander) is better off expanding the separate operations separately. Do so. Okay for trunk? Segher 2015-05-10 Segher Boessenkool

Re: [patch, Fortran] Fix PR 66041

2015-05-10 Thread Mikael Morin
Hello, Le 10/05/2015 00:31, Thomas Koenig a écrit : Am 09.05.2015 um 13:59 schrieb Mikael Morin: + /* We have to get rid of the shape, if thre is one. Do +so by freeing it and calling gfc_resolve to rebuild it, +if necessary. */ +

Fix type_verifier ICE with non-NULL TREE_PURPOSE in TYPE_ARG_TYPES

2015-05-10 Thread Jan Hubicka
Hi, in my tree I run the type chekcer from dwarf2out and tree streamer and it reports non-NULL TREE_PURPOSE in TYPE_ARG_TYPES during bootstrap. This is because C++ FE uses it to store the initial value. This patch updates verifier to permit this case and free_lang_data_in_type to clear it. I am

Re: [PATCH 6/6] rs6000: Clean up the various rlwinm patterns

2015-05-10 Thread Segher Boessenkool
On Sun, May 10, 2015 at 07:02:33PM +0100, Maciej W. Rozycki wrote: -(define_insn rlwinm +(define_insn *ashlsi3_imm_mask [(set (match_operand:SI 0 gpc_reg_operand =r) (and:SI (ashift:SI (match_operand:SI 1 gpc_reg_operand r) (match_operand:SI 2