[PATCH] VRP (x << 31) < -1 fix (PR tree-optimization/56984)

2013-04-17 Thread Jakub Jelinek
Hi! Like in the case a few lines below, if new_val is a minimum resp. a few lines below maximum value, we end up with always true resp. always false assertion, which VRP asserts that those aren't created. So, we should punt on those, and instead fold-const or gimple_fold should ideally optimize t

[committed] Add testcase from PR56992

2013-04-17 Thread Jakub Jelinek
Hi! This is a testcase that got fixed already by Andreas' http://gcc.gnu.org/r197839 resp. r197840 commits, but as it lacked a testcase, I'm adding one that reproduces it on 4.8 branch on x86_64-linux. Committed as obvious. 2013-04-18 Jakub Jelinek PR rtl-optimization/56992 *

[PATCH ARM]Extend thumb1_reorg to save more comparison instructions

2013-04-17 Thread Bin Cheng
Hi, Before thumb1_reorg, ARM backend uses peephole to save comparison instructions when a flag setting move is found before branch instruction. Since we are using thumb1_reog now, it can be extended to catch more opportunities by searching flag setting move instruction before branch, rather than on

Re: GCC does not support *mmintrin.h with function specific opts

2013-04-17 Thread Sriraman Tallam
+HJ On Tue, Apr 16, 2013 at 1:54 PM, Sriraman Tallam wrote: > Hi, > > I have attached an updated patch that addresses all the comments raised. > > On Fri, Apr 12, 2013 at 1:58 AM, Jakub Jelinek wrote: >> On Thu, Apr 11, 2013 at 12:05:41PM -0700, Sriraman Tallam wrote: >>> I have attached a patc

Re: [patch] fix verify_rtl_sharing handling of SEQUENCEs

2013-04-17 Thread Steven Bosscher
On Tue, Apr 16, 2013 at 6:39 PM, Steven Bosscher wrote: >> My new delay branch scheduler uses TODO_verify_rtl_sharing but it >> turns out that verify_rtl_sharing doesn't handle SEQUENCEs correctly: >> Clearing the used-flags is done correctly, but verifying insns in the >> SEQUENCE fails. The probl

Re: [Patch, Fortran] PR39505 - add support for !GCC$ attributes NO_ARG_CHECK

2013-04-17 Thread Tobias Burnus
Thomas Koenig wrote: Is my -f(no-)directives patch okay? Or do you envision something else? In principle, it is OK; the only question is what the default should be :-) I am in favor of "on". For OpenMP, we require an option to change the semantics of a program based on special comments. C

Re: [Patch, Fortran] PR39505 - add support for !GCC$ attributes NO_ARG_CHECK

2013-04-17 Thread Thomas Koenig
Hi Tobias, Is my -f(no-)directives patch okay? Or do you envision something else? In principle, it is OK; the only question is what the default should be :-) For OpenMP, we require an option to change the semantics of a program based on special comments. Currently, we do not do so for direct

Re: [PATCH, tree-ssa] Avoid -Wuninitialized warning in try_unroll_loop_completely()

2013-04-17 Thread Jeff Law
On 04/15/2013 08:35 PM, Chung-Ju Wu wrote: You are right. After doing survey on http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings and reading related discussion thread, I realized it is a complicated detection and this is a false positive case. I was using gcc-4.6.3, which is provided by Ubu

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
On 04/17/2013 10:02 PM, Paolo Carlini wrote: Hi, On 4/17/13 8:43 PM, François Dumont wrote: On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing something very, very

Re: [patch] PR56729

2013-04-17 Thread Jeff Law
On 04/17/2013 02:12 PM, Steven Bosscher wrote: On Fri, Mar 29, 2013 at 1:05 PM, Steven Bosscher wrote: It looks like there are places in the middle end that use remove_insn on insns that are not actually emitted. This breaks the assert I added in df_insn_delete. The patch disables the assert for

Re: [patch] PR56729

