Re: [patch,gomp4] make fortran loop variables implicitly private in openacc

2014-09-08 Thread Tobias Burnus
Dear Cesar, sorry for the slow review. On 22 August 2014 17:08, Cesar Philippidis wrote: In OpenMP, one has (OMP 4.0, 2.14.3): A list item that specifies a given variable may not appear in more than one clause on the same directive, except that a variable may be specified in both firstprivate

Re: [C PATCH] Tidy up pedwarn_c90 (take 2)

2014-09-08 Thread Marek Polacek
On Fri, Aug 29, 2014 at 07:16:55PM +0200, Manuel López-Ibáñez wrote: On 19 August 2014 00:06, Joseph S. Myers jos...@codesourcery.com wrote: On Tue, 12 Aug 2014, Marek Polacek wrote: This then is the version with both issues fixed (and new test). Bootstrapped/regtested on x86_64-linux,

Re: [PATCH][2/2] Sanity check removed loops

2014-09-08 Thread Richard Biener
On Fri, 5 Sep 2014, Andreas Schwab wrote: Richard Biener rguent...@suse.de writes: 2014-09-05 Richard Biener rguent...@suse.de * cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING. * cfgloop.h (strut loop): Add former_header member when

[PATCH] Fix PR63196, ensure loops are fixed before inlining

2014-09-08 Thread Richard Biener
The following patch makes sure we don't inline / copy a CFG with loops needing fixups. In the particular case function versioning after IPA-CP made a CFG portion dead, removing a loop. The patch also makes the bogus loop removal detection unconditional as gengtype doesn't seem to be able to

Re: Remove no-longer-needed fp-bit target macros

2014-09-08 Thread Richard Biener
On Fri, Sep 5, 2014 at 7:21 PM, Joseph S. Myers jos...@codesourcery.com wrote: This patch removes some fp-bit target macros that are no longer needed: * __make_dp was not really designed as a target macro, but CRIS defined it in cris.h anyway for optimization purposes (so making it show

Re: [msp430] add missing option documentation

2014-09-08 Thread Richard Biener
On Fri, Sep 5, 2014 at 11:16 PM, DJ Delorie d...@redhat.com wrote: Minor bit of docs for an msp430 option. OK for trunk and 4.9 branch? Ok. Thanks, Richard. * doc/invoke.texi (MSP430 Options): Add -minrt. Index: doc/invoke.texi

Re: Remove SF_SIZE etc. target macros

2014-09-08 Thread Richard Biener
On Sat, Sep 6, 2014 at 12:07 AM, Joseph S. Myers jos...@codesourcery.com wrote: This patch replaces the target macros SF_SIZE, DF_SIZE, XF_SIZE and TF_SIZE, used to tell libgcc the number of bits in the mantissas of floating-point modes, with __LIBGCC_SF_MANT_DIG__ etc. macros defined if

Re: [PATCH] Use sscanf instead of atoll in gcov-tool.c

2014-09-08 Thread Richard Biener
On Sun, Sep 7, 2014 at 7:36 PM, John David Anglin dave.ang...@bell.net wrote: The attached patch fixes bootstrap on hpux which doesn't have the atoll function. Tested on hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11. OK for trunk? ll is not portable (it's GNU), I think BSD uses q and

Re: [gomp4] Revert more old Makefile/configure bits

2014-09-08 Thread Thomas Schwinge
Hi! On Fri, 5 Sep 2014 18:35:23 +0200, Bernd Schmidt ber...@codesourcery.com wrote: This removes some remnants from the accel-gcc support that turned out not to be viable for ptx. Ilya Verbin has confirmed the patch doesn't break their setup either, so I've committed it on the branch. In

Re: [PATCH 2/2] Enable elimination of zext/sext

