can_refer_decl_in_current_unit_p TLC

2014-05-21 Thread Jan Hubicka
Hi, can_refer_decl_in_current_unit_p is a black magic that carefuly papers around a mine field created by combination of C++ ABI and ELF visibility attributes. As such it is not pretty and grown up into quite a maze of rules. Well, I think it is time to clean it up: for example it does twice very

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Mon, 2014-05-19 at 16:25 +0200, Arnaud Charlet wrote: That's actually the biggest concern when people submit a new port: they submit it, get it approved, commit it and then are no longer available for any maintenance when these files need to be updated/become outdated/ no longer

Re: [Patch, ARM] Fix pr 61208

2014-05-21 Thread Richard Biener
On Tue, 20 May 2014, Richard Earnshaw wrote: PR 61208 is a wrong code bug in Thumb2 where we can generate out of range branches due to incorrect instruction size calculations. It's mostly gone latent on 4.9 and trunk (though could still happen at -O0 where splitting is done during final

Re: patch8.diff updated Was: Re: GCC's -fsplit-stack disturbing Mach's vm_allocate

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 09:47:08 +0200, a écrit : +# Special treatment of EWOULDBLOCK for GNU/Hurd +# /usr/include/bits/errno.h: #define EWOULDBLOCK EAGAIN +if egrep 'define EWOULDBLOCK EAGAIN' gen-sysinfo.go /dev/null 21; then + egrep '^const EWOULDBLOCK =

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 09:49:59 +0200, a écrit : Thomas and Samuel: It looks like upstream don't accept patches unless a Hurd port maintainer commits to it. What's the use of all this job? Well, simply to keep the changes working. That is not surprising at all. (Of course it can

[committed] Fix reference handling in #pragma omp simd (PR middle-end/61252)

2014-05-21 Thread Jakub Jelinek
Hi! As the testcase shows, in simd regions we need to treat references to constant sizes more carefully not just if they have OMP_CLAUSE_REDUCTION_PLACEHOLDER, but also when they don't. Fixed thusly, committed to trunk and 4.9 after bootstrap/regtest on x86_64-linux and i686-linux. 2014-05-21

[SH, committed] PR 54236 add another addc case

2014-05-21 Thread Oleg Endo
Hi, The attached patch adds another addc pattern in order to catch 'reg + T' opportunities. Tested on rev 210624 with make -k check RUNTESTFLAGS=--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb} and no new failures. Committed as rev 210682. Cheers, Oleg

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Wed, 2014-05-21 at 10:03 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 09:49:59 +0200, a écrit : Thomas and Samuel: It looks like upstream don't accept patches unless a Hurd port maintainer commits to it. What's the use of all this job? Well, simply to keep the

Re: [PATCH, AArch64] Fix for PR61202

2014-05-21 Thread Marcus Shawcroft
On 20 May 2014 18:37, Carrot Wei car...@google.com wrote: Hi James Thank you for pointing this out. In the new patch I removed the modification of vqdmulh_n_s32 and vqdmulhq_n_s32. Passed dejagnu testing on aarch64 qemu again. OK for trunk, 4.9 and 4.8? 2014-05-20 Guozhi Wei

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 10:20:16 +0200, a écrit : On Wed, 2014-05-21 at 10:03 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 09:49:59 +0200, a écrit : Thomas and Samuel: It looks like upstream don't accept patches unless a Hurd port maintainer commits to it.

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Arnaud Charlet
I think the majority of work has bee done, Now that patch will change slightly for every missing feature added to Hurd. Then it's all good, it's a matter of what I said above. Don't forget also the part where general changes are done in GNAT which require update to target specific files:

Re: [PATCH, AArch64] Fix for PR61202

2014-05-21 Thread Marcus Shawcroft
On 21 May 2014 09:28, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 20 May 2014 18:37, Carrot Wei car...@google.com wrote: Hi James Thank you for pointing this out. In the new patch I removed the modification of vqdmulh_n_s32 and vqdmulhq_n_s32. Passed dejagnu testing on aarch64

Re: [PATCH, AArch64] Fix for PR61202

