Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-05-30 Thread Tom de Vries
. The only functional difference between the patches is that we no longer add printing a debug message in lra_assign. Committed (since the difference between the approved and new patch is trivial). Thanks, - Tom 2014-05-30 Tom de Vries t...@codesourcery.com * lra-int.h (struct lra_reg

[PATCH, i386] Enable fuse-caller-save for i386

2014-05-30 Thread Tom de Vries
to true for i386? Are there clobbers which need to be added? If it's safe to set this hook to true, OK for trunk? Thanks, - Tom 2014-05-30 Tom de Vries t...@codesourcery.com * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true. * gcc.target/i386/fuse-caller

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-30 Thread Tom de Vries
@@ +/* Testcase for PR target/46219. */ +/* { dg-do compile { xfail { *-*-* } } */ Hi, I've committed this follow-up patch to add a missing closing brace. Thanks, - Tom 2014-05-31 Tom de Vries t...@codesourcery.com * gcc.target/i386/sibcall-4.c: Add missing closing brace. diff --git a/gcc

[PATCH] Keep patch file permissions in mklog

2014-05-31 Thread Tom de Vries
tmp.patch $ touch tmp.patch $ ls -la tmp.patch -rw-rw-r-- 1 vries vries 0 mei 31 09:41 tmp.patch $ ./contrib/mklog tmp.patch $ ls -la tmp.patch -rw-rw-r-- 1 vries vries 59 mei 31 09:41 tmp.patch ... OK for trunk? Thanks, - Tom 2014-05-31 Tom de Vries t...@codesourcery.com * mklog: Keep permissions

[PATCH, AARCH64] Enable fuse-caller-save for AARCH64

2014-06-01 Thread Tom de Vries
. Build and tested on aarch64-linux-gnu. OK for trunk? Thanks, - Tom 2014-06-01 Tom de Vries t...@codesourcery.com * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare. * config/aarch64/aarch64.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true

Re: [AARCH64, PATCH] Fix ICE in aarch64_float_const_representable_p

2014-06-01 Thread Tom de Vries
On 30-05-14 10:20, Ramana Radhakrishnan wrote: On Fri, May 30, 2014 at 9:14 AM, Tom de Vries tom_devr...@mentor.com wrote: Marcus, when building for aarch64-linux-gnu with --enable-checking=yes,rtl, I run into the following error: ... In file included from src/libgcc/libgcc2.c:56:0: src/libgcc

[PATCH, ARM] Enable fuse-caller-save for ARM

2014-06-01 Thread Tom de Vries
. Build and tested on arm-linux-gnueabi. OK for trunk? Thanks, - Tom 2014-06-01 Radovan Obradovic robrado...@mips.com Tom de Vries t...@codesourcery.com * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter. * config/arm/arm.c

[s390, Committed] Use INTVAL only on CONST_INT in addptrdi3 and addptrsi3

2014-06-04 Thread Tom de Vries
Andreas, This patch ensures that INTVAL is only used on a CONST_INT in define_expands addptrdi3 and addptrsi3. I ran into this issue when building gcc for target s390 with --enable-checking=yes,rtl. Finished s390 build with patch, and committed as trivial. Thanks, - Tom 2014-06-04 Tom de

[PING] Enable fuse-caller-save for ARM/Aarch64

2014-06-16 Thread Tom de Vries
Richard, Ping for these patches: - [PATCH, ARM] Enable fuse-caller-save for ARM https://gcc.gnu.org/ml/gcc-patches/2014-06/msg8.html - [PATCH, AARCH64] Enable fuse-caller-save for AARCH64 https://gcc.gnu.org/ml/gcc-patches/2014-06/msg4.html The patches enable the -fuse-caller-save

[gomp4] Mark fopenacc as LTO option

2014-11-03 Thread Tom de Vries
Thomas, This patch marks fopenacc as LTO option. This allows fopenacc to be passed to lto, which means the openacc builtins are recognized when reading in the LTO stream. This fixes a number of testcases in the libgomp testsuite. ok for gomp-4_0-branch? Thanks, - Tom 2014-11-03 Tom de

[gomp4] Set default LIBGOMP_PLUGIN_PATH

2014-11-04 Thread Tom de Vries
Tom de Vries t...@codesourcery.com * testsuite/libgomp.oacc-c++/c++.exp: Set default LIBGOMP_PLUGIN_PATH. Print used LIBGOMP_PLUGIN_PATH. * testsuite/libgomp.oacc-c/c.exp: Same. * testsuite/libgomp.oacc-fortran/fortran.exp: Same. diff --git a/libgomp/testsuite/libgomp.oacc-c++/c++.exp b

[gomp4] Fix libgomp-oacc.c/lib-66.c testcase

2014-11-04 Thread Tom de Vries
Thomas, This patch fixes the libgomp-oacc.c/lib-66.c testcase. It allows the test to run for non-shared mem accelerators, and skips the test otherwise. ok for gomp-4_0-branch? Thanks, - Tom 2014-11-03 Tom de Vries t...@codesourcery.com * testsuite/libgomp.oacc-c/lib-66.c: Skip

[gomp4] Skip nvidia accelerator if not present

2014-11-04 Thread Tom de Vries
Thomas, this patch skips the nvidia accelerator in testing libgomp, if the nvidia accelerator is not present. OK for gomp-4_0-branch? Thanks, - Tom 2014-11-03 Tom de Vries t...@codesourcery.com * testsuite/libgomp.oacc-c++/c++.exp: Only use nvidia accelerator if present. * testsuite

Re: [gomp4] Set default LIBGOMP_PLUGIN_PATH

2014-11-07 Thread Tom de Vries
On 04-11-14 23:34, Tom de Vries wrote: Thomas, this patch sets LIBGOMP_PLUGIN_PATH to the .libs dir in the build area, if LIBGOMP_PLUGIN_PATH has not been defined. This allows f.i. a gcc build without an accelerator configured, to automatically pick up the host_nonshm plugin. Updated

Re: [gomp4] Fix libgomp-oacc.c/lib-66.c testcase

2014-11-07 Thread Tom de Vries
On 04-11-14 23:46, Tom de Vries wrote: Thomas, This patch fixes the libgomp-oacc.c/lib-66.c testcase. It allows the test to run for non-shared mem accelerators, and skips the test otherwise. Fixed path in log message (testsuite/libgomp.oacc-c/lib-66.c - testsuite/libgomp.oacc-c-c++-common

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-09-03 Thread Tom de Vries
On 01-09-14 18:41, Ulrich Weigand wrote: Tom de Vries wrote: * ira-costs.c (ira_tune_allocno_costs): Use ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs. In debugging PR 53864 on s390x-linux, I ran into a weird change in behavior that occurs when the following part

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-09-03 Thread Tom de Vries
On 03-09-14 20:12, Ulrich Weigand wrote: Just for my curiosity, why is the second condition (after ) needed in this clause in the first place? if (ira_hard_reg_set_intersection_p (regno, mode, + *crossed_calls_clobber_regs) +

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-09-04 Thread Tom de Vries
On 03-09-14 18:58, Tom de Vries wrote: I've build the patch and ran the fuse-caller-save tests, and I'm currently bootstrapping and reg-testing it on x86_64. Vladimir, This patch fixes a problem (found on s390) in one of the committed fuse-caller-save patches. s390 is the only user

Re: [PATCH][PING] Keep patch file permissions in mklog

2014-09-19 Thread Tom de Vries
On 18-09-14 19:46, Diego Novillo wrote: On Thu, Sep 18, 2014 at 10:56 AM, Yury Gribov y.gri...@samsung.com wrote: On 08/04/2014 12:14 PM, Tom de Vries wrote: On 04-08-14 08:45, Yury Gribov wrote: Thanks! My 2 (actually 4) cents below. Hi Yuri, thanks for the review. +if ($#ARGV

[PATCH] Fix PR55876 - Make generation of paradoxical subreg in widen_operand more robust

2013-01-07 Thread Tom de Vries
[with CC to gcc-patches] Original Message Subject: [PATCH] Fix PR55876 - Make generation of paradoxical subreg in widen_operand more robust Date: Mon, 07 Jan 2013 11:13:49 +0100 From: Tom de Vries tom_devr...@mentor.com To: Richard Henderson r...@redhat.com CC: Steve Ellcey sell

[PATCH] Yet another non-prototype builtin issue (PR middle-end/55890)

2013-01-09 Thread Tom de Vries
the patch and a cc1 recompile, I'm able to run pr55890-{1,2,3}.c successfully. OK for trunk after I've tested this on mips64? Thanks, - Tom 2013-01-09 Tom de Vries t...@codesourcery.com PR middle-end/55890 * calls.c (expand_call): Check if arg_nr is valid. Index: gcc/calls.c

Re: [PATCH] Yet another non-prototype builtin issue (PR middle-end/55890)

2013-01-11 Thread Tom de Vries
On 11/01/13 12:02, Greta Yorsh wrote: Tom, are you going to apply this patch? Greta, While testing I've ran into several issues with timeouts (not related to this patch) that I needed to address, so it took me a bit, but I started the latest build test run yesterday evening so I expect to

Re: [PATCH] Fix PR55876 - Make generation of paradoxical subreg in widen_operand more robust

2013-01-14 Thread Tom de Vries
On 07/01/13 18:48, Richard Henderson wrote: On 01/07/2013 02:16 AM, Tom de Vries wrote: - /* If MODE is no wider than a single word, we return a paradoxical - SUBREG. */ + /* If MODE is no wider than a single word, we return a + lowpart or paradoxical SUBREG

Re: [PATCH 1/2] if-to-switch conversion pass

2013-01-24 Thread Tom de Vries
Steven, On 19/07/12 16:43, Steven Bosscher wrote: On Thu, Jul 19, 2012 at 3:43 PM, Tom de Vries tom_devr...@mentor.com wrote: I think you should compare your method to the one described in the paper, and at least reference the paper if it's somehow similar -- Interesting, thanks. Will do

[PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2013-01-25 Thread Tom de Vries
Obradovic robrado...@mips.com Tom de Vries t...@codesourcery.com * hooks.c (hook_void_hard_reg_set_containerp): New function. * hooks.h (hook_void_hard_reg_set_containerp): Declare. * target.def (fn_other_hard_reg_usage): New DEFHOOK. * config/arm/arm.c

[PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux

2013-02-04 Thread Tom de Vries
. Bootstrapped and reg-tested by Mikael Pettersson on both x86_64-linux and sparc64-linux. OK for trunk? Thanks, - Tom 2013-02-04 Tom de Vries t...@codesourcery.com PR rtl-optimization/56131 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN to get

Re: [PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux

2013-02-05 Thread Tom de Vries
fixes the problems by: - using NOTE_BASIC_BLOCK to find the bb of NOTE_INSN_BASIC_BLOCK, and - explicitly handling the cases that the bb of either the label or the note is NULL. I don't think that we need to handle the very last case. OK. 2013-02-04 Tom de Vries t...@codesourcery.com

Re: [PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux

2013-02-05 Thread Tom de Vries
On 05/02/13 10:50, Jakub Jelinek wrote: On Tue, Feb 05, 2013 at 10:41:51AM +0100, Tom de Vries wrote: On 05/02/13 10:02, Eric Botcazou wrote: The problem is that in delete_insn, while deleting an undeletable label (in other words, transforming a label into a INSN_NOTE_DELETED_LABEL): - we try

Re: [PATCH] Fix PR56131 - gcc.dg/pr56035.c ICEs gcc on sparc-linux

2013-02-05 Thread Tom de Vries
On 05/02/13 11:12, Jakub Jelinek wrote: On Tue, Feb 05, 2013 at 11:01:22AM +0100, Tom de Vries wrote: I'm not sure I understand your comment. The BLOCK_FOR_INSN of the note was NULL. The NOTE_BASIC_BLOCK of the note was correct. Are you saying that the BLOCK_FOR_INSN should not have been NULL

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2013-02-07 Thread Tom de Vries
Vladimir, On 25/01/13 16:36, Vladimir Makarov wrote: On 01/25/2013 08:05 AM, Tom de Vries wrote: Vladimir, this patch adds analysis of register usage of functions for usage by IRA. The patch: - adds analysis in pass_final to track which hard registers are set or clobbered

Re: ivopts improvement

2011-03-04 Thread Tom de Vries
On 03/04/2011 08:37 AM, Paolo Bonzini wrote: On 03/03/2011 03:28 PM, Tom de Vries wrote: reg-tested on x86_64. Better? Yes, very much so Great. Thanks for the review. (talking about patch 6.5; the other one is an optimization but not essential based on the new comments). Just one

Re: ivopts improvement

2011-03-15 Thread Tom de Vries
Hi Zdenek, I rewrote the patch to remove the use of use_uses_inced_iv. On 03/14/2011 03:03 PM, Zdenek Dvorak wrote: Hi, (since the use_uses_inced_iv test is meaningless). To me it seems use_uses_inced_iv has meaning: - it models something: it states whether the comparison is using the

[PATCH, PR43920] Improve code-size optimizations

2011-03-31 Thread Tom de Vries
This patch set fixes PR 43920 - 'Choosing conditional execution over conditional branches for code size in some cases'. The patch set was tested on ARM and x86_64. The codesize changes were benchmarked for ARM Thumb-2. For SPEC2000 and EEMBC CoreMark, a reduction of 1.1% in the geomean of the

[PATCH, PR43920, 2/9] ARM specific part - test case

2011-03-31 Thread Tom de Vries
A testcase for the code in arm-size-branch_cost.patch. Thanks, - Tom Index: gcc/testsuite/gcc.target/arm/pr43920-1.c === --- gcc/testsuite/gcc.target/arm/pr43920-1.c (revision 0) +++ gcc/testsuite/gcc.target/arm/pr43920-1.c (revision

[PATCH, PR43920, 4-9/9] Cross-jumping.

2011-03-31 Thread Tom de Vries
The impact of patches 4-9 of the patch set on the example from the bug report for ARM Thumb-2 -Os is a further size reduction of 7%, from 58 to 54 bytes. This size reduction is illustrated in this diff of the assembly (left, without patches, size 58. right, with patches, size 54): ... push

[PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Tom de Vries
Currently uses and clobbers are counted as insns in crossjumping, which can cause undesirable crossjumping. The patch fixes this. Thanks, - Tom Index: gcc/cfgcleanup.c === --- gcc/cfgcleanup.c (revision 170556) +++ gcc/cfgcleanup.c

[PATCH, PR43920, 5/9] Cross-jumping - Add missing use of return register.

2011-03-31 Thread Tom de Vries
Inserts use of return register in epilogue threading, to keep representation consistent, and prevent mismatch in crossjump matching. Thanks, - Tom Index: gcc/function.c === --- gcc/function.c (revision 170556) +++ gcc/function.c

[PATCH, PR43920, 7/9] Cross-jumping - Extend search scope.

2011-03-31 Thread Tom de Vries
Allows crossjump over fallthru paths. Thanks, - Tom diff -u gcc/cfgcleanup.c gcc/cfgcleanup.c --- gcc/cfgcleanup.c (working copy) +++ gcc/cfgcleanup.c (working copy) @@ -1139,6 +1139,43 @@ } } + /* Walks from I1 in BB1 backward till the next non-debug insn, and returns the +resulting

[PATCH, PR43920, 8/9] Cross-jumping - Extend search scope - test case.

2011-03-31 Thread Tom de Vries
Test-case for crossjump-fallthru-ml.patch. Thanks, - Tom Index: gcc/testsuite/gcc.target/arm/pr43920-2.c === --- gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) +++ gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) @@ -0,0

[PATCH, PR43920, 9/9] Cross-jumping - Allow both directions.

2011-03-31 Thread Tom de Vries
Allow crossjumping in both directions. Crossjump was assumed to be symmetric, and therefore only applied on edges e1,e2 and not on e2,e1. Now given both the fallthru fix and the regnotes fix, crossjumping is not symmetrical anymore, and we allow both directions (but not by testing twice). Thanks,

Re: [PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-03-31 Thread Tom de Vries
Hi Jeff, On 03/31/2011 08:36 PM, Jeff Law wrote: On 03/31/11 12:35, Tom de Vries wrote: Currently uses and clobbers are counted as insns in crossjumping, which can cause undesirable crossjumping. The patch fixes this. OK. Please install. jeff I don't have an account at sourceware.org

Re: [PATCH, PR43920, 1/9] ARM specific part.

2011-04-01 Thread Tom de Vries
Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing for size. Index: gcc/config/arm/arm.h === --- gcc/config/arm/arm.h

Re: [PATCH, PR43920, 2/9] ARM specific part - test case

2011-04-01 Thread Tom de Vries
Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * gcc/testsuite/gcc.target/arm/pr43920-1.c: New test. Index: gcc/testsuite/gcc.target/arm/pr43920-1.c === --- gcc/testsuite/gcc.target/arm

Re: [PATCH, PR43920, 4/9] Cross-jumping - Don't count use or clobber.

2011-04-01 Thread Tom de Vries
Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as insn. Index: gcc/cfgcleanup.c === --- gcc/cfgcleanup.c (revision

Re: [PATCH, PR43920, 5/9] Cross-jumping - Add missing use of return register.

2011-04-01 Thread Tom de Vries
Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * function.c (emit_use_return_register_into_block): New function. (thread_prologue_and_epilogue_insns): Use emit_use_return_register_into_block. Index: gcc/function.c

Re: [PATCH, PR43920, 6/9] Cross-jumping - Use reg-notes.

2011-04-01 Thread Tom de Vries
On 03/31/2011 11:16 PM, Tom de Vries wrote: On 03/31/2011 08:52 PM, Jeff Law wrote: On 03/31/11 12:42, Tom de Vries wrote: Uses regnotes to analyze whether we can replace insn a by insn b, even if we cannot replace insn b by insn a. Uses this info in crossjumping. Shouldn't this be using

Re: [PATCH, PR43920, 9/9] Cross-jumping - Allow both directions.

2011-04-01 Thread Tom de Vries
Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to flow_find_cross_jump. Swap variables to implement backward replacement. (try_crossjump_bb): Add argument to try_crossjump_to_edge

Re: [PATCH, PR43920] Improve code-size optimizations

2011-04-01 Thread Tom de Vries
Hi Eric, On 03/31/2011 11:02 PM, Eric Botcazou wrote: Patches will be posted separately. Always post a ChangeLog entry with a patch. Sorry about that. I reposted the patches with ChangeLog entries. Thanks, - Tom

Re: [PATCH, PR43920, 3/9] Cleanup.

2011-04-01 Thread Tom de Vries
On 04/01/2011 05:01 PM, Jakub Jelinek wrote: On Fri, Apr 01, 2011 at 04:56:10PM +0200, Tom de Vries wrote: Reposting, with ChangeLog. Similarly one of your patches had * gcc/cfgcleanup.c (whatever): Whatever. in the ChangeLog, should be just * cfgcleanup.c (whatever): Whatever

Re: [PATCH, PR43920, 8/9] Cross-jumping - Extend search scope - test case.

2011-04-01 Thread Tom de Vries
On 04/01/2011 05:01 PM, Jakub Jelinek wrote: On Fri, Apr 01, 2011 at 04:56:10PM +0200, Tom de Vries wrote: Reposting, with ChangeLog. 2011-04-01 Tom de Vries t...@codesourcery.com PR target/43920 * testsuite/gcc.target/arm/pr43920-2.c: New test. gcc/testsuite/ has its own

Re: [PATCH, PR43920, 1/9] ARM specific part.

2011-04-01 Thread Tom de Vries
On 04/01/2011 05:18 PM, Richard Earnshaw wrote: On Fri, 2011-04-01 at 16:45 +0200, Tom de Vries wrote: Reposting, with ChangeLog. #define BRANCH_COST(speed_p, predictable_p) \ - (TARGET_32BIT ? 4 : (optimize 0 ? 2 : 0)) + (TARGET_32BIT ? (TARGET_THUMB2 optimize_size ? 1 : 4

Re: [PATCH, PR43920, 2/9] ARM specific part - test case

2011-04-01 Thread Tom de Vries
On 04/01/2011 05:34 PM, Richard Earnshaw wrote: On Fri, 2011-04-01 at 16:47 +0200, Tom de Vries wrote: Reposting, with ChangeLog. +/* { dg-options -march=armv7-a -mthumb -Os } */ No, use dg-require-effective-target. The above doesn't work properly with multilib testing. Changed

Re: [PATCH, PR43920, 8/9] Cross-jumping - Extend search scope - test case.

2011-04-01 Thread Tom de Vries
On 04/01/2011 05:34 PM, Richard Earnshaw wrote: On Fri, 2011-04-01 at 16:47 +0200, Tom de Vries wrote: Reposting, with ChangeLog. +/* { dg-options -march=armv7-a -mthumb -Os } */ No, use dg-require-effective-target. The above doesn't work properly with multilib testing. Changed

Re: [PATCH, PR43920, 1/9] ARM specific part.

2011-04-02 Thread Tom de Vries
On 04/02/2011 09:47 AM, Richard Guenther wrote: On Fri, Apr 1, 2011 at 6:06 PM, Tom de Vries vr...@codesourcery.com wrote: On 04/01/2011 05:18 PM, Richard Earnshaw wrote: On Fri, 2011-04-01 at 16:45 +0200, Tom de Vries wrote: Reposting, with ChangeLog. #define BRANCH_COST(speed_p

Re: [PATCH, PR43920, 6/9] Cross-jumping - Use reg-notes.

2011-04-04 Thread Tom de Vries
Hi Jeff, On 04/01/2011 04:54 PM, Tom de Vries wrote: On 03/31/2011 11:16 PM, Tom de Vries wrote: On 03/31/2011 08:52 PM, Jeff Law wrote: On 03/31/11 12:42, Tom de Vries wrote: Uses regnotes to analyze whether we can replace insn a by insn b, even if we cannot replace insn b by insn a. Uses

Re: [PATCH, PR43920, 1/9] ARM specific part.

2011-04-05 Thread Tom de Vries
it, here's a patch to access nm -S. Thanks, - Tom 2011-04-05 Tom de Vries t...@codesourcery.com * lib/scanasm.exp (object-symbol-size): New proc. Index: gcc/testsuite/lib/scanasm.exp === --- gcc/testsuite/lib/scanasm.exp (revision

[PATCH, PR48461] define emit_use_return_register_into_block only if HAVE_return.

2011-04-05 Thread Tom de Vries
Hi, I introduced the function emit_use_return_register_into_block for PR43920, but should have guarded it with HAVE_return. The patch fixes this. Tested by doing x86_64 non-bootstrap c/fortran build. OK for trunk? Thanks, - Tom 2011-04-05 Tom de Vries t...@codesourcery.com PR middle-end

Re: [PATCH PR43513, 1/3] Replace vla with array - Implementation.

2011-09-24 Thread Tom de Vries
On 09/24/2011 05:29 PM, Eric Botcazou wrote: This is an updated version of the patch. I have 2 new patches and an updated testcase which I will sent out individually. Patch set was bootstrapped and reg-tested on x86_64. Ok for trunk? Thanks, - Tom 2011-07-30 Tom de Vries t

Re: [PATCH PR43513, 1/3] Replace vla with array - Implementation.

2011-09-25 Thread Tom de Vries
on x86_64. Ok for trunk? Thanks, - Tom 2011-07-30 Tom de Vries t...@codesourcery.com PR middle-end/43513 * Makefile.in (tree-ssa-ccp.o): Add $(PARAMS_H) to rule. * tree-ssa-ccp.c (params.h): Include. (fold_builtin_alloca_for_var): New function. (ccp_fold_stmt

Re: [PATCH PR43513, 1/3] Replace vla with array - Implementation.

2011-09-26 Thread Tom de Vries
On 09/26/2011 12:29 PM, Richard Guenther wrote: On Sun, 25 Sep 2011, Tom de Vries wrote: On 09/25/2011 10:57 AM, Richard Guenther wrote: On Sat, Sep 24, 2011 at 5:29 PM, Eric Botcazou ebotca...@adacore.com wrote: This is an updated version of the patch. I have 2 new patches and an updated

[PATCH, PR50485, committed] Initialize variable in sse4_1-blendps{,-2}.c with random floats

2011-09-28 Thread Tom de Vries
Committed as obvious. Thanks, - Tom 2011-09-28 Tom de Vries t...@codesourcery.com PR testsuite/50485 * gcc.target/i386/sse4_1-blendps.c: Include stdlib.h. (TEST): Initialize src3 with random floats. * gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove

[PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-09-28 Thread Tom de Vries
Richard, I got a patch for PR50527. The patch prevents the alignment of vla-related allocas to be set to BIGGEST_ALIGNMENT in ccp. The alignment may turn out smaller after folding the alloca. Bootstrapped and regtested on x86_64. OK for trunk? Thanks, - Tom 2011-09-27 Tom de Vries t

Re: [PATCH, PR43814] Assume function arguments of pointer type are aligned.

2011-09-28 Thread Tom de Vries
(2))) int_unaligned; int foo (int_unaligned *p) { return *(p+1); } ... test.c.023t.ccp1: ... # PT = anything # ALIGN = 2, MISALIGN = 0 D.2723_2 = pD.1604_1(D) + 4; ... Thanks, - Tom thanks Carrot On Tue, Sep 20, 2011 at 7:13 PM, Tom de Vries vr...@codesourcery.com wrote: Hi Richard

Re: [PATCH, PR43814] Assume function arguments of pointer type are aligned.

2011-09-28 Thread Tom de Vries
On 09/24/2011 11:31 AM, Richard Guenther wrote: On Tue, Sep 20, 2011 at 1:13 PM, Tom de Vries vr...@codesourcery.com wrote: Hi Richard, I have a patch for PR43814. It introduces an option that assumes that function arguments of pointer type are aligned, and uses that information in tree

Re: [PATCH, PR43814] Assume function arguments of pointer type are aligned.

2011-09-29 Thread Tom de Vries
On 09/29/2011 12:21 AM, Tom de Vries wrote: On 09/24/2011 11:31 AM, Richard Guenther wrote: On Tue, Sep 20, 2011 at 1:13 PM, Tom de Vries vr...@codesourcery.com wrote: Hi Richard, I have a patch for PR43814. It introduces an option that assumes that function arguments of pointer type

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-09-29 Thread Tom de Vries
On 09/28/2011 11:53 AM, Richard Guenther wrote: On Wed, Sep 28, 2011 at 11:34 AM, Tom de Vries tom_devr...@mentor.com wrote: Richard, I got a patch for PR50527. The patch prevents the alignment of vla-related allocas to be set to BIGGEST_ALIGNMENT in ccp. The alignment may turn out smaller

argument of alloca in terms of units or not

2011-09-29 Thread Tom de Vries
Richard, in gimplify_vla_decl, the alloca argument seems to be the size of the vla in units: ... t = build_call_expr (t, 1, DECL_SIZE_UNIT (decl)); ... I wonder why we are going through this 8 vs. BITS_PER_UNIT conversion here: ... elem_type = build_nonstandard_integer_type (BITS_PER_UNIT,

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-04 Thread Tom de Vries
On 10/01/2011 05:46 PM, Tom de Vries wrote: On 09/30/2011 03:29 PM, Richard Guenther wrote: On Thu, Sep 29, 2011 at 3:15 PM, Tom de Vries tom_devr...@mentor.com wrote: On 09/28/2011 11:53 AM, Richard Guenther wrote: On Wed, Sep 28, 2011 at 11:34 AM, Tom de Vries tom_devr...@mentor.com wrote

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-04 Thread Tom de Vries
On 10/04/2011 03:03 PM, Richard Guenther wrote: On Tue, Oct 4, 2011 at 9:43 AM, Tom de Vries tom_devr...@mentor.com wrote: On 10/01/2011 05:46 PM, Tom de Vries wrote: On 09/30/2011 03:29 PM, Richard Guenther wrote: On Thu, Sep 29, 2011 at 3:15 PM, Tom de Vries tom_devr...@mentor.com wrote

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-04 Thread Tom de Vries
On 10/04/2011 08:51 PM, Richard Henderson wrote: On 10/04/2011 09:28 AM, Tom de Vries wrote: Well, that was the idea. But now I wonder, isn't it better to do this in expand_builtin_alloca: ... /* Compute the argument. */ op0 = expand_normal (CALL_EXPR_ARG (exp, 0)); + align

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-04 Thread Tom de Vries
On 10/04/2011 10:58 PM, Richard Henderson wrote: On 10/04/2011 01:17 PM, Tom de Vries wrote: In general, to fold vlas (which are lowered to allocas) to normal declarations, if the alloca argument is constant. Ah. Ok, I suppose. How often are you seeing this happening? I can imagine

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-04 Thread Tom de Vries
On 10/04/2011 11:31 PM, Tom de Vries wrote: On 10/04/2011 10:58 PM, Richard Henderson wrote: On 10/04/2011 01:17 PM, Tom de Vries wrote: In general, to fold vlas (which are lowered to allocas) to normal declarations, if the alloca argument is constant. Ah. Ok, I suppose. How often

Re: [PATCH, PR50527] Don't assume alignment of vla-related allocas.

2011-10-05 Thread Tom de Vries
On 10/05/2011 10:46 AM, Richard Guenther wrote: On Tue, Oct 4, 2011 at 6:28 PM, Tom de Vries tom_devr...@mentor.com wrote: On 10/04/2011 03:03 PM, Richard Guenther wrote: On Tue, Oct 4, 2011 at 9:43 AM, Tom de Vries tom_devr...@mentor.com wrote: On 10/01/2011 05:46 PM, Tom de Vries wrote

[PATCH] Mark static const strings as read-only.

2011-10-10 Thread Tom de Vries
$2,2($4) ... The patch makes sure that the src_mem computed here in expand_builtin_memcpy is marked as MEM_READONLY_P: ... src_mem = get_memory_rtx (src, len); ... build and reg-tested on i686, arm, and mips. OK for trunk? Thanks, - Tom 2011-10-10 Tom de Vries t

Re: [PATCH] Mark static const strings as read-only.

2011-10-10 Thread Tom de Vries
On 10/10/2011 03:44 PM, Eric Botcazou wrote: The patch makes sure that the src_mem computed here in expand_builtin_memcpy is marked as MEM_READONLY_P: ... src_mem = get_memory_rtx (src, len); ... build and reg-tested on i686, arm, and mips. OK for trunk? Do you get the same

[PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-12 Thread Tom de Vries
delinked: ... if (rdef rdef != use) SET_USE (use_p, rdef); ... The patch fixes this by forcing SET_USE for delinked uses. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom 2011-10-12 Tom de Vries t...@codesourcery.com PR tree-optimization/50672 * tree

Re: [PATCH] Mark static const strings as read-only.

2011-10-12 Thread Tom de Vries
On 10/10/2011 05:50 PM, Eric Botcazou wrote: So, the patch for build_constant_desc does not have the desired effect. OK, too bad that we need to play this back-and-forth game with MEMs. So the original patch is OK (with TREE_READONLY (base) on the next line to mimic what is done just

[PATCH] Fix number of arguments in call to alloca_with_align

2011-10-12 Thread Tom de Vries
(including Ada) on x86_64. OK for trunk? Thanks, - Tom 2011-10-12 Tom de Vries t...@codesourcery.com * function.c (gimplify_parameters): Set number of arguments of call to BUILT_IN_ALLOCA_WITH_ALIGN to 2. Index: gcc/function.c

Re: [PATCH] Mark static const strings as read-only.

2011-10-13 Thread Tom de Vries
On 10/12/2011 10:13 AM, Tom de Vries wrote: On 10/10/2011 05:50 PM, Eric Botcazou wrote: So, the patch for build_constant_desc does not have the desired effect. OK, too bad that we need to play this back-and-forth game with MEMs. So the original patch is OK (with TREE_READONLY (base

Re: [PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-13 Thread Tom de Vries
On 10/12/2011 02:19 PM, Richard Guenther wrote: On Wed, Oct 12, 2011 at 8:35 AM, Tom de Vries vr...@codesourcery.com wrote: Richard, I have a patch for PR50672. When compiling the testcase from the PR with -ftree-tail-merge, the scenario is as follows: We start out tail_merge_optimize

Re: [PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-16 Thread Tom de Vries
On 10/14/2011 12:00 PM, Richard Guenther wrote: On Fri, Oct 14, 2011 at 1:12 AM, Tom de Vries tom_devr...@mentor.com wrote: On 10/12/2011 02:19 PM, Richard Guenther wrote: On Wed, Oct 12, 2011 at 8:35 AM, Tom de Vries vr...@codesourcery.com wrote: Richard, I have a patch for PR50672

Re: [PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-18 Thread Tom de Vries
On 10/17/2011 01:51 PM, Richard Guenther wrote: On Sun, Oct 16, 2011 at 12:05 PM, Tom de Vries tom_devr...@mentor.com wrote: On 10/14/2011 12:00 PM, Richard Guenther wrote: On Fri, Oct 14, 2011 at 1:12 AM, Tom de Vries tom_devr...@mentor.com wrote: On 10/12/2011 02:19 PM, Richard Guenther

[PATCH, PR50769] Fix ICE in phi_alternatives_equal.

2011-10-19 Thread Tom de Vries
are defined. The patch fixes the ICE by setting the empty phi argument to .MEM. bootstrapped and reg-tested on x86_64. Ok for trunk? Thanks, - Tom 2011-10-19 Tom de Vries t...@codesourcery.com PR 50769/tree-optimization * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2

[PATCH, PR50763] Fix for ICE in verify_gimple

2011-10-20 Thread Tom de Vries
that update_vuses leaves virtual phis with only one argument (see unlink_virtual_phi). bootstrapped and reg-tested on x86_64. The tested patch had one addition to the attached patch: calling verify_dominators at the end of replace_block_by. OK for trunk? Thanks, - Tom 2011-10-20 Tom de Vries t

[PATCH,PR50763] Follow-up patch to fix i686 bootstrap failure

2011-10-25 Thread Tom de Vries
the original fix to PR50763, this forces us to update the vuses, while that is not necessary. Attached patch fixes this problem by determining more precisely when the vuses need to be updated. bootstrapped and reg-tested on x86_64 and i686. OK for trunk? Thanks, - Tom 2011-10-25 Tom de Vries

Re: [PATCH, PR43814] Assume function arguments of pointer type are aligned.

2011-10-25 Thread Tom de Vries
-tested on MIPS and ARM. Ok for trunk? Thanks, - Tom Richard. Jakub 2011-10-25 Tom de Vries t...@codesourcery.com PR target/43814 * tree-ssa-ccp.c (get_align_value): New function, factored out of get_value_from_alignment. (get_value_from_alignment): Use

[PATCH] Fix for PR52734 (-ftree-tail-merge)

2012-04-13 Thread Tom de Vries
, but for now I implemented a more coarse-grained fix: if the incoming vuses are not equal, and at least one of the vuses influenced a non-virtual result, we don't consider the blocks equal. Bootstrapped and reg-tested on x86_64. ok for trunk, 4.7.1? Thanks, - Tom 2012-04-13 Tom de Vries t

Re: [PATCH] Fix for PR52734 (-ftree-tail-merge)

2012-04-13 Thread Tom de Vries
On 13/04/12 11:13, Richard Guenther wrote: On Fri, Apr 13, 2012 at 10:32 AM, Tom de Vries tom_devr...@mentor.com wrote: Richard, this patch fixes PR52743. The problem is as follows: blocks 3 and 5, with successor 6 are considered equal and merged. ... # BLOCK 3 freq:6102 # PRED: 2

Re: [PATCH] Fix for PR52081 - Missed tail merging with pure calls

2012-04-13 Thread Tom de Vries
On 06/03/12 15:21, Richard Guenther wrote: On Mon, Feb 13, 2012 at 1:36 PM, Tom de Vries tom_devr...@mentor.com wrote: On 13/02/12 12:54, Richard Guenther wrote: On Thu, Feb 2, 2012 at 11:44 AM, Tom de Vries tom_devr...@mentor.com wrote: Richard, this patch fixes PR52801. Consider test

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-04-14 Thread Tom de Vries
On 27/01/12 21:37, Tom de Vries wrote: On 24/01/12 11:40, Richard Guenther wrote: On Mon, Jan 23, 2012 at 10:27 PM, Tom de Vries tom_devr...@mentor.com wrote: Richard, Jakub, the following patch fixes PR51879. Consider the following test-case: ... int bar (int); void baz (int); void

Re: [PATCH] Remove dead labels to increase superblock scope

2012-04-14 Thread Tom de Vries
On 09/12/11 14:59, Eric Botcazou wrote: 2011-12-07 Tom de Vries t...@codesourcery.com * cfgcleanup.c (try_optimize_cfg): Replace call to delete_isns_chain by delete_insn_chain call to delete_insn. Remove code to reorder BASIC_BLOCK note and DELETED_LABEL note, and move

Re: [PATCH] Prevent 'control reaches end of non-void function' warning for DO_WHILE

2012-04-14 Thread Tom de Vries
Jason, On 18/02/12 09:33, Jason Merrill wrote: On 01/22/2012 03:38 AM, Tom de Vries wrote: Sorry I didn't notice this patch until now; please CC me on C++ patches, or at least mention C++ in the subject line. OK, will do. + tree expr = NULL; + append_to_statement_list

Re: [PATCH] Prevent 'control reaches end of non-void function' warning for DO_WHILE

2012-04-17 Thread Tom de Vries
On 16/04/12 16:23, Jason Merrill wrote: On 04/14/2012 05:43 PM, Tom de Vries wrote: + tree expr = NULL; + append_to_statement_list (*block,expr); + *block = expr; Rather than doing this dance here, I think it would be better to enhance append_to_statement_list to handle

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-04-24 Thread Tom de Vries
On 17/04/12 14:24, Richard Guenther wrote: On Sat, Apr 14, 2012 at 9:26 AM, Tom de Vries tom_devr...@mentor.com wrote: On 27/01/12 21:37, Tom de Vries wrote: On 24/01/12 11:40, Richard Guenther wrote: On Mon, Jan 23, 2012 at 10:27 PM, Tom de Vries tom_devr...@mentor.com wrote: Richard

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-04-25 Thread Tom de Vries
On 25/04/12 12:09, Jakub Jelinek wrote: On Wed, Apr 25, 2012 at 11:57:09AM +0200, Richard Guenther wrote: void *foo () { return __builtin_return_address (0); } void *bar (_Bool b) { if (b) return foo (); else return foo (); } int main() { if (bar(true) ==

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-04-25 Thread Tom de Vries
give this one more iteration, but I guess the basic idea should work. bootstrapped and reg-tested on x86_64 (ada inclusive). Is this patch ok, or is the todo required? Thanks, - Tom 2012-04-25 Tom de Vries t...@codesourcery.com PR tree-optimization/51879 * tree-ssa-sccvn.h

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-04-27 Thread Tom de Vries
On 26/04/12 12:20, Richard Guenther wrote: On Wed, Apr 25, 2012 at 11:56 PM, Tom de Vries tom_devr...@mentor.com wrote: On 25/04/12 11:57, Richard Guenther wrote: SNIP Hmm. I'm not sure we can conclude that they have the same value! +int bar (int); +void baz (int); +void bla (int

Re: [PATCH] Fix for PR51879 - Missed tail merging with non-const/pure calls

2012-05-02 Thread Tom de Vries
. bootstrapped and reg-tested on x86_64. Ok for trunk? Thanks, - Tom 2012-05-02 Tom de Vries t...@codesourcery.com * tree-ssa-sccvn.c (copy_reference_ops_from_call) (visit_reference_op_call): Handle case that lhs is not an SSA_NAME. (visit_use): Call visit_reference_op_call

[PATCH] propagate anti-range to switch in tree-vrp

2012-07-21 Thread Tom de Vries
and reg-tested (Ada inclusive) on x86_64. OK for trunk? Thanks, - Tom 2012-07-21 Tom de Vries t...@codesourcery.com * tree-vrp.c (find_case_label_ranges): New function. (vrp_visit_switch_stmt, simplify_switch_using_ranges): Use find_case_label_ranges instead

Re: [PATCH][7/n] into-SSA TLC

2012-08-01 Thread Tom de Vries
On 01/08/12 10:47, Richard Guenther wrote: * tree-ssa-tail-merge.c (release_last_vdef): Remove. (replace_block_by): Adjust. (tail_merge_optimize): Use mark_virtual_operands_for_renaming. Richard, this caused PR50672 to trigger again. Thanks, - Tom

<    1   2   3   4   5   6   7   8   9   10   >