2014-09-08 Thread Richard Biener
On Sun, Sep 7, 2014 at 11:50 AM, Kugan kugan.vivekanandara...@linaro.org wrote: On 05/09/14 19:50, Richard Biener wrote: Well - the best way would be to expose the target specifics to GIMPLE at some point in the optimization pipeline. My guess would be that it's appropriate after loop

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-09-08 Thread Evgeny Stupachenko
PING On Wed, Aug 27, 2014 at 7:50 PM, Evgeny Stupachenko evstu...@gmail.com wrote: The rotate insn appeared right after expand. I've done it similar to define_insn_and_split *avx_vperm_broadcast_mode. I don't see any potential losses on splitting that after reload. On Tue, Aug 26, 2014 at

Re: [PATCH][RFC] Restrict, take 42

2014-09-08 Thread Richard Biener
On Fri, 5 Sep 2014, Richard Biener wrote: On Wed, 3 Sep 2014, Richard Biener wrote: Ok, so with recent activity in that mgrid bug (PR55334) I tried to remember what solution we thought of after determining that ADD_RESTRICT is a no-go. The following very prototypish patch

Re: [match-and-simplify] adjust for pattern to allow multiple ids

2014-09-08 Thread Richard Biener
On Sun, Sep 7, 2014 at 11:53 PM, Prathamesh Kulkarni bilbotheelffri...@gmail.com wrote: Changes syntax of for pattern to: (for op (list1...) op2 (list2...) opN (listN...) patterns) Number of operator substitutions must be same. Indeed. Thanks - applied. Richard. * genmatch.c

[PATCH][match-and-simplify] Use multi-id for in one example

2014-09-08 Thread Richard Biener
The following patch makes use of the new multi-id for in builtin math fn patterns related to POW to show how we can address the usual triplets of fnF, fn, fnL simplifications with it. It's still quite explicit of course. The patch also supplies locations to some parser error calls and removes a

[PATCH][AArch64] Use __aarch64_vget_lane* macros for getting the lane in some lane multiply intrinsics

2014-09-08 Thread Kyrill Tkachov
Hi all, The included testcase currently ICEs at -O0 because vget_lane_f64 is a function, so if it's properly called with a constant argument but without constant propagation it will not be recognised as constant, causing an ICE. This patch changes it to use the macro version directly. I think

[PATCH][AArch64 Testsuite] Add test of vld[234]q? intrinsic

2014-09-08 Thread Alan Lawrence
This adds a test of all the variants of vld2, vld2q, vld3, vld3q, vld4, and vld4q. These all use typexNxM structs and the OI/CI/XImode mechanism, so the test cross-checks this against plain ol' vst1(q?). Cross-tested on aarch64-none-elf (passing), also on aarch64_be-none-elf

[PATCH][AArch64 Testsuite] Extend test of vld1+vst1 intrinsics to cover more variants

2014-09-08 Thread Alan Lawrence
The existing vld1/vst1_1.c test in gcc.target/aarch64 covers only vld1_s8 and vld1q_s16. This extends it to cover all int/float variants via token-pasting. Passing on aarch64-none-elf and aarch64_be-none-elf. gcc/testsuite/ChangeLog: * gcc.target/aarch64/vld1-vst1_1.c: Rewrite to test

[PATCH][AArch64 Testsuite] Add a test of vldN_dup intrinsics

2014-09-08 Thread Alan Lawrence
This adds a test of the vld2_dup, vld2q_dup, vld3_dup, vld3q_dup, vld4_dup and vld4q_dup instrinsics. Passing on aarch64-none-elf and aarch64_be-none-elf. gcc/testsuite/ChangeLog: * gcc.target/aarch64/vldN_dup_1.c: New test.diff --git a/gcc/testsuite/gcc.target/aarch64/vldN_dup_1.c

[PATCH][AArch64 Testsuite] Add a test of the vldN_lane intrinsic

2014-09-08 Thread Alan Lawrence
At present there is no test coverage of the vld2_lane, vld2q_lane, vld3_lane, vld3q_lane, vld4_lane, vld4q_lane intrinsics. So this adds a test using the vld1 and vst1 intrinsics. Passing on aarch64-none-elf. Failing on aarch64_be-none-elf; I believe because the intrinsic is [modifying the]

Re: [PATCH] Extended if-conversion for loops marked with pragma omp simd.