2014-05-21 Thread Richard Biener
On Wed, 21 May 2014, Marcus Shawcroft wrote: On 21 May 2014 09:28, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 20 May 2014 18:37, Carrot Wei car...@google.com wrote: Hi James Thank you for pointing this out. In the new patch I removed the modification of vqdmulh_n_s32 and

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Wed, 2014-05-21 at 10:29 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 10:20:16 +0200, a écrit : On Wed, 2014-05-21 at 10:03 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 09:49:59 +0200, a écrit : Thomas and Samuel: It looks like upstream don't

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Arnaud Charlet, le Wed 21 May 2014 10:33:31 +0200, a écrit : I think the majority of work has bee done, Now that patch will change slightly for every missing feature added to Hurd. Then it's all good, it's a matter of what I said above. Don't forget also the part where general

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Wed, 2014-05-21 at 10:33 +0200, Arnaud Charlet wrote: I think the majority of work has bee done, Now that patch will change slightly for every missing feature added to Hurd. Then it's all good, it's a matter of what I said above. Don't forget also the part where general changes

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 10:40:37 +0200, a écrit : What kind of person do you have to be to be accepted, a GNU/Hurd developer or a GNU/Ada developer having a gnu.org account? Nothing special, just like for contributing to any opensource project; just someone who checks from

Re: [PATCH, ARM] Fix segfault in thumb1_reorg

2014-05-21 Thread Eric Botcazou
RTL checking would probably have found this quickly, but that's very expensive so not normally enabled during trunk development. This used to be very expensive, but has been only moderately expensive for a while (it's in my checking options for years on trunk for x86/x86-64). -- Eric

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 10:44:54 +0200, a écrit : On Wed, 2014-05-21 at 10:33 +0200, Arnaud Charlet wrote: I think the majority of work has bee done, Now that patch will change slightly for every missing feature added to Hurd. Then it's all good, it's a matter of what I

Re: [Patch, GCC/Thumb1] Improve 64bit constant load for Thumb1