2013-04-17 Thread Steven Bosscher
> On Fri, Mar 29, 2013 at 1:05 PM, Steven Bosscher wrote: >> It looks like there are places in the middle end that use remove_insn >> on insns that are not actually emitted. This breaks the assert I added >> in df_insn_delete. The patch disables the assert for now. The comment >> before the assert

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread Paolo Carlini
Hi, On 4/17/13 8:43 PM, François Dumont wrote: On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing something very, very basic: which behavior is conforming, the cur

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing something very, very basic: which behavior is conforming, the current one or what we would get instead? If the fo

Re: [patch] simplify emit_delay_sequence

2013-04-17 Thread Steven Bosscher
On Wed, Apr 17, 2013 at 10:39 AM, Eric Botcazou wrote: > @@ -538,6 +502,8 @@ emit_delay_sequence (rtx insn, rtx list, int lengt > INSN_LOCATION (seq_insn) = INSN_LOCATION (tem); >INSN_LOCATION (tem) = 0; > > + /* Remove any REG_DEAD notes because we can't rely on them now > +

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread Paolo Carlini
On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing something very, very basic: which behavior is conforming, the current one or what we would get instead? If the former, is there a DR arguing for the latter?

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
Hi Here is an other proposal to fix std::is_copy_assignable>. This is not perfect because I have adapted it to current compiler behavior but it is still better than current behavior and enough to commit the unordered C++11 allocator adaptation afterward. It will give me more time to w

Re: [PATCH, PR 10474] Shedule pass_cprop_hardreg before pass_thread_prologue_and_epilogue

2013-04-17 Thread Jeff Law
On 04/17/2013 09:49 AM, Martin Jambor wrote: The reason why it helps so much is that before register allocation there are instructions moving the value of actual arguments from "originally hard" register (e.g. SI, DI, etc.) to a pseudo at the beginning of each function. When the argument is liv

Re: [PATCH] Add a new option "-fstack-protector-strong"

2013-04-17 Thread 沈涵
Thanks. On Wed, Apr 17, 2013 at 2:26 AM, Florian Weimer wrote: > On 04/17/2013 02:49 AM, Han Shen wrote: >>> Indentation is off (unless both mail clients I tried are clobbering your >>> patch). I think the GNU coding style prohibits the braces around the >>> single-statement body of the outer 'f

Re: [GOOGLE] Add AutoFDO based indirect call value profiling to GCC

2013-04-17 Thread Xinliang David Li
https://codereview.appspot.com/8814043/diff/1/gcc/auto-profile.c File gcc/auto-profile.c (right): https://codereview.appspot.com/8814043/diff/1/gcc/auto-profile.c#newcode161 gcc/auto-profile.c:161: }; Why not sharing the same hist_type enum in value-prof.h? https://codereview.appspot.com/8814043/

Re: [patch, fortran] Really fix PR 56782

2013-04-17 Thread Thomas Koenig
Hi Mikael, Attached is what I had in mind. And a testcase (the '|| expr->expr_type == EXPR_FUNCTION' in copy_walk_reduction_arg appeared wrong to me, and it was seemingly). Yes, you can also do it this way. OK if accompanied by a ChangeLog entry and my test cases, as well :-) Thomas

Re: [google] Add libgcov interface for accessing profile directory (issue8726046)

2013-04-17 Thread Xinliang David Li
looks ok. David On Wed, Apr 17, 2013 at 9:00 AM, Teresa Johnson wrote: > Patch to add interface for querying the profile directory prefix > specified to the -fprofile-generate= option. > > Google ref b/8629045. > > Tested with regression tests and internal test. Ok for google branches? > > 2013-

Re: [PATCH] backport darwin12 fixes to gcc-4_7-branch

2013-04-17 Thread Mike Stump
On Jun 18, 2012, at 9:36 AM, Jack Howarth wrote: > The attached patch backports... > > http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01710.html > http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01707.html > > which implement changes for darwin12 and later. Bootstrap > and regression tested on curre

Re: [Patch, Fortran] PR 56814: [4.8/4.9 Regression] Bogus Interface mismatch in dummy procedure

2013-04-17 Thread Janus Weil
>> here is patch for a recent regression with procedure pointers. >> Regtested on x86_64-unknown-linux-gnu. Ok for trunk and 4.8? > > Looks rather obvious. OK - and thanks for the patch. Thanks for the review. Committed as r198032. > PS: If you have time, could you review my C_LOC patch at > htt

Re: RFA: enable LRA for rs6000 [patch for WRF]

2013-04-17 Thread Michael Meissner
On Wed, Apr 17, 2013 at 10:14:53AM -0400, Vladimir Makarov wrote: > Mike, thanks for the patch and all the SPEC2006 data (which are > very useful as I have no access to power machine which can be used > for benchmarking). I guess that may be some benchmark scores are > lower because of LRA lacks

[google] Add libgcov interface for accessing profile directory (issue8726046)

2013-04-17 Thread Teresa Johnson
Patch to add interface for querying the profile directory prefix specified to the -fprofile-generate= option. Google ref b/8629045. Tested with regression tests and internal test. Ok for google branches? 2013-04-17 Teresa Johnson * libgcc/libgcov.c (__gcov_get_profile_prefix): New fu

[PATCH, PR 56718] Middle-end intraprocedural type-based devirtualization

2013-04-17 Thread Martin Jambor
Hi, this patch implements type-based devirtualization done intra-procedurally. This is normally done by the front-end except in cases when opportunities for this transformation are created by early-inlining. Because we handle this situation at IPA-level (especially in inlining but also in IPA-CP

[PATCH, PR 10474] Shedule pass_cprop_hardreg before pass_thread_prologue_and_epilogue

2013-04-17 Thread Martin Jambor
Hi, I have discovered that scheduling pass_cprop_hardreg before pass_thread_prologue_and_epilogue leads to significant increases in numbers of performed shrink-wrappings. For one it solves PR 10474 (at least on x86_64-linux) but it also boosts the number of shrink-wrappings performed during gcc b

[PATCH, PR 42371] Remove references to functions from symbol table during inlining

2013-04-17 Thread Martin Jambor
Hi, the patch below is a fix for PR 42371 removing references to functions from symbol table when we know that all their uses were inlined. This then allows us to remove out-of-line copies of functions when they are not needed. The patch adds ability to count the uses of a parameter value that a

Re: [PATCH, x86] Use vector moves in memmove expanding

2013-04-17 Thread Jan Hubicka
@@ -2392,6 +2392,7 @@ static void ix86_set_current_function (tree); static unsigned int ix86_minimum_incoming_stack_boundary (bool); static enum calling_abi ix86_function_abi (const_tree); +static int smallest_pow2_greater_than (int); Perhaps it is easier to use existing 1<> 1; + move_mode =

Re: [PATCH][ARM][1/2] Add support for vcvt_f16_f32 and vcvt_f32_f16 NEON intrinsics

2013-04-17 Thread Richard Earnshaw
On 17/04/13 12:06, Kyrylo Tkachov wrote: Hi Julian, From: Julian Brown [mailto:jul...@codesourcery.com] Sent: 13 April 2013 15:04 To: Julian Brown Cc: Kyrylo Tkachov; gcc-patches@gcc.gnu.org; Richard Earnshaw; Ramana Radhakrishnan Subject: Re: [PATCH][ARM][1/2] Add support for vcvt_f16_f32 and

Re: [PATCH, ARM] emit LDRD epilogue instead of a single LDM return

2013-04-17 Thread Richard Earnshaw
On 17/04/13 14:12, Greta Yorsh wrote: Currently, epilogue is not generated in RTL for function that can return using a single instruction. This patch enables RTL epilogue for such functions on targets that can benefit from using a sequence of LDRD instructions in epilogue instead of a single LDM

Re: [PATCH, ARM][10/n] Split scc patterns using cond_exec

2013-04-17 Thread Richard Earnshaw
On 17/04/13 14:12, Greta Yorsh wrote: This patch converts define_insn into define_insn_and_split to split some alternatives of movsicc_insn and some scc patterns that cannot be expressed using movsicc. The patch emits cond_exec RTL insns. Ok for trunk? Thanks, Greta gcc/ 2013-02-19 Greta Yor

Re: [PATCH, x86] Use vector moves in memmove expanding

2013-04-17 Thread Jan Hubicka
> > Bootstrap/make check/Specs2k are passing on i686 and x86_64. Thanks for returning to this! glibc has quite comprehensive testsuite for stringop. It may be useful to test it with -minline-all-stringop -mstringop-stategy=vector I tested the patch on my core notebook and my memcpy micro bench

Re: RFA: enable LRA for rs6000 [patch for WRF]

2013-04-17 Thread Vladimir Makarov
On 13-04-16 6:56 PM, Michael Meissner wrote: I tracked down the bug with the spec 2006 benchmark WRF using the LRA register allocator. At one point LRA has decided to use the CTR to hold a CCmode value: (insn 11019 11018 11020 16 (set (reg:CC 66 ctr [4411]) (reg:CC 66 ctr [4411])) modu

Re: [Patch, Fortran] PR 56814: [4.8/4.9 Regression] Bogus Interface mismatch in dummy procedure

2013-04-17 Thread Tobias Burnus
Janus Weil: here is patch for a recent regression with procedure pointers. Regtested on x86_64-unknown-linux-gnu. Ok for trunk and 4.8? Looks rather obvious. OK - and thanks for the patch. Tobias PS: If you have time, could you review my C_LOC patch at http://gcc.gnu.org/ml/fortran/2013-04/m

[Patch, Fortran] PR 56814: [4.8/4.9 Regression] Bogus Interface mismatch in dummy procedure

2013-04-17 Thread Janus Weil
Hi all, here is patch for a recent regression with procedure pointers. Regtested on x86_64-unknown-linux-gnu. Ok for trunk and 4.8? Cheers, Janus 2013-04-17 Janus Weil PR fortran/56814 * interface.c (check_result_characteristics): Get result from interface if present. 2013-04-

Re: [PATCH] Fix linking with -findirect-dispatch

2013-04-17 Thread Andreas Schwab
Bryce McKinlay writes: > It certainly _did_ work as intended previously. Only by chance, when libtool has to relink the library during install. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something

New German PO file for 'gcc' (version 4.8.0)

2013-04-17 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the German team of translators. The file is available at: http://translationproject.org/latest/gcc/de.po (This file, 'gcc-4.8.0.de.po', has just

[PATCH, ARM][10/n] Split scc patterns using cond_exec

2013-04-17 Thread Greta Yorsh
This patch converts define_insn into define_insn_and_split to split some alternatives of movsicc_insn and some scc patterns that cannot be expressed using movsicc. The patch emits cond_exec RTL insns. Ok for trunk? Thanks, Greta gcc/ 2013-02-19 Greta Yorsh * config/arm/arm.md (movsi

[PATCH, ARM] emit LDRD epilogue instead of a single LDM return

2013-04-17 Thread Greta Yorsh
Currently, epilogue is not generated in RTL for function that can return using a single instruction. This patch enables RTL epilogue for such functions on targets that can benefit from using a sequence of LDRD instructions in epilogue instead of a single LDM instruction. No regression on qemu arm-

Re: [patch] RFC: ix86 / x86_64 register pressure aware scheduling

2013-04-17 Thread Igor Zamyatin
These changes are what we used to try here at Intel after bunch of changes which made pre-alloc scheduler more stable. We benchmarked both register pressure algorithms and overall result was not that promising. We saw number of regressions e.g. for optset "-mavx -O3 -funroll-loops -ffast-math -mar

Re: [PATCH][RFC] Handle commutative operations in SLP tree build

2013-04-17 Thread Richard Biener
On Wed, 10 Apr 2013, Richard Biener wrote: > > This handles commutative operations during SLP tree build in the > way that if one configuration does not match, the build will > try again with commutated operands for. This allows to remove > the special-casing of commutated loads in a complex add

[PATCH] Fix PR56921

2013-04-17 Thread Richard Biener
This fixes PR56921 in a better way and restores the ability to ggc-collect during RTL loop passes. The patch stores the simple-loop-description in a separate member of struct loop and not its aux field which is not scanned by GC. Bootstrapped and tested on x86_64-unknown-linux-gnu and powerpc64-

[PATCH] Fix PR56982, handle setjmp like non-local labels

2013-04-17 Thread Richard Biener
This fixes PR56982 by properly modeling the control-flow of setjmp. It basically behaves as a non-local goto target so this patch treats it so - it makes it start a basic-block and get abnormal edges from possible sources of non-local gotos. The patch also fixes the bug that longjmp is marked as

RE: [PATCH][ARM][1/2] Add support for vcvt_f16_f32 and vcvt_f32_f16 NEON intrinsics

2013-04-17 Thread Kyrylo Tkachov
Hi Julian, > From: Julian Brown [mailto:jul...@codesourcery.com] > Sent: 13 April 2013 15:04 > To: Julian Brown > Cc: Kyrylo Tkachov; gcc-patches@gcc.gnu.org; Richard Earnshaw; Ramana > Radhakrishnan > Subject: Re: [PATCH][ARM][1/2] Add support for vcvt_f16_f32 and > vcvt_f32_f16 NEON intrinsics >

RE: [PATCH, AArch64] Compare instruction in shift_extend mode

2013-04-17 Thread Hurugalawadi, Naveen
Hi, >> I suggest for this one test case either making it compile only and >> dropping main() such that the pattern match only looks in the >> assembled output of the cmp_* functions The testcase will check only for assembly pattern of the instruction as per your suggestion. Please find attached

Re: [PATCH] Add a new option "-fstack-protector-strong"

2013-04-17 Thread Florian Weimer
On 04/17/2013 02:49 AM, Han Shen wrote: + if (flag_stack_protect == 3) +cpp_define (pfile, "__SSP_STRONG__=3"); if (flag_stack_protect == 2) cpp_define (pfile, "__SSP_ALL__=2"); 3 and 2 should be replaced by SPCT_FLAG_STRONG and SPCT_FLAG_ALL. I define these SPCT_FLAG_XXX in cfgex

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-17 Thread Eric Botcazou
> + if (type1 != type2 || TREE_CODE (type1) != RECORD_TYPE) > +goto may_overlap; > > ick, can TREE_CODE (type1) != RECORD_TYPE happen as well here? > Please add a comment similar to the Fortran ??? above. It can happen because we stop at unions (and qualified unions) and for them we

Re: [patch] simplify emit_delay_sequence

2013-04-17 Thread Eric Botcazou
> This patch is also necessary for my new delay-slot scheduler to keep > basic block boundaries correctly up-to-date. The emit-rtl API does > that already. > > Cross-tested powerpc64 x mips. Currently running bootstrap&test on > sparc64-unknown-linux-gnu. OK if it passes? Yes, modulo @@ -538,6 +

Re: [patch] Fix PR middle-end/56474

2013-04-17 Thread Richard Biener
On Wed, Apr 17, 2013 at 1:12 AM, Eric Botcazou wrote: >> For the C family I found exactly one - the layout_type case, and fixed >> it in the FEs by making empty arrays use [1, 0] domains or signed domains >> (I don't remember exactly). I believe the layout_type change was to make >> Ada happy. >

Re: [PATCH, generic] Support printing of escaped curly braces and vertical bar in assembler output

2013-04-17 Thread Richard Henderson
On 2013-04-16 13:55, Jakub Jelinek wrote: On Tue, Apr 16, 2013 at 03:41:52PM +0400, Maksim Kuznetsov wrote: Richard, Jeff, could you please have a look? I wonder if it %{ and %} shouldn't be better handled in final.c for all #ifdef ASSEMBLER_DIALECT targets, rather than just for one specific.