2014-09-08 Thread Yuri Rumyantsev
Richard, Did you have a chance to look at this? Thanks. 2014-08-15 16:02 GMT+04:00 Yuri Rumyantsev ysrum...@gmail.com: Richard! Here is updated patch with the following changes: 1. Any restrictions on phi-function were eliminated for extended conversion. 2. Put predicate for critical

[PATCH][AArch64 Testsuite] Add a test of the vst[234](q?) intrinsics

2014-09-08 Thread Alan Lawrence
This adds a test of all the variants of vst2, vst2q, vst3, vst3q, vst4, and vst4q. These all use typexNxM structs and the OI/CI/XImode mechanism, so the test cross-checks this against plain ol' vld1(q?). Cross-tested on aarch64-none-elf (passing), also on aarch64_be-none-elf (failing as per

RE: Fix for FAIL: tmpdir-gcc.dg-struct-layout-1/t028 c_compat_x_tst.o compile, (internal compiler error)

2014-09-08 Thread David Sherwood
Hi Vladimir, Sorry, I forgot to CC you on this as it's your code. It's my first attempt at submitting patches to gcc so I'm still learning as I go! Kind Regards, David Sherwood. -Original Message- From: David Sherwood [mailto:david.sherw...@arm.com] Sent: 05 September 2014 15:52 To:

Re: RFA: Merge definitions of get_some_local_dynamic_name

2014-09-08 Thread Rainer Orth
Hi Richard, Several targets define a function like i386's get_some_local_dynamic_name. The function looks through the current output function and returns the first (arbitrary) local-dynamic symbol that it finds. The result can be used in a call to __tls_get_addr, since all local-dynamic

Re: [BUILDROBOT] [PATCH] rx-elf: error: logical not is only applied to the left hand side of comparison

2014-09-08 Thread Nicholas Clifton
Hi Jan-Benedict, 2014-09-04 Jan-Benedict Glaw jbg...@lug-owl.de * config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces. Approved - please apply - thanks! Cheers Nick

Re: [PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction

2014-09-08 Thread Christophe Lyon
Hi Alan, In my cross-testing I've noticed that your new test: gcc.target/aarch64/simd/int_comparisons_1.c scan-assembler-not not is PASS for targets aarch64-none-elf and aarch64_be-none-elf, but FAIL for aarch64-none-linux-gnu. It seems this is not what you saw in your own validations?

Re: [PATCH] Extended if-conversion for loops marked with pragma omp simd.

2014-09-08 Thread Richard Biener
On Fri, Aug 15, 2014 at 2:02 PM, Yuri Rumyantsev ysrum...@gmail.com wrote: Richard! Here is updated patch with the following changes: 1. Any restrictions on phi-function were eliminated for extended conversion. 2. Put predicate for critical edges to 'aux' field of edge, i.e.

Re: [PATCH 4.9][AArch64] Backport r214953: Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1)in arm_neon.h

2014-09-08 Thread Alan Lawrence
(No regressions in check-gcc or check-g++ on aarch64-none-elf.) --Alan Alan Lawrence wrote: Some manual editing of patch required due to e.g. int64x1 changes present on trunk but not on the 4.9 branch; new patch attached. I've done a quick smoke test of aarch64.exp+simd.exp (check-gcc) and

Re: [PATCH] Add header guard to several header files.

2014-09-08 Thread Kito Cheng
ping! On Tue, Sep 2, 2014 at 12:37 AM, Kito Cheng kito.ch...@gmail.com wrote: Hi Joseph: Thanks for your review, I've reverted the part of gsyslimits.h, here is updated patch and ChangeLog :) bootstrap ok for x86_64 2014-09-01 Kito Cheng k...@0xlab.org except.h: Fix header guard.

Re: [PATCH] Add missing size directive for arm-*-elf

2014-09-08 Thread Kito Cheng
ping! On Mon, Sep 1, 2014 at 11:30 AM, Kito Cheng kito.ch...@gmail.com wrote: Hi all: In arm-*-elf target some variable will missing size directive, for example: foo.c: void foo (void) { static char bufbuf[8]; } $ arm-none-eabi-gcc ./foo.c -S -o - ... .align 2 bufbuf.4078:

Re: [PATCH] Improve prepare_shrink_wrap to sink more instructions

2014-09-08 Thread Jiong Wang
On 05/09/14 20:48, Jeff Law wrote: On 09/04/14 08:15, Jiong Wang wrote: this patch relax the restriction on src to accept any one of the following: + REG + CONST_OBJ, like SYMBOL_REF + combination of single REG and any other CONST_OBJs. (reg def/use calculation will not

Re: [PATCH 4.9][AArch64] Backport r214953: Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1)in arm_neon.h

2014-09-08 Thread Marcus Shawcroft
On 5 September 2014 15:28, Alan Lawrence alan.lawre...@arm.com wrote: Some manual editing of patch required due to e.g. int64x1 changes present on trunk but not on the 4.9 branch; new patch attached. I've done a quick smoke test of aarch64.exp+simd.exp (check-gcc) and the g++ neon ABI test,

[Obvious] Remove unused aarch64_types_cmtst_qualifiers, was breaking bootstrap.

2014-09-08 Thread Alan Lawrence
Pushed as r215015. gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (aarch64_types_cmtst_qualifiers, TYPES_TST): Remove as unused. - Index: gcc/config/aarch64/aarch64-builtins.c === ---

Re: [PATCH] Fix PR63196, ensure loops are fixed before inlining

2014-09-08 Thread Richard Biener
On Mon, 8 Sep 2014, Richard Biener wrote: The following patch makes sure we don't inline / copy a CFG with loops needing fixups. In the particular case function versioning after IPA-CP made a CFG portion dead, removing a loop. The patch also makes the bogus loop removal detection

[PATCH][Kasan] Allow to override Asan shadow offset from command line

2014-09-08 Thread Yury Gribov
Hi all, Kasan developers has asked for an option to override offset of Asan shadow memory region. This should simplify experimenting with memory layouts on 64-bit architectures. I've bootstrapped and regtested this on x64. Ok to commit? -Y commit 95d37bbfcb9f7e35c64f3b708b120d70f220e1d2

Re: [PATCH][RFC] Restrict, take 42

2014-09-08 Thread Richard Biener
On Mon, 8 Sep 2014, Richard Biener wrote: On Fri, 5 Sep 2014, Richard Biener wrote: On Wed, 3 Sep 2014, Richard Biener wrote: Ok, so with recent activity in that mgrid bug (PR55334) I tried to remember what solution we thought of after determining that ADD_RESTRICT is a

[wwwdocs] Update sources trees handling in simtest-howto.html

2014-09-08 Thread Pierre-Marie de Rodat
The patch below is following up the Trouble trying to test GCC on a simulator thread I started on g...@gcc.gnu.org. It updates statements and shell commands to get/update/combine Binutils sources, which are now managed under a Git repository. The updated page has been validated as XHTML 1.0

RFA: Add a target_globals destructor

2014-09-08 Thread Richard Sandiford
This is a prerequisite for a cleaned-up version of the patch in: https://gcc.gnu.org/ml/gcc/2014-03/msg00163.html . Thanks to Trevor's recent(ish) changes, it's now possible for GC structures to have destructors. This means that we can go back to xmalloc()ing the parts of target_globals that

RFA: Add a destructor to target_ira_int

2014-09-08 Thread Richard Sandiford
This patch adds a destructor to target_ira_int, so that the data structures it points to are freed when the parent target_globals is freed. It fixes a memory leak with non-default subtargets. Tested on x86_64-linux-gnu. OK to install? Thanks, Richard gcc/ * ira.h (ira_finish_once):