2014-05-21 Thread Ramana Radhakrishnan
-(define_split +; Split the load of 64-bit constant into two loads for high and low 32-bit parts respectively +; to see if we can load them in fewer instructions or fewer cycles. +; For the small 64-bit integer constants that satisfy constraint J, the instruction pattern +; thumb1_movdi_insn has a

Re: [patch, lto] add testcase for PR60179

2014-05-21 Thread Richard Biener
On Wed, May 21, 2014 at 3:51 AM, Sandra Loosemore san...@codesourcery.com wrote: One of the consequences of the (now-fixed) bug in PR60179 is that Nios II code using target pragmas to specify custom instructions failed to generate those instructions with -flto. We came up with this test case

Re: [PATCH] proposed fix for bug # 61144

2014-05-21 Thread Richard Biener
On Wed, May 21, 2014 at 3:59 AM, Rich Felker dal...@libc.org wrote: Bug # 61144 is a regression in 4.9.0 that breaks building of musl libc due to aggressive and semantically-incorrect constant folding of weak aliases. The attached patch seems to fix the issue. A weak alias should never be a

Re: [Patch, bfin/c6x] Fix ICE for backends that rely on reorder_loops.

2014-05-21 Thread Bernd Schmidt
On 01/09/2014 05:20 AM, Jeff Law wrote: On 01/07/14 09:07, Bernd Schmidt wrote: If someone explicitly chooses that option we can turn off the reordering in hw-doloop. That should happen sufficiently rarely that it isn't a problem. That's what the patch below does - bootstraped on

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Wed, 2014-05-21 at 10:47 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 10:40:37 +0200, a écrit : What kind of person do you have to be to be accepted, a GNU/Hurd developer or a GNU/Ada developer having a gnu.org account? Nothing special, just like for

Make the Blackfin port build again

2014-05-21 Thread Bernd Schmidt
This is probably fallout from the 64-bit HWI changes. We can generate an invalid CONST_INT due to missing sign extension. Tested on bfin-elf and committed. Bernd diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a80370b..ac95586 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 11:22:44 +0200, a écrit : On Wed, 2014-05-21 at 10:47 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 10:40:37 +0200, a écrit : What kind of person do you have to be to be accepted, a GNU/Hurd developer or a GNU/Ada developer having

RE: [Patch, GCC/Thumb1] Improve 64bit constant load for Thumb1

2014-05-21 Thread Terry Guo
-Original Message- From: Ramana Radhakrishnan [mailto:ramana@googlemail.com] Sent: Wednesday, May 21, 2014 4:56 PM To: Terry Guo Cc: gcc-patches; Richard Earnshaw; Ramana Radhakrishnan Subject: Re: [Patch, GCC/Thumb1] Improve 64bit constant load for Thumb1 -(define_split +;

Re: Reload codegen improvement

2014-05-21 Thread Bernd Schmidt
On 01/07/2014 05:22 PM, Bernd Schmidt wrote: This fixes a problem identified by Chung-Lin. Once reload is done, all equivalencing insns for pseudos that didn't get a hard reg but could be eliminated using their REG_EQUIV are deleted. However, we still can produce reloads and reload insns for

Re: [PATCH, PR C++/61038] - g++ -E is unusable with UDL strings

2014-05-21 Thread Andreas Schwab
Ed Smith-Rowland 3dw...@verizon.net writes: Index: ../gcc/testsuite/g++.dg/cpp0x/pr61038.C === --- ../gcc/testsuite/g++.dg/cpp0x/pr61038.C (revision 0) +++ ../gcc/testsuite/g++.dg/cpp0x/pr61038.C (working copy) @@ -0,0 +1,23

Re: CALL_INSN_FUNCTION_USAGE fix, PR52773

2014-05-21 Thread Bernd Schmidt
On 06/19/2013 07:39 PM, Bernd Schmidt wrote: This is bug that triggers on m68k. The loop unroller creates a MULT expression and tries to force it into a register, which causes a libcall to be generated. Since args are pushed we create a (use (mem (plus virtual_outgoing_args scratch))) in

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Svante Signell
On Wed, 2014-05-21 at 11:27 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 11:22:44 +0200, a écrit : On Wed, 2014-05-21 at 10:47 +0200, Samuel Thibault wrote: Svante Signell, le Wed 21 May 2014 10:40:37 +0200, a écrit : What kind of person do you have to be to be

Re: [PATCH] Add support for GNU/Hurd in gnat-4.9

2014-05-21 Thread Samuel Thibault
Svante Signell, le Wed 21 May 2014 11:42:30 +0200, a écrit : On Wed, 2014-05-21 at 11:27 +0200, Samuel Thibault wrote: Guaranteeing long term support *is* about taking up the work of checking periodically that the port works fine. If anybody does it, then it's fine. If nobody does it,

[PATCH] Fix PR 61225

2014-05-21 Thread Zhenqiang Chen
Hi, The patch fixes the gcc.target/i386/pr49095.c FAIL in PR61225. The test case tends to check a peephole2 optimization, which optimizes the following sequence 2: bx:SI=ax:SI 25: ax:SI=[bx:SI] 7: {ax:SI=ax:SI-0x1;clobber flags:CC;} 8: [bx:SI]=ax:SI 9: flags:CCZ=cmp(ax:SI,0)

Re: [patch] Remove shadow variable

2014-05-21 Thread Thomas Schwinge
Hi Jim! On Fri, 9 May 2014 11:03:35 -0500, James Norris jnor...@codesourcery.com wrote: Removed three occurrences of a shadow variable. Bootstrapped and tested on x86-64-unknown-linux-gnu. 2014-05-09 James Norris jnor...@codesourcery.com * omp-low.c (expand_parallel_call): Remove

[Ada] Add usage line for gnatmake switch -d

2014-05-21 Thread Arnaud Charlet
A new line is added in the gnatmake usage for switch -d: -dDisplay compilation progress Tested on x86_64-pc-linux-gnu, committed on trunk 2014-05-21 Vincent Celier cel...@adacore.com * makeusg.adb: Add switch -d to usage. Index: makeusg.adb

[Ada] Handling of deferred references with nested prefixed calls

2014-05-21 Thread Arnaud Charlet
When handling deferred references, if an actual that is the prefix of an enclosing prefixed call has been rewritten, we must use Nkind and Sloc to identify the corresponding formal. The First_Named_Actual of the enclosing call may be meaningless after the surrounding expansion. No simple example

[Ada] Fix possible overflow in table handling

2014-05-21 Thread Arnaud Charlet
The Reallocate procedures in g-htable.adb and g-dyntab.adb are subject to problems with possible intermediate overflow. This has never been reported to cause problems, but in theory it could cause performance degradation, so it is now fixed. No test, because too much trouble to construct, and we

[Ada] Detect illegal component of dereference of access-to-constant

2014-05-21 Thread Arnaud Charlet
This patch detects an error that was previously undetected. In particular, it is illegal to rename a subcomponent of an object designated by an access-to-constant value if that subcomponent depends on discriminants. The following test should get an error: % gnatmake -f -q acc_const_test.adb

[Ada] Clearer documentation of -gnatw.g and -gnatyg switches

2014-05-21 Thread Arnaud Charlet
This patch provides more precise documentation of the GNAT mode warning switch -gnatw.g and the GNAT mode style switch -gnatyg, in both the users guide and the usage information. Documentation change only, no test needed. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-05-21 Robert Dewar

[Ada] Tag restriction warning messages

2014-05-21 Thread Arnaud Charlet
Restriction warning messages are now tagged [restriction warning] if -gnatw.d is used, instead of [enabled by default]. This new tag can be used in pragma Warning_As_Errors. The following is compiled with -gnatw.d -gnatj50 -gnatl 1. pragma Warning_As_Error ([restriction warning]); 2.

Re: [Patch, GCC/Thumb1] Improve 64bit constant load for Thumb1

2014-05-21 Thread Ramana Radhakrishnan
On Wed, May 21, 2014 at 10:29 AM, Terry Guo terry@arm.com wrote: -Original Message- From: Ramana Radhakrishnan [mailto:ramana@googlemail.com] Sent: Wednesday, May 21, 2014 4:56 PM To: Terry Guo Cc: gcc-patches; Richard Earnshaw; Ramana Radhakrishnan Subject: Re: [Patch,

[patch] check that sys/sdt.h can be used with the target

2014-05-21 Thread Matthias Klose
The HAVE_SYS_SDT_H define succeeds when the file sys/sdt.h is found. It doesn't use the target compiler for that check, like AC_CHECK_HEADER does. This patch uses AC_COMPILE to check for the header and ensure that a dummy program succeeds to build. This is a different patch than the one proposed

[Ada] Allow warning tag in pragma Warnings (Off, string)

2014-05-21 Thread Arnaud Charlet
This patch allows the use of a warning tag as the second parameter of a pragma Warnings (Off\On, ...) pragma. The effect is to control all error messages in that category. This tag may be either [-gnatw?] for a particular category of errors, or [restriction warning] to cover all restriction

[Ada] Add missing entities to Stand.Tree_Read and Stand.Tree_Write

2014-05-21 Thread Arnaud Charlet
Several entities were not written by Tree_Write and correspondingly not set by Tree_Read. Theoretically this could affect ASIS if it used any routines needing these entities, but we have never observed any issues in this area, so it is likely this is just a latent bug with no observable functional

[Ada] Do not complain about restricted references within defining units

2014-05-21 Thread Arnaud Charlet
Restrictions No_Abort_Statements and No_Dynamic_Attachment follow exactly the RM rule which forbids any references to certain entities. But this should not apply to the units in which these entities are declared, since otherwise, for example, a pragma Inline for one of these entities is a

[Ada] Fix error of not diagnosing bad body with non-standard file names

2014-05-21 Thread Arnaud Charlet
If Source_File_Name pragmas with patterns were used to specify a non- standard naming scheme, then the compiler would fail to diagnose an attempt to compile a spec which did not need a body when in fact a body file was present. Given a gnat.adc file containing: 1. pragma

Re: [PATCH] Fix PR 61225

2014-05-21 Thread Steven Bosscher
On Wed, May 21, 2014 at 11:58 AM, Zhenqiang Chen wrote: Hi, The patch fixes the gcc.target/i386/pr49095.c FAIL in PR61225. The test case tends to check a peephole2 optimization, which optimizes the following sequence 2: bx:SI=ax:SI 25: ax:SI=[bx:SI] 7: {ax:SI=ax:SI-0x1;clobber

[Ada] PR ada/9535 improved consistency of stream primitives for datagram sockets

2014-05-21 Thread Arnaud Charlet
This change implements a suggested improvement to the behaviour of stream primitives for streams backed by datagram sockets: a Read or Write call now corresponds to exactly one Receive_Socket or Send_Socket call. Test case: $ gnatmake -q udp_stream $ ./udp_stream Got 5 characters: hello with

[Ada] Implement legality rules for shared volatile variables

2014-05-21 Thread Arnaud Charlet
This patch implements the rules defined in SPARK 2014 RM section C.6. The rules forbit certain constructs to be labelled as volatile. -- Source -- -- shared_variables.ads package Shared_Variables with SPARK_Mode = On is type T is new Integer with Volatile;

RE: [PATCH, PR61191, Cilk+] Fix ICE on syntax error

2014-05-21 Thread Zamyatin, Igor
Please see the patch with the testcase Thanks, Igor gcc/c/ChangeLog: 2014-05-20 Igor Zamyatin igor.zamya...@intel.com PR c/61191 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid function parameters. gcc/testsuite/ChangeLog 2014-05-20 Igor Zamyatin

Re: [PATCH] Implement -fsanitize=float-cast-overflow (take 2)

2014-05-21 Thread Marek Polacek
On Tue, May 20, 2014 at 09:50:10PM +, Joseph S. Myers wrote: On Tue, 20 May 2014, Marek Polacek wrote: * is missing tests for long doubles/-mlong-double-128, Also missing tests for float - as far as I can see, only double is tested. Ideally all of float, double, long double,

[Ada] Update SPARK cross references for local packages

2014-05-21 Thread Arnaud Charlet
Cross references for GNATprove on SPARK code should not use local packages as valid scopes, but instead the enclosing subprogram, which is the meaningful scope to distinguish between local and global variables. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-05-21 Yannick Moy

[PATCH][RFC] Handle realloc in PTA and alias analysis

2014-05-21 Thread Richard Biener
PR56955 prompted me to handle BUILT_IN_REALLOC just the same way we already handle BUILT_IN_STR[N]DUP. Bootstrap and regtest running on x86_64-unknown-linux-gnu. Now this will disambiguate *p and *q for p = realloc (q, n) for any value of n (including those that don't actually trigger

Re: [PATCH, PR61191, Cilk+] Fix ICE on syntax error

2014-05-21 Thread Jeff Law
On 05/21/14 06:48, Zamyatin, Igor wrote: Please see the patch with the testcase Thanks, Igor gcc/c/ChangeLog: 2014-05-20 Igor Zamyatin igor.zamya...@intel.com PR c/61191 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid function parameters. gcc/testsuite/ChangeLog

Re: CALL_INSN_FUNCTION_USAGE fix, PR52773

2014-05-21 Thread Jeff Law
On 05/21/14 03:37, Bernd Schmidt wrote: On 06/19/2013 07:39 PM, Bernd Schmidt wrote: This is bug that triggers on m68k. The loop unroller creates a MULT expression and tries to force it into a register, which causes a libcall to be generated. Since args are pushed we create a (use (mem (plus

[Ada] Fix error in classification of restriction warnings

2014-05-21 Thread Arnaud Charlet
Some restriction warnings messages were still being tagged as [enabled by default] instead of [restriction warning]. The following program used not to give the warning since it got incorrectly suppressed (compiled with -gnatj55 -gnatw.d -gnatl) 1. pragma Warnings (Off, [enabled by default]);

[Ada] Overriding_Indicators not legal on protected subprogram bodies

2014-05-21 Thread Arnaud Charlet
The compiler incorrectly allows overriding_indicators to be applied to protected subprogram bodies (and flags a style error with -gnatyO when they're missing), but those are disallowed by the Ada RM (see RM-8.3.1(3-6) and AC95-00213 for confirmation of intent). This is fixed, but the error can be

[Ada] Proper handling of packed array of small record with reverse SSO

2014-05-21 Thread Arnaud Charlet
This change ensures proper processing for a packed array of 4-bit records specified with reverse scalar storage order. The following program must compile quietly and execute as shown: $ gnatmake -q reduced_pkd_array_small_rec $ ./reduced_pkd_array_small_rec Config 0 = 1 Config 1 = 3 Config 2 =

[Ada] Warnings on use of uninitialized entities in an instance

2014-05-21 Thread Arnaud Charlet
This patch adds warnings to uses of potentially uninitialzed entities in instances. If an entity of a generic type has default initialization, then the corresponding actual type should be fully initialized, or else there will be uninitialized components in the instantiation that might go

[Ada] Reject the use of volatiles in assertion expressions

2014-05-21 Thread Arnaud Charlet
This patch corrects the trigger which determines the proper context of a volatile object with enabled property Async_Writers or Effective_Reads. -- Source -- -- assert_exprs.ads package Assert_Exprs with SPARK_Mode is type T is new Integer with Volatile;

Re: Ping2: [PATCH] PR debug/16063. Add DW_AT_type to DW_TAG_enumeration.

2014-05-21 Thread Mark Wielaard
On Tue, 2014-05-20 at 15:46 -0400, Jason Merrill wrote: Rather than define the hook for C, let's have a default version that uses the type_for_size langhook; that should work better for Ada. That also makes the patch simpler. Updated patch attached. Bootstrapped on x86_64-unknown-linux-gnu

[Ada] Implement new restriction No_Fixed_IO

2014-05-21 Thread Arnaud Charlet
A new restriction No_Fixed_IO, which requires partition-wide consistent use, forbids fixed I/O operations which may end up using floating-point at run-time. These include any refernce to Fixed_IO or Decimal_IO in packages Ada.Text_IO, Ada.Wide_Text_IO, and Ada.Wide_Wide_Text_IO, and any use of the

[PATCH 0/7] ipa-prop escape analysis

2014-05-21 Thread Martin Jambor
Hi, this patch series implements ipa-prop escape and clobber analysis and then more advanced jump function building on top of them. Better descriptions of individual patches are in their corresponding email messages, they however need to be applied in this order and so I'm sending them in this

[PATCH 1/7] Add missing documentation of four IPA-CP params

2014-05-21 Thread Martin Jambor
Hi, in his review of the next patch of this series, Honza pointed out that the path did not include documentation of a parameter it was adding. When I set out to correct this I found out I had already been guilty of not adding documentation of four other parameters before. I'd like to correct

[PATCH 7/7] Plug ipa-prop escape analysis into gimple_call_arg_flags

2014-05-21 Thread Martin Jambor
Hi, this demonstrates how results of ipa-prop escape analysis from previous patches can be used at a later stage of compilation by directly returning them from gimple_call_arg_flags which currently relies on fnspec annotations. Bootstrapped and tested on x86_64-linux and also passes LTO

[PATCH 5/7] Advanced aggregate jump function construction

2014-05-21 Thread Martin Jambor
Hi, this patch bring about more sophisticated building of aggregate jump functions under the optimistic assumption the aggregate will not escape. If it is then discovered to escape, the appropriate jump functions are invalidated at IPA time before anything else can see them. Invalidating is

[PATCH 6/7] Real aggregate contents merge and application of deltas

2014-05-21 Thread Martin Jambor
Hi, the previous patch used a very simplistic merging and delta application of aggregate contents. This patch replaces it with a real one. Because there are potentially many basic blocks and the contents of a particular aggregate are very likely to be the same for many of them, the description

Re: [PATCH, libgfortran] PR60324 Handle arbitrarily long path names

2014-05-21 Thread Steve Kargl
On Mon, May 19, 2014 at 11:40:06PM +0300, Janne Blomqvist wrote: Hello, some systems such as GNU Hurd, don't define PATH_MAX at all, and on some other systems many syscalls apparently work for paths longer than PATH_MAX. Thus GFortran shouldn't truncate paths to PATH_MAX characters, but

[PATCH 4/7] Break up determine_known_aggregate_parts

2014-05-21 Thread Martin Jambor
Hi, the main purpose of this patch is to break up function determine_known_aggregate_parts so that the next patch can use the standalone bits and to make the changes slightly easier for review. However, this patch also removes some of the offset checks which Honza correctly thought superfluous

[PATCH 2/7] Analyze BBs in DOM order in ipa-prop.c

2014-05-21 Thread Martin Jambor
Hi, this patch has already been reviewed and pre-approved by Honza, so I'm including this mainly for reference and I will commit it once the previous (documentation) patch is approved. The original submission can be found at http://gcc.gnu.org/ml/gcc-patches/2014-04/msg01681.html. This patch

Re: [PATCH][RFC] Handle realloc in PTA and alias analysis

2014-05-21 Thread Richard Biener
On Wed, 21 May 2014, Richard Biener wrote: PR56955 prompted me to handle BUILT_IN_REALLOC just the same way we already handle BUILT_IN_STR[N]DUP. Bootstrap and regtest running on x86_64-unknown-linux-gnu. Now this will disambiguate *p and *q for p = realloc (q, n) for any value of n

[PATCH][match-and-simplify] Fix missed constant folding / operand canonicalization

2014-05-21 Thread Richard Biener
I noticed we fail to do $subject for the outermost stmt. I did so when trying to implement the basic constant folding patterns required to make gimple_fold_stmt_to_constant replaceable by gimple_match_and_simplify, thus patterns like (match_and_simplify (plus @0 integer_zerop) @0) Built on

[PATCH] document -flto-partition=[n]one

2014-05-21 Thread Richard Biener
Committed. Richard. 2014-05-21 Richard Biener rguent...@suse.de * doc/invoke.texi (-flto-partition=): Document one and none algorithms. Index: gcc/doc/invoke.texi === --- gcc/doc/invoke.texi (revision 210694)

Re: [PATCH 7/7] Plug ipa-prop escape analysis into gimple_call_arg_flags

2014-05-21 Thread Richard Biener
On Wed, May 21, 2014 at 3:16 PM, Martin Jambor mjam...@suse.cz wrote: Hi, this demonstrates how results of ipa-prop escape analysis from previous patches can be used at a later stage of compilation by directly returning them from gimple_call_arg_flags which currently relies on fnspec

Re: Ping2: [PATCH] PR debug/16063. Add DW_AT_type to DW_TAG_enumeration.

2014-05-21 Thread Jason Merrill
On 05/21/2014 09:27 AM, Mark Wielaard wrote: +/* The C++ version of the enum_underlying_base_type langhook. + See also cp/semantics.c (finish_underlying_type). */ +static tree cxx_enum_underlying_base_type (const_tree type) We usually leave a blank line between the comment and the function.

Re: [PATCH] Implement -fsanitize=float-cast-overflow (take 2)

2014-05-21 Thread Jakub Jelinek
On Wed, May 21, 2014 at 02:51:00PM +0200, Marek Polacek wrote: On Tue, May 20, 2014 at 09:50:10PM +, Joseph S. Myers wrote: On Tue, 20 May 2014, Marek Polacek wrote: * is missing tests for long doubles/-mlong-double-128, Also missing tests for float - as far as I can see, only

Re: Eliminate write-only variables

2014-05-21 Thread Martin Jambor
Hi, On Wed, May 21, 2014 at 05:10:55AM +0200, Jan Hubicka wrote: Unfortunately, this commit has caused the following ICE for me when LTO building 471.omnetpp from SPEC 2006 or Firefox (but not libxul, something that gets built earlier): lto1: internal compiler error: in

Re: [PATCH][AARCH64] Support tail indirect function call

2014-05-21 Thread Marcus Shawcroft
Hi, On 18 March 2014 14:13, Jiong Wang jiong.w...@arm.com wrote: * config/aarch64/predicates.md (aarch64_call_insn_operand): New predicate. * config/aarch64/constraints.md (Ucs, Usf): New constraints. * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn): Adjust for

Re: [RFC][AArch64] Remove CORE_REGS form reg_class

2014-05-21 Thread Marcus Shawcroft
On 15 May 2014 01:10, Kugan kugan.vivekanandara...@linaro.org wrote: Hi All, AAarch64 back-end defines GENERAL_REGS and CORE_REGS with the same set of register. Is there any reason why we need this? Nope an artifact of the early evolution of AArch64. Long ago CORE_REGS did not include SP.

[patch] libstdc++/61269 fix type_traits for clang

2014-05-21 Thread Jonathan Wakely
Fix a dumb thinko in my recent type_traits changes. Tested x86_64-linux, committed to trunk. commit 2611cfac77420816ad312bcfd211f0899a697880 Author: Jonathan Wakely jwak...@redhat.com Date: Wed May 21 14:40:55 2014 +0100 PR libstdc++/61269 * include/std/type_traits: Move include

[patch] Fix warning in dragonflybsd locale

2014-05-21 Thread Jonathan Wakely
Fixes a warning noticed during bootstrap. I haven't run the dragonfly tests yet, but will do soon. Committed to trunk. commit 23b042935b1e179415179a6298df72d638280a27 Author: Jonathan Wakely jwak...@redhat.com Date: Wed May 21 16:08:28 2014 +0100 * config/locale/dragonfly/c_locale.cc

Re: [RFC][AArch64] Define BASE_REG_CLASS to be GENERAL_REGS

2014-05-21 Thread Marcus Shawcroft
On 15 May 2014 06:54, Kugan kugan.vivekanandara...@linaro.org wrote: Hi All, In AArch64 back-end, BASE_REG_CLASS is defined to be POINTER_REGS. Shouldn’t this be GENERAL_REGS? Hi Kugan, Are you aware of any problem caused by BASE_REG_CLASS being POINTER_REGS? GENERAL_REGS and POINTER_REGS

[patch] c/61271 fix ICE for invalid cilkplus array notation

2014-05-21 Thread Jonathan Wakely
This is only one of several cases in the PR, but one that's simple enough for me to write a test for and fix. Tested x86_64-linux, OK for trunk? commit 3ddcc29423746afb348c15160d33d3b1eec6fe12 Author: Jonathan Wakely jwak...@redhat.com Date: Wed May 21 16:20:25 2014 +0100 cp: PR

Re: Ping2: [PATCH] PR debug/16063. Add DW_AT_type to DW_TAG_enumeration.

2014-05-21 Thread Mark Wielaard
On Wed, 2014-05-21 at 10:33 -0400, Jason Merrill wrote: On 05/21/2014 09:27 AM, Mark Wielaard wrote: +/* The C++ version of the enum_underlying_base_type langhook. + See also cp/semantics.c (finish_underlying_type). */ +static tree cxx_enum_underlying_base_type (const_tree type) We

Re: [PATCH 1/7] Add missing documentation of four IPA-CP params

2014-05-21 Thread Jeff Law
On 05/21/14 07:16, Martin Jambor wrote: 2014-05-16 Martin Jambormjam...@suse.cz * doc/invoke.texi (Optimize Options): Document parameters ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus. OK. jeff

[PATCH] rs6000: Remove now unused predicate update_indexed_address_mem

2014-05-21 Thread Segher Boessenkool
My previous patch left this hanging around. Tested as usual; okay to apply? Segher 2014-05-21 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/predicates.md (update_indexed_address_mem): Delete. --- gcc/config/rs6000/predicates.md | 8 1 file changed, 8

Re: libsanitizer merge from upstream r208536

2014-05-21 Thread H.J. Lu
On Wed, May 21, 2014 at 5:09 AM, Konstantin Serebryany konstantin.s.serebry...@gmail.com wrote: A new patch based on r209283. This one has the H.J.'s patches for x32. This one is good on x32. Thanks. -- H.J.

Re: patch8.diff updated Was: Re: GCC's -fsplit-stack disturbing Mach's vm_allocate

2014-05-21 Thread Ian Lance Taylor
On Wed, May 21, 2014 at 12:47 AM, Svante Signell svante.sign...@gmail.com wrote: On Wed, 2014-05-21 at 01:27 +0200, Samuel Thibault wrote: Svante Signell, le Fri 16 May 2014 10:03:05 +0200, a écrit : is used in gcc-4.9-4.9.0/src/libgo/go/net/fd_unix.go: func dupCloseOnExec(fd int) (newfd

[patch] c/61271 fix ICE for invalid cilkplus array notation

2014-05-21 Thread Jonathan Wakely
On 21/05/14 16:43 +0100, Jonathan Wakely wrote: This is only one of several cases in the PR, but one that's simple enough for me to write a test for and fix. Tested x86_64-linux, OK for trunk? There's a separate PR for this one now: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61276 So I'll

Re: [RFC][AArch64] Define BASE_REG_CLASS to be GENERAL_REGS

2014-05-21 Thread Richard Earnshaw
On 21/05/14 16:21, Marcus Shawcroft wrote: On 15 May 2014 06:54, Kugan kugan.vivekanandara...@linaro.org wrote: Hi All, In AArch64 back-end, BASE_REG_CLASS is defined to be POINTER_REGS. Shouldn’t this be GENERAL_REGS? Hi Kugan, Are you aware of any problem caused by BASE_REG_CLASS

Re: [PATCH] rs6000: Remove now unused predicate update_indexed_address_mem

2014-05-21 Thread David Edelsohn
On Wed, May 21, 2014 at 11:55 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: My previous patch left this hanging around. Tested as usual; okay to apply? Segher 2014-05-21 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/predicates.md

Re: Add flag to optionally ignore ELF interposition

2014-05-21 Thread Joseph S. Myers
On Wed, 21 May 2014, Jan Hubicka wrote: I tought glibc uses handcoded local aliases for all its exported symbols except for those where interposition is allowed. It does that for exported symbols. But there are lots of non-exported __* functions used internally - and while some are

Re: [C++ patch] Fix c++/PR61133, implement the resolution of DR1760

2014-05-21 Thread Jason Merrill
Applied, thanks. Jason

Re: emit __float128 typeinfo

2014-05-21 Thread Jason Merrill
On 04/25/2014 05:04 AM, Marc Glisse wrote: Does this approach seem ok, or do we need to try harder to find a way to get this typeinfo into libsupc++? The latter, I think; these are base types, so they should go in the library. Sorry for the slow response. Jason

Re: [PATCH] Implement -fsanitize=float-cast-overflow (take 2)

2014-05-21 Thread Joseph S. Myers
On Wed, 21 May 2014, Marek Polacek wrote: On Tue, May 20, 2014 at 09:50:10PM +, Joseph S. Myers wrote: On Tue, 20 May 2014, Marek Polacek wrote: * is missing tests for long doubles/-mlong-double-128, Also missing tests for float - as far as I can see, only double is tested.

Re: Add flag to optionally ignore ELF interposition

2014-05-21 Thread Jan Hubicka
On Wed, 21 May 2014, Jan Hubicka wrote: I tought glibc uses handcoded local aliases for all its exported symbols except for those where interposition is allowed. It does that for exported symbols. But there are lots of non-exported __* functions used internally - and while some are

Re: [MIPS] Add sbasic supoert ffor MSA (SIMD)

2014-05-21 Thread Joseph S. Myers
On Wed, 21 May 2014, Graham Stott wrote: msa.h is included, which will be installed when configured/built/installed. It provides prototypes, typedefs etc for the vector types used MSA its contents follow the MSA whitepaper. Unless it's part of the defined interface that the user may not

[PATCH] __attribute__ ((malloc)) doc fix (PR other/56955)

2014-05-21 Thread Paul Eggert
Attached is a proposed documentation patch for __attribute__ ((malloc)), taken from: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955#c9 Richard Biener suggested that I forward it to this list. Index: gcc/ChangeLog === ---

Re: [PATCH] Fix build failure in libcpp (PR c/61212)

2014-05-21 Thread Tom Tromey
Marek == Marek Polacek pola...@redhat.com writes: Marek 2014-05-21 Marek Polacek pola...@redhat.com Marek PR c/61212 Marek * files.c (find_file_in_dir): Add parens around . Ok. Thanks. Tom

[PATCH] Fix ubsan ICE on invalid (PR sanitizer/61272)

2014-05-21 Thread Marek Polacek
When compiling invalid C++ code, CALL_EXPR that contains identifier_node instead of a FUNCTION_DECL got into dump_expr - and is_ubsan_builtin_p was expecting that it only gets FUNCTION_DECLs. Fixed by changing the assert into a condition so is_ubsan_builtin_p returns false for non-functions.

  1   2   >