[C++ PATCH] Reject trailing return type for operator auto()

2014-12-18 Thread Ville Voutilainen
Tested on Linux-x64. /cp 2014-12-19 Ville Voutilainen Reject trailing return type for an operator auto(). * decl.c (grokdeclarator): Reject trailing return types for all conversion operators, don't handle conversion operators in the previous checks that deal with auto. /testsu

Re: Speedup and cleanup hash-table.h

2014-12-18 Thread Jan Hubicka
> Jan Hubicka writes: > > > Hi, > > this patch started as experiment moving hash_table_mod1 inline because it > > shows > > high in streaming profiles and it represents a branch-less code that is good > > to schedule to surrounding instructions. > > FWIW with a good modern hash function it shou

Merge from trunk to gccgo branch

2014-12-18 Thread Ian Lance Taylor
I merged trunk revision 218884 to the gccgo branch. Ian

Go patch committed: Don't evaluate interface conversions multiple times

2014-12-18 Thread Ian Lance Taylor
There were a few cases where the Go compiler was evaluating value multiple times when they were converted to or from interface types. This happened when the conversion occurred in a composite literal, or even, when implicitly converting from one interface type to another, in a variable declaration.

nios2 builds still broken due to streamer changes

2014-12-18 Thread Sandra Loosemore
On 11/19/2014 09:34 PM, Jan Hubicka wrote: [snip] As for timeline, I have a workshop next week and need to prepare draft for it. So ideally I would like to work on this only after the workshop (ending November 28). I would be also happy to help anyone interested to help (I am just bit slow on po

Re: [PATCH] PR 62173, re-shuffle insns for RTL loop invariant hoisting

2014-12-18 Thread Bin.Cheng
On Fri, Dec 19, 2014 at 6:09 AM, Segher Boessenkool wrote: > On Thu, Dec 18, 2014 at 05:00:01PM +, Jiong Wang wrote: >> On 17/12/14 15:54, Richard Biener wrote: >> >ick. I realize we don't have SSA form on RTL but doesn't DF provide >> >at least some help in looking up definition statements f

Re: [RFC PATCH 1/9] LRA: Take account implicit usage of pseudo reg in mem arg

2014-12-18 Thread Kaz Kojima
Vladimir Makarov wrote: >> * lra.c (lra_update_insn_regno_info): Take account of arguments >> via memory which could be implicit usage of pseudo regs. >> > > It could be a solution but I believe the problem should be solved in > some other way. The patch will generate a correct code bu

Re: [RFC PATCH 4/9] Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro

2014-12-18 Thread Kaz Kojima
Vladimir Makarov wrote: >> * lra-constraints.c (process_address_1): Try if target can split >> displacement with targetm.legitimize_address_displacement. >> * target.def (legitimize_address_displacement): New hook. >> * targhooks.c (default_legitimize_address_displacement): New

Re: [RFC PATCH 3/9] Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro

2014-12-18 Thread Kaz Kojima
Vladimir Makarov wrote: > I don't think it will be easy to solve this problem by following reg > pressure. I guess R0 will be in the same pressure reg class. I > believe some hook is an adequate solution here. > >> -- >> * lra-constraints.c (get_equiv): Don't return memory equivalence >>

[PATCH][ARM] Fix reservation pattern in cortex-a9-neon.md

2014-12-18 Thread Xingxing Pan
Hi, This patch fix the reservation pattern of cortex_a9_neon_vmov in cortex-a9-neon.md. Is it OK for trunk? Regards, Xingxing 2014-12-19 Xingxing Pan * config/arm/cortex-a9-neon.md (cortex_a9_neon_vmov): Change reservation from cortex_a8_neon_dp to cortex_a9_neon_dp

Re: [PATCH] -fsanitize-recover=list

2014-12-18 Thread Alexey Samsonov
Hi Jakub, On Tue, Nov 18, 2014 at 11:36 AM, Alexey Samsonov wrote: > > On Mon, Nov 17, 2014 at 11:53 PM, Jakub Jelinek wrote: > > On Mon, Nov 17, 2014 at 11:39:47PM -0800, Alexey Samsonov wrote: > >> > That is not what I think we've agreed on and what is implemented in GCC. > >> > -fsanitize-rec

Re: Speedup and cleanup hash-table.h

2014-12-18 Thread Andi Kleen
Jan Hubicka writes: > Hi, > this patch started as experiment moving hash_table_mod1 inline because it > shows > high in streaming profiles and it represents a branch-less code that is good > to schedule to surrounding instructions. FWIW with a good modern hash function it shouldn't be needed to

Flatten tree.h and tree-core.h

2014-12-18 Thread Michael Collison
This patch flattens tree.h and tree-core.h. This work is part of the GCC Re-Architecture effort being led by Andrew MacLeod. I removed the includes in tree.h and tree-core.h except for the include of tree-core.h in tree.h. I modified genattrtab.c, genautomata.c, genemit.c, gengtype.c, gengty

C++ PATCH for c++/64105 (ICE on generic lambda with -std=c++11)

2014-12-18 Thread Jason Merrill
Since generic lambdas don't seem to work properly in C++11 mode, let's upgrade the pedwarn to an error. Tested x86_64-pc-linux-gnu, applying to trunk. commit 6c7d0ebb35b4918be3200625ef0cbb1816ddd7e9 Author: Jason Merrill Date: Thu Dec 18 16:56:33 2014 -0500 PR c++/64105 * parser.c

Speedup and cleanup hash-table.h

2014-12-18 Thread Jan Hubicka
Hi, this patch started as experiment moving hash_table_mod1 inline because it shows high in streaming profiles and it represents a branch-less code that is good to schedule to surrounding instructions. While looking at hash-tab.h I however noticed that it was not updated very well while it was move

Re: flatten expr.h

2014-12-18 Thread Prathamesh Kulkarni
Hi, I had a discussion with Michael, and would like to put this patch on hold for now till we have tree.h and rtl.h flattening patches checked in to avoid conflicts. Thankyou, Prathamesh On 16 December 2014 at 17:13, Prathamesh Kulkarni wrote: > Hi, > The attached patch flattens expr.h. > Move

Re: [patch c++]: Fix PR/61198: Crash when selecting specializations through aliases.

2014-12-18 Thread Jason Merrill
On 12/18/2014 01:16 PM, Kai Tietz wrote: Well, in general I would have assumed to be able to get alias decl of tmpl. Wasn't able to find a simple way to get it. So, by looking into source I found that most cases handling args > tmpl-args by using inner_most_template_args instead. Defaulting to in

C++ PATCH for c++/64352 (decltype and SFINAE)

2014-12-18 Thread Jason Merrill
We were just missing a case where we want to pass complain down to avoid a hard error in SFINAE context. Tested x86_64-pc-linux-gnu, applying to trunk. commit 83bea8460ce8e14e5b9d1c0dc33a0d22b63b566d Author: Jason Merrill Date: Thu Dec 18 12:42:34 2014 -0500 PR c++/64352 * pt.c (ts

C++ PATCH for c++/64251 (unnecessary template instantiation)

2014-12-18 Thread Jason Merrill
Here we were seeing errors because of template instantiation triggered by mark_used within fold_non_dependent_expr. We don't want to instantiate templates based on uses in other uninstantiated templates, and we were already trying to avoid that; let's add another check to avoid it. Tested x8

Re: [PATCH] PR 62173, re-shuffle insns for RTL loop invariant hoisting

2014-12-18 Thread Segher Boessenkool
On Thu, Dec 18, 2014 at 05:00:01PM +, Jiong Wang wrote: > On 17/12/14 15:54, Richard Biener wrote: > >ick. I realize we don't have SSA form on RTL but doesn't DF provide > >at least some help in looking up definition statements for pseudos? > >In fact we want to restrict the transform to singl

patch fixing a typo in LRA

2014-12-18 Thread Vladimir Makarov
The following patch fixes a typo in usage of register_move_cost. For most targets, the change does not matter as the cost function is symmetric relative to args. The patch was bootstrapped on x86-64. Committed as rev. 218875. 2014-12-18 Vladimir Makarov * lra-constraints.c

Re: [PATCH] Fix -fsanitize=float-cast-overflow with C FE (PR sanitizer/64344)

2014-12-18 Thread Joseph Myers
On Thu, 18 Dec 2014, Jakub Jelinek wrote: > c/ > * c-typeck.c (convert_for_assignment, c_finish_return): For > -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum > types also set in_late_binary_op around convert call. > * c-convert.c (convert): For -fsaniti

Re: [RFC PATCH 1/9] LRA: Take account implicit usage of pseudo reg in mem arg

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:57 PM, Kaz Kojima wrote: This patch is discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c47 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c48 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c49 and is to avoid segfault in remove_pseudos. In the pro

Re: [RFC PATCH 4/9] Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 8:00 PM, Kaz Kojima wrote: This patch adds a target macro discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c76 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c78 is to avoid bad codes on SH. SH has very limited base+displacement addressing and it looks t

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Vladimir Makarov
On 2014-12-18 2:26 PM, Mike Stump wrote: On Dec 18, 2014, at 10:42 AM, Vladimir Makarov wrote: Thank you very much for your work on porting LRA to SH! I’ve ported my target to LRA, and I have not found any LRA bits I needed to change. Thanks, Mike. When I did a few first ports, it never

Re: [PATCH] PR 62173, re-shuffle insns for RTL loop invariant hoisting

2014-12-18 Thread Jiong Wang
2014-12-18 17:00 GMT+00:00 Jiong Wang : ok for trunk? gcc/ PR62173 loop-invariant.c.c (expensive_addr): New hash_table. (need_expensive_addr_check_p): New bool. (find_exits): Rename to "find_exists_and_reshuffle. Support re-shuffle instruc

Re: [RFC PATCH 2/9] LRA: Swap base_term and index_term for some case

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:59 PM, Kaz Kojima wrote: This was discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c52 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c53 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c55 and is to fix ICE in assign_by_spills. In that case, rtlana

Re: [RFC PATCH 3/9] Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 8:00 PM, Kaz Kojima wrote: This was discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c25 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c58 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c69 and is to fix another ICEs in assign_by_spills. This patch

patch to solve PR64291

2014-12-18 Thread Vladimir Makarov
The following patch solves https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64291 It is a bug in a new rematerialization subpass of LRA. The patch was bootstrapped on x86/x86-64. Committed as rev. 218874. 2014-12-18 Vladimir Makarov PR rtl-optimization/64291 * lra-remat.c

[PATCH, rs6000] PR59708, Fix operand ordering for 128-bit andc/orc

2014-12-18 Thread Pat Haugen
The following patch fixes testsuite failures builtin-arith-overflow-[10,11].c. In the case where rs6000_split_logical() was being called the operands were swapped such that the wrong operand was being complemented. Bootstrap/tested on powerpc64-linux with no new regressions. Ok for trunk (and

[debug-early] C++: moving more things before the compilation proper

2014-12-18 Thread Aldy Hernandez
Hi Jason. As promised, I am moving most everything out of cxx_post_compilation_parsing_cleanups() which is the hook that will be called after the compilation proper has run (symtab->finalize_compilation_unit()). Apart from the Java hidden alias support which I just asked you about, and the

Re: [PATCH 4/4] Data structure is used for inline_summary struct.

2014-12-18 Thread Jan Hubicka
> > 2014-12-08 Martin Liska > > * lto-partition.c (add_symbol_to_partition_1): New inline_summary_d > is used. > (undo_partition): Likewise. > (lto_balanced_map): Likewise. > > gcc/ChangeLog: > > 2014-12-08 Martin Liska > > * cgraphunit.c (symbol_table::proc

Re: [PATCH 3/4] First usage of cgraph_summary in ipa-prop pass.

2014-12-18 Thread Jan Hubicka
> > gcc/lto/ChangeLog: > > 2014-12-08 Martin Liska > > * lto-partition.c: Include of symbol-summary.h is added. > * lto-symtab.c: Likewise. > * lto.c: Likewise. I must say I am not friend of flattening. Hope this will be resolved for 5.1 > > gcc/ChangeLog: > > 2014-12-08

Re: [PATCH 2/4] New data structure for cgraph_summary introduced.

2014-12-18 Thread Jan Hubicka
> 2014-12-08 Martin Liska > > * cgraph.h (symbol_table::allocate_cgraph_symbol): Summary UID > is filled up. > * symbol-summary.h: New file. > * gengtype.c (open_base_files): Add symbol-summary.h. > * toplev.c (general_init): Call constructor of symbol_table. > ---

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
On Thu, Dec 18, 2014 at 11:22 AM, Mike Stump wrote: > On Dec 18, 2014, at 9:43 AM, H.J. Lu wrote: >> + arguments passed in vector registers. This can be used to >> + optimize Linux kernel. > > English, to optimize _the_ Linux kernel? Updated. -- H.J. --- Index: gcc-5/changes.html

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Mike Stump
On Dec 18, 2014, at 10:42 AM, Vladimir Makarov wrote: > Thank you very much for your work on porting LRA to SH! I’ve ported my target to LRA, and I have not found any LRA bits I needed to change.

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Mike Stump
On Dec 18, 2014, at 9:43 AM, H.J. Lu wrote: > + arguments passed in vector registers. This can be used to > + optimize Linux kernel. English, to optimize _the_ Linux kernel?

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

2014-12-18 Thread Aldy Hernandez
Hi Jason. It's embarrassing that I just got to this now. I hope you don't repay the favor and take as long responding to me :(. On 09/12/14 08:15, Jason Merrill wrote: On 09/11/2014 08:51 PM, Aldy Hernandez wrote: /* Generate hidden aliases for Java. */ - if (candidates) + if (java_

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Oleg Endo
On Thu, 2014-12-18 at 13:42 -0500, Vladimir Makarov wrote: > Thank you very much for your work on porting LRA to SH! I know it > is quite a challenge to do any RA work for this target. The R0-ness (both, GP reg r0 and FP reg fr0) of the ISA taxes the patience sometimes. Too often, I've been t

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:56 PM, Kaz Kojima wrote: This patch series is to make SH target use LRA and is discussed in the PR target/55212: [SH] Switch to LRA https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 I think there are issues which should be solved before defaulting LRA on SH and the helps from t

Re: [RFC, PATCH, fortran] PR fortran/60255 Deferred character length

2014-12-18 Thread Andre Vehreschild
Hi all, here is my next try on proposing a patch for the issue in pr60255. It took me quite some time to understand the intricacies with handling variables associated in a select type. I think I got most of the issues fixed now: - Added generation of _len component for each unlimited polymorphic

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H. Peter Anvin
On 12/18/2014 10:37 AM, Rasmus Villemoes wrote: > > Minor thing: If it's not too late, I'd appreciate a 'Suggested-by' or > similar mention in the kernel change log. > I think we can get that. -hpa

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Rasmus Villemoes
On Thu, Dec 18 2014, "H. Peter Anvin" wrote: > On 12/18/2014 09:43 AM, H.J. Lu wrote: >> >> Peter, please feel free to use my kernel patch or create a different >> one. >> > > Great, thanks! > Thanks for accepting this idea, and especially to H.J. for already having done all the work. Minor t

Re: Including a file from include/ in gcc/*.h (was: [gomp4] Use include/gomp-constants.h more actively)

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 07:25:03PM +0100, Thomas Schwinge wrote: > Hi! > > On Wed, 17 Dec 2014 23:26:53 +0100, I wrote: > > Committed to gomp-4_0-branch in r218840: > > > > commit febcd8dfdb10fa80edff0880973d1915ca2fef74 > > Author: tschwinge > > Date: Wed Dec 17 22:26:24 2014 + > > > >

Including a file from include/ in gcc/*.h (was: [gomp4] Use include/gomp-constants.h more actively)

2014-12-18 Thread Thomas Schwinge
Hi! On Wed, 17 Dec 2014 23:26:53 +0100, I wrote: > Committed to gomp-4_0-branch in r218840: > > commit febcd8dfdb10fa80edff0880973d1915ca2fef74 > Author: tschwinge > Date: Wed Dec 17 22:26:24 2014 + > > Use include/gomp-constants.h more actively. > diff --git gcc/tree-core.h gcc/tree

Re: [patch c++]: Fix PR/61198: Crash when selecting specializations through aliases.

2014-12-18 Thread Kai Tietz
2014-12-18 18:26 GMT+01:00 Jason Merrill : > On 12/18/2014 10:10 AM, Kai Tietz wrote: >> >> + if (TMPL_ARGS_DEPTH (args) > TMPL_PARMS_DEPTH (tmpl_parms)) >> +args = get_innermost_template_args >> +(args, TMPL_PARMS_DEPTH (tmpl_parms)); > > > It seems unlikely to be correct to arbit

Re: Pragma parsing

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 07:00:09PM +0100, Thomas Schwinge wrote: > OK, so there is this limit. But, I fail to understand how merely moving > the OpenACC-only PRAGMA_*_CLAUSE_* to the end of enum pragma_omp_clause > will help overcome that? Or have I now completely confused myself, and > I'm not e

Re: Pragma parsing

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 18 Dec 2014 15:29:42 +0100, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 02:48:32PM +0100, Thomas Schwinge wrote: > > > Like for CILK, I'd strongly prefer if for the clauses that are > > > specific to OpenACC only you'd use PRAGMA_OACC_CLAUSE_* instead, > > > and put them afte

Re: [C++ Patch] PR 60955

2014-12-18 Thread Paolo Carlini
Hi, On 12/18/2014 06:21 PM, Jason Merrill wrote: On 12/18/2014 11:31 AM, Paolo Carlini wrote: + warning_sentinel s (extra_warnings); Let's add a comment about which warning we're avoiding here. OK with that change. Thanks. I'm attaching what I just committed. This is a regression, I s

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H. Peter Anvin
On 12/18/2014 09:43 AM, H.J. Lu wrote: > > Peter, please feel free to use my kernel patch or create a different > one. > Great, thanks! -hpa

Re: [PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 06:41:18PM +0100, Ilya Verbin wrote: > > What we're doing in OpenACC offloading testing (gomp-4_0-branch), is in > > the libgomp.oacc-c/c.exp (etc.) file cycle through all the available > > offloading devices, and then in there -- I think -- such options should > > be set, t

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
On Thu, Dec 18, 2014 at 9:23 AM, Uros Bizjak wrote: > On Thu, Dec 18, 2014 at 6:08 PM, H. Peter Anvin wrote: >> On 12/18/2014 06:12 AM, Uros Bizjak wrote: > > # temporary until string.h is fixed > KBUILD_CFLAGS += -ffreestanding > > Yes, it looks to me that new option is the w

Re: [PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing

2014-12-18 Thread Ilya Verbin
Hi, 2014-12-18 16:27 GMT+01:00 Thomas Schwinge : > Hi! > > On Thu, 30 Oct 2014 14:40:01 +0300, Ilya Verbin wrote: >> This patch allows to run non-fallback 'make check-target-libgomp'. It >> passes to >> the host compiler additional -B options with the paths to the offload >> compilers, >> sinc

Re: [PATCH] IPA ICF: refactoring + fix for PR ipa/63569

2014-12-18 Thread Martin Liška
On 12/17/2014 04:23 PM, Richard Biener wrote: On Wed, Dec 17, 2014 at 12:17 PM, Martin Liška wrote: On 12/11/2014 01:37 PM, Richard Biener wrote: On Wed, Dec 10, 2014 at 1:18 PM, Martin Liška wrote: Hello. As suggested by Richard, I split compare_operand functions to various functions rel

Re: [PATCH][ARM][doc] Remove mention of Advanced RISC Machines

2014-12-18 Thread James Greenhalgh
On Thu, Dec 18, 2014 at 05:18:18PM +, Kyrill Tkachov wrote: > Ping. > https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00947.html This patch almost certainly falls under the obvious rule: "will the person who objects to my work the most be able to find a fault with my fix?" ARM hasn't stoo

Re: Aproved patches

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 03:13:32PM -0200, Ricardo Sardano Guanciale wrote: > Please, can somebody help me? Where do I find GCC approved/accepted patch? > > Is there some patch directory in repository, if is please where? Approved patches are usually just committed to the SVN repository, there is

Re: [patch c++]: Fix PR/61198: Crash when selecting specializations through aliases.

2014-12-18 Thread Jason Merrill
On 12/18/2014 10:10 AM, Kai Tietz wrote: + if (TMPL_ARGS_DEPTH (args) > TMPL_PARMS_DEPTH (tmpl_parms)) +args = get_innermost_template_args +(args, TMPL_PARMS_DEPTH (tmpl_parms)); It seems unlikely to be correct to arbitrarily strip off outer template args. Where did the misma

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Uros Bizjak
On Thu, Dec 18, 2014 at 6:08 PM, H. Peter Anvin wrote: > On 12/18/2014 06:12 AM, Uros Bizjak wrote: # temporary until string.h is fixed KBUILD_CFLAGS += -ffreestanding Yes, it looks to me that new option is the way to go. >>> >>> Is this an OK? >> >> In principle, I'm OK w

Re: [C++ Patch] PR 60955

2014-12-18 Thread Jason Merrill
On 12/18/2014 11:31 AM, Paolo Carlini wrote: + warning_sentinel s (extra_warnings); Let's add a comment about which warning we're avoiding here. OK with that change. Jason

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
On Thu, Dec 18, 2014 at 9:08 AM, H. Peter Anvin wrote: > On 12/18/2014 06:12 AM, Uros Bizjak wrote: # temporary until string.h is fixed KBUILD_CFLAGS += -ffreestanding Yes, it looks to me that new option is the way to go. >>> >>> Is this an OK? >> >> In principle, I'm OK w

Re: [PATCH][ARM][doc] Remove mention of Advanced RISC Machines

2014-12-18 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00947.html Thanks, Kyrill On 10/12/14 16:50, Kyrill Tkachov wrote: Hi all, The company ARM is not Advanced RISC Machines anymore and anyway the ARM architecture is distinct from the company. This patch adjusts the documentation accordingly. O

Aproved patches

2014-12-18 Thread Ricardo Sardano Guanciale
Please, can somebody help me? Where do I find GCC approved/accepted patch? Is there some patch directory in repository, if is please where? Thanks and best regards, Ricardo

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H. Peter Anvin
On 12/18/2014 06:12 AM, Uros Bizjak wrote: >>> >>> # temporary until string.h is fixed >>> KBUILD_CFLAGS += -ffreestanding >>> >>> Yes, it looks to me that new option is the way to go. >> >> Is this an OK? > > In principle, I'm OK with the patch approach, but let's wait for > eventual comments fro

Re: [PATCH] PR 62173, re-shuffle insns for RTL loop invariant hoisting

2014-12-18 Thread Jiong Wang
On 17/12/14 15:54, Richard Biener wrote: On Mon, Dec 15, 2014 at 4:29 PM, Jiong Wang wrote: On 15/12/14 15:28, Jiong Wang wrote: On 04/12/14 19:32, Jiong Wang wrote: On 04/12/14 11:07, Richard Biener wrote: On Thu, Dec 4, 2014 at 12:07 PM, Richard Biener wrote: On Thu, Dec 4, 2014 at 12:

Re: [PATCH 2/2] [C++] pr31397 - implement -Wsuggest-override

2014-12-18 Thread Trevor Saunders
On Wed, Dec 17, 2014 at 04:21:31PM -0500, Jason Merrill wrote: > On 11/27/2014 01:28 AM, tsaund...@mozilla.com wrote: > >+ if (warn_override && DECL_VIRTUAL_P (decl) && !DECL_OVERRIDE_P (decl) > > Why check DECL_VIRTUAL_P here? I think it was to avoid warning when decl is hiding a non virtua

Re: [C++ Patch] PR 60955

2014-12-18 Thread Paolo Carlini
Hi, On 12/18/2014 03:20 PM, Jason Merrill wrote: On 12/18/2014 06:17 AM, Paolo Carlini wrote: Sure. The below uses the c_inhibit_evaluation_warnings mechanism and passes testing. I wondered if in such cases we could alternately use the warning_sentinel mechanism (moved to cp-tree.h of course) ?

Re: OpenACC middle end changes

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 13 Nov 2014 19:09:49 +0100, Jakub Jelinek wrote: > > --- gcc/builtins.c > > +++ gcc/builtins.c > > +static rtx > > +expand_builtin_acc_on_device (tree exp, rtx target ATTRIBUTE_UNUSED) > > +{ > > + if (!validate_arglist (exp, INTEGER_TYPE, VOID_TYPE)) > > +return NULL_RTX;

RE: [PATCH] Disable -fuse-caller-save when -pg is active

2014-12-18 Thread Radovan Obradovic
Patch has been tested with DejaGnu gcc test suite on mips32r2 cross compiler and bootstrapped and tested on x86_64 native compiler. Radovan From: Jeff Law [l...@redhat.com] Sent: Monday, November 17, 2014 1:18 PM To: Radovan Obradovic; gcc-patches@gcc.gn

Re: [PATCH][ARM] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P

2014-12-18 Thread Kyrill Tkachov
Ping. Thanks, Kyrill On 11/12/14 15:06, Kyrill Tkachov wrote: Ping. https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00340.html Thanks, Kyrill On 04/12/14 09:19, Kyrill Tkachov wrote: On 02/12/14 22:58, Ramana Radhakrishnan wrote: On Tue, Nov 11, 2014 at 11:55 AM, Kyrill Tkachov wrote: Hi al

Re: [PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing

2014-12-18 Thread Thomas Schwinge
Hi! On Thu, 30 Oct 2014 14:40:01 +0300, Ilya Verbin wrote: > This patch allows to run non-fallback 'make check-target-libgomp'. It passes > to > the host compiler additional -B options with the paths to the offload > compilers, > since non-installed host compiler doesn't know where to find mko

[patch c++]: Fix PR/61198: Crash when selecting specializations through aliases.

2014-12-18 Thread Kai Tietz
Hi, this patch adds handling of aliases within templates and tries to resolve specialization for them. ChangeLog 2014-12-18 Kai Tietz PR c++/61198 * pt.c (retrieve_specialization): Handle using. Tested on x86_64-w64-mingw32. Ok for apply? Regards, Kai ChangeLog testsuite 2014-12

libgomp offloading testing (was: OpenACC middle end changes)

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 18 Dec 2014 15:20:42 +0100, Jakub Jelinek wrote: > So, with your latest change both compilers build: > mkdir objmic; cd objmic > ../configure --build=x86_64-intelmicemul-linux-gnu > --host=x86_64-intelmicemul-linux-gnu --target=x86_64-intelmicemul-linux-gnu > --enable-as-accel

Re: [PATCH, ARM] attribute target (thumb,arm) [6/6] -> [7/7]

2014-12-18 Thread Christian Bruel
Hello Ramana, I don't know if you have started to look at it, but the attribute support fails after upgrading. This patch aims to catch up on the changes around the fipa_ra -masm-syntax-unified options since the initial posting. They were not tested/supported with the attribute, and of cours

Re: Pragma parsing (was: [PATCH] OpenACC for C++ front end)

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 02:48:32PM +0100, Thomas Schwinge wrote: > > Like for CILK, I'd strongly prefer if for the clauses that are > > specific to OpenACC only you'd use PRAGMA_OACC_CLAUSE_* instead, > > and put them after the PRAGMA_CILK_* enum values. > > If you want to have PRAGMA_OACC_CLAUSE_

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 12:07:01PM +0100, Thomas Schwinge wrote: > Many thanks for the review comments! The very most have been addresed, > here are just a few comments. If you feel strongly/differently about > any, I'll address those, too. So, with your latest change both compilers build: mkdir

Re: [C++ Patch] PR 60955

2014-12-18 Thread Jason Merrill
On 12/18/2014 06:17 AM, Paolo Carlini wrote: Sure. The below uses the c_inhibit_evaluation_warnings mechanism and passes testing. I wondered if in such cases we could alternately use the warning_sentinel mechanism (moved to cp-tree.h of course) ? That would make sense to me. Jason

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Uros Bizjak
On Thu, Dec 18, 2014 at 3:09 PM, H.J. Lu wrote: > The Linux kernel never passes floating point arguments around, vararg > functions or not. Hence no vector registers are ever used when calling a > vararg function. But gcc still dutifully emits an "xor %eax,%eax" before > each and

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
On Thu, Dec 18, 2014 at 6:03 AM, Uros Bizjak wrote: > On Thu, Dec 18, 2014 at 2:49 PM, Uros Bizjak wrote: > The Linux kernel never passes floating point arguments around, vararg functions or not. Hence no vector registers are ever used when calling a vararg function. But gcc still

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Uros Bizjak
On Thu, Dec 18, 2014 at 2:49 PM, Uros Bizjak wrote: >>> The Linux kernel never passes floating point arguments around, vararg >>> functions or not. Hence no vector registers are ever used when calling a >>> vararg function. But gcc still dutifully emits an "xor %eax,%eax" before >>> each and eve

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
On Thu, Dec 18, 2014 at 5:51 AM, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 02:24:06PM +0100, Uros Bizjak wrote: >> > It removed 14309 redundant "xor %eax,%eax" instructions and saved about >> > 27KB. I am currently running the new kernel without any problem. OK >> > for trunk? >> >> How abo

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 02:24:06PM +0100, Uros Bizjak wrote: > > It removed 14309 redundant "xor %eax,%eax" instructions and saved about > > 27KB. I am currently running the new kernel without any problem. OK > > for trunk? > > How about skipping RAX setup unconditionally for !TARGET_SSE? Please

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Uros Bizjak
On Thu, Dec 18, 2014 at 2:24 PM, Uros Bizjak wrote: > On Thu, Dec 18, 2014 at 2:11 PM, H.J. Lu wrote: >> The Linux kernel never passes floating point arguments around, vararg >> functions or not. Hence no vector registers are ever used when calling a >> vararg function. But gcc still dutifully e

Pragma parsing (was: [PATCH] OpenACC for C++ front end)

2014-12-18 Thread Thomas Schwinge
Hi! On Thu, 13 Nov 2014 14:02:37 +0100, Jakub Jelinek wrote: > > void > > init_pragma (void) > > { > > + if (flag_openacc) > > +{ > > + const int n_oacc_pragmas > > + = sizeof (oacc_pragmas) / sizeof (*oacc_pragmas); > > + int i; > > + > > + for (i = 0; i < n_oacc_pragmas

Re: [PATCH 2/3] Extended if-conversion

2014-12-18 Thread Yuri Rumyantsev
>>>>>>>>>>>>>> comments >>>>>>>>>>>>>> for predicate_arbitrary_scalar_phi). >>>>>>>>>>>>> >>>>>>>>>>>>> How so? We can always use !(condition) for the "last" value, thus >>>>>>>>>>>>> treat it as an 'else' case. That even works for >>>>>>>>>>>>> >>>>>>>>>>>>> # res_1 = PHI >>>>>>>>>>>>> >>>>>>>>>>>>> where the condition for edges 5 and 7 can be computed as >>>>>>>>>>>>> ! (condition for 3 || condition for 4). >>>>>>>>>>>>> >>>>>>>>>>>>> Of course it is worthwhile to also sort single-occurances first >>>>>>>>>>>>> so your case gets just the condiiton for edge 5 and its inversion >>>>>>>>>>>>> used for edges 3 and 4 combined. >>>>>>>>>>>>> >>>>>>>>>>>>>> 2. Why we need to introduce find_insertion_point? >>>>>>>>>>>>>> Let's consider another test-case extracted from 175.vpr ( t5.c >>>>>>>>>>>>>> is >>>>>>>>>>>>>> attached) and we can see that bb_7 and bb_9 containig phi nodes >>>>>>>>>>>>>> has >>>>>>>>>>>>>> only critical incoming edges and both contain code computing edge >>>>>>>>>>>>>> predicates, e.g. >>>>>>>>>>>>>> >>>>>>>>>>>>>> : >>>>>>>>>>>>>> # xmax_edge_30 = PHI >>>>>>>>>>>>>> _46 = xmax_17 == xmax_37; >>>>>>>>>>>>>> _47 = xmax_17 == xmax_27; >>>>>>>>>>>>>> _48 = _46 & _47; >>>>>>>>>>>>>> _53 = xmax_17 == xmax_37; >>>>>>>>>>>>>> _54 = ~_53; >>>>>>>>>>>>>> _55 = xmax_17 == xmax_27; >>>>>>>>>>>>>> _56 = _54 & _55; >>>>>>>>>>>>>> _57 = _48 | _56; >>>>>>>>>>>>>> xmax_edge_19 = xmax_edge_39 + 1; >>>>>>>>>>>>>> goto ; >>>>>>>>>>>>>> >>>>>>>>>>>>>> It is evident that we can not put phi predication at the block >>>>>>>>>>>>>> beginning but need to put it after predicate computations. >>>>>>>>>>>>>> Note also that if there are no critical edges for phi arguments >>>>>>>>>>>>>> insertion point will be "after labels" Note also that phi result >>>>>>>>>>>>>> can >>>>>>>>>>>>>> have use in this block too, so we can't put predication code to >>>>>>>>>>>>>> the >>>>>>>>>>>>>> block end. >>>>>>>>>>>>> >>>>>>>>>>>>> So the issue is that predicate insertion for edge predicates does >>>>>>>>>>>>> not happen on the edge but somewhere else (generally impossible >>>>>>>>>>>>> for critical edges unless you split them). >>>>>>>>>>>>> >>>>>>>>>>>>> I think I've told you before that I prefer simple solutions to >>>>>>>>>>>>> such issues, >>>>>>>>>>>>> like splitting the edge! Certainly not involving a function >>>>>>>>>>>>> walking >>>>>>>>>>>>> GENERIC expressions. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Richard. >>>>>>>>>>>>> >>>>>>>>>>>>>> Let me know if you still have any questions. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Best regards. >>>>>>>>>>>>>> Yuri. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2014-11-28 15:43 GMT+03:00 Richard Biener >>>>>>>>>>>>>> : >>>>>>>>>>>>>>> On Wed, Nov 12, 2014 at 2:35 PM, Yuri Rumyantsev >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Hi All, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here is the second patch related to extended predication. >>>>>>>>>>>>>>>> Few comments which explain a main goal of design. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 1. I don't want to insert any critical edge splitting since it >>>>>>>>>>>>>>>> may >>>>>>>>>>>>>>>> lead to less efficient binaries. >>>>>>>>>>>>>>>> 2. One special case of extended PHI node predication was >>>>>>>>>>>>>>>> introduced >>>>>>>>>>>>>>>> when #arguments is more than 2 but only two arguments are >>>>>>>>>>>>>>>> different >>>>>>>>>>>>>>>> and one argument has the only occurrence. For such PHI >>>>>>>>>>>>>>>> conditional >>>>>>>>>>>>>>>> scalar reduction is applied. >>>>>>>>>>>>>>>> This is correspondent to the following statement: >>>>>>>>>>>>>>>> if (q1 && q2 && q3) var++ >>>>>>>>>>>>>>>> New function phi_has_two_different_args was introduced to >>>>>>>>>>>>>>>> detect such phi. >>>>>>>>>>>>>>>> 3. Original algorithm for PHI predication used assumption that >>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>> least one incoming edge for blocks containing PHI is not >>>>>>>>>>>>>>>> critical - it >>>>>>>>>>>>>>>> guarantees that all computations related to predicate of >>>>>>>>>>>>>>>> normal edge >>>>>>>>>>>>>>>> are already inserted above this block and >>>>>>>>>>>>>>>> code related to PHI predication can be inserted at the >>>>>>>>>>>>>>>> beginning of >>>>>>>>>>>>>>>> block. But this is not true for critical edges for which >>>>>>>>>>>>>>>> predicate >>>>>>>>>>>>>>>> computations are in the block where code for phi predication >>>>>>>>>>>>>>>> must be >>>>>>>>>>>>>>>> inserted. So new function find_insertion_point is introduced >>>>>>>>>>>>>>>> which is >>>>>>>>>>>>>>>> simply found out the last statement in block defining >>>>>>>>>>>>>>>> predicates >>>>>>>>>>>>>>>> correspondent to all incoming edges and insert phi predication >>>>>>>>>>>>>>>> code >>>>>>>>>>>>>>>> after it (with some minor exceptions). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Unfortunately the patch doesn't apply for me - I get >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> patch: malformed patch at line 505: @@ -1720,6 +2075,8 @@ >>>>>>>>>>>>>>> predicate_all_scalar_phis (struct loop *loop) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> a few remarks nevertheless. I don't see how we need both >>>>>>>>>>>>>>> predicate_extended_scalar_phi and >>>>>>>>>>>>>>> predicate_arbitrary_scalar_phi. >>>>>>>>>>>>>>> Couldn't we simply sort an array of (edge, value) pairs after >>>>>>>>>>>>>>> value >>>>>>>>>>>>>>> and handle equal values specially in >>>>>>>>>>>>>>> predicate_extended_scalar_phi? >>>>>>>>>>>>>>> That would even make PHI more optimal. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I don't understand the need for find_insertion_point. All SSA >>>>>>>>>>>>>>> names >>>>>>>>>>>>>>> required for the predicates are defined upward - and the >>>>>>>>>>>>>>> complex CFG >>>>>>>>>>>>>>> is squashed to a single basic-block, thus the defs will >>>>>>>>>>>>>>> dominate the >>>>>>>>>>>>>>> inserted code if you insert after labels just like for the >>>>>>>>>>>>>>> other case. >>>>>>>>>>>>>>> Or what am I missing? ("flattening" of the basic-blocks of >>>>>>>>>>>>>>> course needs >>>>>>>>>>>>>>> to happen in dominator order - but I guess that happens >>>>>>>>>>>>>>> already?) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'd like the extended PHI handling to be enablable by a flag >>>>>>>>>>>>>>> even >>>>>>>>>>>>>>> for !force-vectorization - I've seen cases with 3 PHI args >>>>>>>>>>>>>>> multiple >>>>>>>>>>>>>>> times that would have been nice to vectorize. I suggest to >>>>>>>>>>>>>>> add -ftree-loop-if-convert-aggressive for this. We can do this >>>>>>>>>>>>>>> as >>>>>>>>>>>>>>> followup, but please rename the local flag_force_vectorize flag >>>>>>>>>>>>>>> to something less looking like a flag, like simply 'aggressive'. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Otherwise patch 2 looks ok to me. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Richard. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> ChangeLog: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2014-10-24 Yuri Rumyantsev >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> * tree-if-conv.c (ifcvt_can_use_mask_load_store): Use >>>>>>>>>>>>>>>> FLAG_FORCE_VECTORIZE instead of loop flag. >>>>>>>>>>>>>>>> (if_convertible_bb_p): Allow bb has more than 2 predecessors if >>>>>>>>>>>>>>>> FLAG_FORCE_VECTORIZE is true. >>>>>>>>>>>>>>>> (if_convertible_bb_p): Delete check that bb has at least one >>>>>>>>>>>>>>>> non-critical incoming edge. >>>>>>>>>>>>>>>> (phi_has_two_different_args): New function. >>>>>>>>>>>>>>>> (is_cond_scalar_reduction): Add argument EXTENDED to choose >>>>>>>>>>>>>>>> access >>>>>>>>>>>>>>>> to phi arguments. Invoke phi_has_two_different_args to get phi >>>>>>>>>>>>>>>> arguments if EXTENDED is true. Change check that block >>>>>>>>>>>>>>>> containing reduction statement candidate is predecessor >>>>>>>>>>>>>>>> of phi-block since phi may have more than two arguments. >>>>>>>>>>>>>>>> (convert_scalar_cond_reduction): Add argument BEFORE to insert >>>>>>>>>>>>>>>> statement before/after gsi point. >>>>>>>>>>>>>>>> (predicate_scalar_phi): Add argument false (which means >>>>>>>>>>>>>>>> non-extended >>>>>>>>>>>>>>>> predication) to call of is_cond_scalar_reduction. Add argument >>>>>>>>>>>>>>>> true (which correspondent to argument BEFORE) to call of >>>>>>>>>>>>>>>> convert_scalar_cond_reduction. >>>>>>>>>>>>>>>> (get_predicate_for_edge): New function. >>>>>>>>>>>>>>>> (predicate_arbitrary_scalar_phi): New function. >>>>>>>>>>>>>>>> (predicate_extended_scalar_phi): New function. >>>>>>>>>>>>>>>> (find_insertion_point): New function. >>>>>>>>>>>>>>>> (predicate_all_scalar_phis): Add two boolean variables >>>>>>>>>>>>>>>> EXTENDED and >>>>>>>>>>>>>>>> BEFORE. Initialize EXTENDED to true if BB containing phi has >>>>>>>>>>>>>>>> more >>>>>>>>>>>>>>>> than 2 predecessors or both incoming edges are critical. Invoke >>>>>>>>>>>>>>>> find_phi_replacement_condition and predicate_scalar_phi or >>>>>>>>>>>>>>>> find_insertion_point and predicate_extended_scalar_phi >>>>>>>>>>>>>>>> depending on >>>>>>>>>>>>>>>> EXTENDED value. >>>>>>>>>>>>>>>> (insert_gimplified_predicates): Add check that non-predicated >>>>>>>>>>>>>>>> block >>>>>>>>>>>>>>>> may have statements to insert. Insert predicate of BB just >>>>>>>>>>>>>>>> after label >>>>>>>>>>>>>>>> if FLAG_FORCE_VECTORIZE is true. >>>>>>>>>>>>>>>> (tree_if_conversion): Add initialization of >>>>>>>>>>>>>>>> FLAG_FORCE_VECTORIZE which >>>>>>>>>>>>>>>> is copy of inner or outer loop field force_vectorize. patch.20141218 Description: Binary data

Re: [PATCH] IPA ICF: refactoring + fix for PR ipa/63569

2014-12-18 Thread Martin Liška
On 12/17/2014 04:23 PM, Richard Biener wrote: On Wed, Dec 17, 2014 at 12:17 PM, Martin Liška wrote: On 12/11/2014 01:37 PM, Richard Biener wrote: On Wed, Dec 10, 2014 at 1:18 PM, Martin Liška wrote: Hello. As suggested by Richard, I split compare_operand functions to various functions rel

[PATCH] Fix for PR64330

2014-12-18 Thread Martin Liška
Hello. Following patch is fix for PR64330, is pre-approved by Honza and I'm going to install it. No regression was seen on x86_64-linux-pc. Thanks, Martin >From 6f9ed17a2897be6a26e2c64f8e581771c216e41b Mon Sep 17 00:00:00 2001 From: mliska Date: Wed, 17 Dec 2014 19:11:48 +0100 Subject: [PATCH]

Re: [PATCH][AArch64] Implement vsqrt_f64 intrinsic

2014-12-18 Thread Joseph Myers
On Thu, 18 Dec 2014, Kyrill Tkachov wrote: > I see that there are some intrinsics implemented in terms of __builtin_fabsf, > presumable they can be at 'risk' too of having a library call emitted? The semantics of fabsf/fabs/fabsl are to clear the sign bit, never raise any exceptions (even for si

Re: [PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread Uros Bizjak
On Thu, Dec 18, 2014 at 2:11 PM, H.J. Lu wrote: > The Linux kernel never passes floating point arguments around, vararg > functions or not. Hence no vector registers are ever used when calling a > vararg function. But gcc still dutifully emits an "xor %eax,%eax" before > each and every call of a

Re: OpenACC middle end changes

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 18 Dec 2014 13:36:16 +0100, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 01:31:45PM +0100, Jakub Jelinek wrote: > > > --- gcc/config.gcc > > > +++ gcc/config.gcc > > > @@ -2906,6 +2906,7 @@ esac > > > case ${target} in > > > *-intelmic-* | *-intelmicemul-*) > > > tmake_fil

Re: OpenACC middle end changes

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 18 Dec 2014 12:33:11 +0100, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 11:46:00AM +0100, Thomas Schwinge wrote: > > > just > > > rtx v1 = GEN_INT (...); > > > rtx v2 = GEN_INT (...); > > > machine_mode mode = TYPE_MODE (TREE_TYPE (arg)); > > > rtx ret = gen_reg_rtx (

[PATCH] X86-64: Add -mskip-rax-setup

2014-12-18 Thread H.J. Lu
The Linux kernel never passes floating point arguments around, vararg functions or not. Hence no vector registers are ever used when calling a vararg function. But gcc still dutifully emits an "xor %eax,%eax" before each and every call of a vararg function. Since no callee use that for anything,

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 01:31:45PM +0100, Jakub Jelinek wrote: > > --- gcc/config.gcc > > +++ gcc/config.gcc > > @@ -2906,6 +2906,7 @@ esac > > case ${target} in > > *-intelmic-* | *-intelmicemul-*) > > tmake_file="${tmake_file} i386/t-intelmic" > > + tm_file="${tm_file} i386/intelmic-offlo

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 01:24:20PM +0100, Thomas Schwinge wrote: > Hi Jakub! > > On Thu, 18 Dec 2014 13:15:38 +0100, Jakub Jelinek wrote: > > On Thu, Dec 18, 2014 at 01:02:22PM +0100, Jakub Jelinek wrote: > > > On Thu, Dec 18, 2014 at 12:38:53PM +0100, Jakub Jelinek wrote: > > > > So, is what is

Re: OpenACC middle end changes

2014-12-18 Thread Thomas Schwinge
Hi Jakub! On Thu, 18 Dec 2014 13:15:38 +0100, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 01:02:22PM +0100, Jakub Jelinek wrote: > > On Thu, Dec 18, 2014 at 12:38:53PM +0100, Jakub Jelinek wrote: > > > So, is what is on the gomp-4_0-branch now all that you'd like to merge to > > > trunk now?

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 01:02:22PM +0100, Jakub Jelinek wrote: > On Thu, Dec 18, 2014 at 12:38:53PM +0100, Jakub Jelinek wrote: > > So, is what is on the gomp-4_0-branch now all that you'd like to merge to > > trunk now? Has it been tested on nvptx? I guess we should test it with > > XeonPhi offl

[PATCH] Fix -fsanitize=float-cast-overflow with C FE (PR sanitizer/64344)

2014-12-18 Thread Jakub Jelinek
On Tue, Dec 16, 2014 at 06:58:47PM +, Joseph Myers wrote: > On Fri, 12 Dec 2014, Jakub Jelinek wrote: > > > Hi! > > > > -fsanitize=float-cast-overflow sanitization is done in convert.c and calls > > there save_expr. Unfortunately, save_expr is a no-go for the C FE, we need > > c_save_expr, b

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 12:38:53PM +0100, Jakub Jelinek wrote: > So, is what is on the gomp-4_0-branch now all that you'd like to merge to > trunk now? Has it been tested on nvptx? I guess we should test it with > XeonPhi offloading too to make sure it doesn't break. > And then you or together wi

Re: [PATCH][AArch64] Implement vsqrt_f64 intrinsic

2014-12-18 Thread Kyrill Tkachov
On 17/12/14 00:04, Joseph Myers wrote: On Mon, 15 Dec 2014, James Greenhalgh wrote: @@ -22792,6 +22792,12 @@ vsqrtq_f32 (float32x4_t a) return __builtin_aarch64_sqrtv4sf (a); } +__extension__ static __inline float64x1_t __attribute__ ((__always_inline__)) +vsqrt_f64 (float64x1_t a) +

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 12:07:01PM +0100, Thomas Schwinge wrote: > > > - case GF_OMP_FOR_KIND_SIMD: > > > - kind = " simd"; > > > - break; > > > - case GF_OMP_FOR_KIND_CILKSIMD: > > > - kind = " cilksimd"; > > > - break; > > > case GF_OMP_FOR_KIND_DISTRIBUTE: > > > kind = " distribute

Re: OpenACC middle end changes

2014-12-18 Thread Jakub Jelinek
On Thu, Dec 18, 2014 at 11:46:00AM +0100, Thomas Schwinge wrote: > > just > > rtx v1 = GEN_INT (...); > > rtx v2 = GEN_INT (...); > > machine_mode mode = TYPE_MODE (TREE_TYPE (arg)); > > rtx ret = gen_reg_rtx (TYPE_MODE (integer_type_node)); > > emit_move_insn (ret, const0_rtx); > > rtx

  1   2   >