Re: [PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'

2014-09-08 Thread Chen Gang
On 09/08/2014 10:24 AM, Chen Gang wrote: On 09/07/2014 11:17 PM, Chen Gang wrote: On 8/13/14 23:10, Michael Eager wrote: On 07/06/14 03:26, Chen Gang wrote: * microblaze/mocroblaze.md (call_value_intern): Use 'SI' instead of 'VOID' for operand 1, just like 'call_internal1' has done.

Re: [wwwdocs] Update sources trees handling in simtest-howto.html

2014-09-08 Thread Pierre-Marie de Rodat
On 09/08/2014 05:04 PM, Pierre-Marie de Rodat wrote: It updates statements and shell commands to get/update/combine Binutils sources, which are now managed under a Git repository. Here is an update: Tristan pointed out on the other thread that the code for the simulators (formerly in src/sim)

Re: [PATCH v2 AArch64]: Re: [PATCH AArch64]: Add constraint letter for stack_protect_test pattern.

2014-09-08 Thread Venkataramanan Kumar
Hi Marcus, I up streamed the changes to trunk. There is no support for stack protection in FSF GCC 4.9 branch yet. So I need to back port r209712 and this change together. regards, Venkat. On 5 September 2014 21:17, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 4 September 2014

[Ping][PATCH] Fix libbacktrace and libiberty tests fail on sanitized GCC due to wrong link options.

2014-09-08 Thread Maxim Ostapenko
Ping. Original Message Subject: Re: [PATCH] Fix libbacktrace and libiberty tests fail on sanitized GCC due to wrong link options. Date: Mon, 01 Sep 2014 12:33:09 +0400 From: Maxim Ostapenko m.ostape...@partner.samsung.com To: Jakub Jelinek ja...@redhat.com CC:

Re: [PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction

2014-09-08 Thread Alan Lawrence
Hmmm, thanks for the heads-up. Now reproduced. Looks like a TCL regexp issue, should have a fix shortly. Cheers, --Alan Christophe Lyon wrote: Hi Alan, In my cross-testing I've noticed that your new test: gcc.target/aarch64/simd/int_comparisons_1.c scan-assembler-not not is PASS for targets

[PATCH 1/2][AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

2014-09-08 Thread Alan Lawrence
The sshr_n_64 intrinsics allow performing a signed shift right by 64 places. The standard ashrdi3 pattern masks the sign amount with 63, so cannot be used. However, such a shift fills the result by the sign bit, which is identical to shifting right by 63. This patch just simplifies the code to

Re: [PATCH 1/2][AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

2014-09-08 Thread Alan Lawrence
Patch attached. Alan Lawrence wrote: The sshr_n_64 intrinsics allow performing a signed shift right by 64 places. The standard ashrdi3 pattern masks the sign amount with 63, so cannot be used. However, such a shift fills the result by the sign bit, which is identical to shifting right by 63.

[PATCH 2/2][AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic

2014-09-08 Thread Alan Lawrence
Similarly, the ushr_n_u64 and ushrd_n_u64 intrinsics, allow to perform an unsigned-shift-right of a 64-bit value by 64 places. This is not supported by the standard lshr pattern, which masks the shift amount with 63. However, a shift-by-64 always produces zero, so this patch moves in a constant

Re: [PATCH v2 AArch64]: Re: [PATCH AArch64]: Add constraint letter for stack_protect_test pattern.

2014-09-08 Thread Marcus Shawcroft
On 8 September 2014 16:36, Venkataramanan Kumar venkataramanan.ku...@linaro.org wrote: Hi Marcus, I up streamed the changes to trunk. There is no support for stack protection in FSF GCC 4.9 branch yet. Quite right, ignore my back port request. Cheers /Marcus

[PATCH 1/2][AArch64 Testsuite] Add execution test of vset(q?)_lane intrinsics.

2014-09-08 Thread Alan Lawrence
This adds a test thath checks the result of a vset_lane intrinsic is identical to the input apart from one value being changed. Test checks only one index per vset_lane_xxx in a somewhat adhoc fashion as the index has to be a compile-time immediate and I felt that doing a loop using macros

[PATCH 2/2][AArch64] Replace temporary inline assembler for vset_lane

2014-09-08 Thread Alan Lawrence
The vset(q?)_lane_XXX intrinsics are presently implemented using inline asm blocks containing ins instructions - which are opaque to the mid-end. This patch replaces them with simple writes using gcc vector extension operations, with a lane-flip on bigendian (where ARM intrinsic lanes are

[PATCH][AArch64] Simplify vreinterpret for float64x1_t using casts.

2014-09-08 Thread Alan Lawrence
Now that float64x1 is a vector type, we can convert between it and other same-sized vector types with a simple cast, as is already done for all other reinterprets not involving float64x1. This allows to remove the reinterpretv1df and reinterpret*v1df builtins in aarch64-simd-builtins.def, and

[patch,avr] Make jump tables work with bootloader

2014-09-08 Thread Georg Lay
avr-gcc puts jump tables in section .progmem.gcc_sw_table and assumes that .text starts at 0, i.e. LPM is on order to read table entries. This is no more the case if .text starts ata higher address like typically used with boot loaders. This patch adds the few instructions to set RAMPZ and

RE: [PATCH] Fix register corruption bug in ree

2014-09-08 Thread Wilco Dijkstra
Thanks! Jakub noticed a potential problem in this area a while back, but I never came up with any code to trigger and have kept that issue on my todo list ever since. Rather than ensuring the inserted copy write a single register, it seems to me we're better off ensuring that the number of

Re: [PATCH, rs6000] Add handling for UNSPEC_VSPLT_DIRECT to analyze_swaps

2014-09-08 Thread David Edelsohn
On Sat, Sep 6, 2014 at 1:50 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, Here's one more case of special handling that allows us to optimize more vectorized loops in analyze_swaps. UNSPEC_VSPLT_DIRECT is used in some cases to avoid the possibility of an endian fixup. We can still

Re: RFA: Merge definitions of get_some_local_dynamic_name

2014-09-08 Thread Richard Sandiford
Rainer Orth r...@cebitec.uni-bielefeld.de writes: Hi Richard, Several targets define a function like i386's get_some_local_dynamic_name. The function looks through the current output function and returns the first (arbitrary) local-dynamic symbol that it finds. The result can be used in a

Re: [gomp4] Add tables generation

2014-09-08 Thread Ilya Verbin
Hi, On 05 Sep 19:09, Ilya Verbin wrote: I hope that it will not affect the regular LTO compilation. At least, the 'make check' did not reveal any regression on the system with linker plugin. I found that relying on -flto option in lto-wrapper was a bad idea. E.g., this simple case is not

[committed, 4.8] Backport PR debug/61923 fix

2014-09-08 Thread Jakub Jelinek
Hi! I've backported this fix to 4.8 branch, acked by Vlad on IRC, bootstrapped/regtested on x86_64-linux and i686-linux, committed to 4.8 branch. 2014-09-08 Jakub Jelinek ja...@redhat.com Backported from mainline 2014-08-06 Vladimir Makarov vmaka...@redhat.com PR

[4.8] Fix PR tree-optimization/60196 and tree-optimization/63189

2014-09-08 Thread Jakub Jelinek
Hi! Cong's patch fixes these two PRs, I've bootstrapped/regtested the backport on 4.8 branch together with the new tests, ok for 4.8? Are the new tests ok for trunk/4.9? 2014-09-08 Jakub Jelinek ja...@redhat.com PR tree-optimization/60196 PR tree-optimization/63189

Re: [4.8] Fix PR tree-optimization/60196 and tree-optimization/63189

2014-09-08 Thread Richard Biener
On September 8, 2014 9:09:56 PM CEST, Jakub Jelinek ja...@redhat.com wrote: Hi! Cong's patch fixes these two PRs, I've bootstrapped/regtested the backport on 4.8 branch together with the new tests, ok for 4.8? Are the new tests ok for trunk/4.9? OK. Thanks, Richard. 2014-09-08 Jakub Jelinek

RFA: 4.9 gimple-fold PATCH for c++/62224

2014-09-08 Thread Jason Merrill
My fix for 61214 to clear DECL_EXTERNAL on inline virtual functions when devirtualizing caused 62224: devirtualizing and inlining such a function in the testcase causes an additional external reference, which in the submitter's library is to a hidden symbol. I think this is what we want for

Re: [msp430] add missing option documentation

2014-09-08 Thread DJ Delorie
Minor bit of docs for an msp430 option. OK for trunk and 4.9 branch? Ok. * doc/invoke.texi (MSP430 Options): Add -minrt. Thanks! Committed.

Re: RFA: 4.9 gimple-fold PATCH for c++/62224

2014-09-08 Thread Jan Hubicka
My fix for 61214 to clear DECL_EXTERNAL on inline virtual functions when devirtualizing caused 62224: devirtualizing and inlining such a function in the testcase causes an additional external reference, which in the submitter's library is to a hidden symbol. I think this is what we want for

Re: RFA: 4.9 gimple-fold PATCH for c++/62224

2014-09-08 Thread Jason Merrill
On 09/08/2014 03:51 PM, Jan Hubicka wrote: You did not attach the patch. Oops. commit e57303b73d20fa75ffc535bbc219dc0f6472e431 Author: Jason Merrill ja...@redhat.com Date: Mon Sep 8 13:11:58 2014 -0400 PR c++/61214 PR c++/62224 gcc/ * gimple-fold.c

C++ PATCH for c++/62255 (error with recursive instantiation of static data member constant)

2014-09-08 Thread Jason Merrill
In this testcase, asking for the value of the static data member involves instantiating Derived in order to look up X::Type, which instantiation depends on the value of the static data member. But the recursion ends there, since the second time through we just try to look it up in the

[PATCH, committed] gcse.c's modify_mem_list is a list of insns

2014-09-08 Thread David Malcolm
The attached patch to gcse.c merely strengthens various things from rtx to rtx_insn *, and thus falls under the pre-approval granted by Jeff here: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01310.html Bootstrapped on x86_64-unknown-linux-gnu (Fedora 20), and has been rebuilt as part of a

[PATCH, committed] control_flow_insn_p takes an insn

2014-09-08 Thread David Malcolm
The attached trivial patch updates the signature of control_flow_insn_p, since all in-tree users now pass in an rtx_insn * rather than just an rtx. This falls under the pre-approval granted by Jeff here: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01310.html Bootstrapped on

[PATCH, Fortran]

2014-09-08 Thread Alessandro Fanfarillo
Dear all, the following code produces a wrong invocation to libcaf for caf_atomic_op (atomic_add): program atomic use iso_fortran_env implicit none integer :: me integer(atomic_int_kind) :: atom[*] me = this_image() call atomic_define(atom[1],0) sync all call ATOMIC_ADD (atom[1], me) if(me ==

[PATCH 0/5] Yet more use of rtx subclasses; possible rl78 bug

2014-09-08 Thread David Malcolm
Here's another 5 patches that make use of rtx_def subclasses, which are non-trivial enough *not* to fall under the pre-approval Jeff granted. In particular, patches 4 and 5 update the signature of recog_memoized and single_set respectively to require an rtx_insn * rather than just an rtx. These

[PATCH 2/5] Handcode gen_rtx_INSN

2014-09-08 Thread David Malcolm
gcc/ChangeLog: * combine.c (try_combine): Eliminate checked cast on result of gen_rtx_INSN. * emit-rtl.c (gen_rtx_INSN): New function, improving over the prior autogenerated one by strengthening the return type and params 2 and 3 from rtx to rtx_insn *, and

[PATCH 1/5] struct ira_reg_equiv_s's init_insns is an rtx_insn_list

2014-09-08 Thread David Malcolm
gcc/ * ira.c (ira_update_equiv_info_by_shuffle_insn): Use NULL rather than NULL_RTX. (no_equiv): Likewise. (update_equiv_regs): Likewise. (setup_reg_equiv): Likewise. Strengthen locals elem, prev_elem, next_elem from rtx to rtx_insn_list *, and insn

[PATCH 3/5] INSN_LOCATION takes an rtx_insn

2014-09-08 Thread David Malcolm
gcc/ * rtl.h (INSN_LOCATION): Strengthen param from const_rtx to const rtx_insn *, and from rtx to rtx_insn * for the other overloaded variant. (RTL_LOCATION): Add a checked cast to rtx_insn * when invoking INSN_LOCATION, since we know INSN_P holds.

[PATCH 4/5] recog_memoized works on an rtx_insn *

2014-09-08 Thread David Malcolm
gcc/ChangeLog: * caller-save.c (rtx saveinsn): Strengthen this variable from rtx to rtx_insn *. (restinsn): Likewise. * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move): Likewise for param. * config/aarch64/aarch64.c

[PATCH 5/5] single_set takes an insn

2014-09-08 Thread David Malcolm
gcc/ChangeLog: * rtl.h (single_set_2): Strengthen first param from const_rtx to const rtx_insn *, and move prototype to above... (single_set): ...this. Convert this from a macro to an inline function, enforcing the requirement that the param is a const

Re: [PATCH, Fortran]

2014-09-08 Thread Alessandro Fanfarillo
Thanks, your suggestion fixes the problem. I just noticed that I missed the subject description; I'll send the new patch in a different email. 2014-09-08 15:50 GMT-06:00 Tobias Burnus bur...@net-b.de: Alessandro Fanfarillo wrote: the following code produces a wrong invocation to libcaf for

Re: [PATCH x86_64] Optimize access to globals in -fpie -pie builds with copy relocations

2014-09-08 Thread Sriraman Tallam
On Tue, Sep 2, 2014 at 1:40 PM, Richard Henderson r...@redhat.com wrote: On 06/20/2014 05:17 PM, Sriraman Tallam wrote: Index: config/i386/i386.c === --- config/i386/i386.c(revision 211826) +++ config/i386/i386.c

[PATCH, Fortran] Wrong invocation of caf_atomic_op

2014-09-08 Thread Alessandro Fanfarillo
This email follows the previous without subject (sorry about that). The attached patch solves the problem raised by the following code: program atomic use iso_fortran_env implicit none integer :: me integer(atomic_int_kind) :: atom[*] me = this_image() call atomic_define(atom[1],0) sync all

[PATCH] rs6000: Fix PR63195

2014-09-08 Thread Segher Boessenkool
When reload decides it needs to reload something that was assigned a register before it will only look at the contraint, not the predicate. This means that for the *boolmode3 I added with predicate logical_operand (that is registers, and unsigned numbers that have only the low 16 or next 16 bits

Re: Build breakage on darwin and pa64-hpux [was Re: Use -fbuilding-libgcc for more target macros used in libgcc]

2014-09-08 Thread Joseph S. Myers
On Sat, 6 Sep 2014, Andreas Schwab wrote: Mike Stump mikest...@comcast.net writes: Index: config/pa/pa64-hpux.h === --- config/pa/pa64-hpux.h (revision 214981) +++ config/pa/pa64-hpux.h (working copy) @@ -336,7

Re: [debug-early] reuse variable DIEs and fix their context

2014-09-08 Thread Aldy Hernandez
On 09/05/14 02:00, Richard Biener wrote: [jason: C++ questions throughout.] On Fri, Sep 5, 2014 at 4:38 AM, Aldy Hernandez al...@redhat.com wrote: On 09/04/14 03:42, Richard Biener wrote: On Wed, Sep 3, 2014 at 7:54 PM, Aldy Hernandez al...@redhat.com wrote: I meant that

Re: RFA: 4.9 gimple-fold PATCH for c++/62224

2014-09-08 Thread Jan Hubicka
On 09/08/2014 03:51 PM, Jan Hubicka wrote: You did not attach the patch. Oops. OK, thanks! Honza commit e57303b73d20fa75ffc535bbc219dc0f6472e431 Author: Jason Merrill ja...@redhat.com Date: Mon Sep 8 13:11:58 2014 -0400 PR c++/61214 PR c++/62224 gcc/ *

Re: [patch,gomp4] make fortran loop variables implicitly private in openacc

2014-09-08 Thread Cesar Philippidis
On 09/07/2014 11:26 PM, Tobias Burnus wrote: sorry for the slow review. No problem. I've been focusing on the subroutine clause lately. On 22 August 2014 17:08, Cesar Philippidis wrote: In OpenMP, one has (OMP 4.0, 2.14.3): A list item that specifies a given variable may not appear in more