This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR18002: Undo fold_single_bit_test in do_jump
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: gcc at gcc dot gnu dot org,Paul Schlie <schlie at comcast dot net>,Ian Lance Taylor <ian at wasabisystems dot com>,<gcc-patches at gcc dot gnu dot org>
- Date: Thu, 9 Dec 2004 18:54:25 +0100
- Subject: Re: [PATCH] PR18002: Undo fold_single_bit_test in do_jump
- References: <Pine.LNX.4.44.0412090830500.25725-100000@www.eyesopen.com>
> It is vital to get beyond the belief that tree-ssa form is related
> to the efficiency of the final machine code. fold-const.c appears
> to convert expressions into more expensive forms, gimplification
> would appear to introduce large numbers of unnecessary variables and
> trivial assignments between them, spliting loop headers and critical
> blocks would appear to introduce large numbers of empty basic blocks
> and unconditional jumps.
>
> The truth is than none of the above should adversely affect a program's
> performance, and indeed the goal of applying these transformations is
> to improve the program globally, and not just tree-node by tree-node.
"Should" indeed, so this must be carefully monitored. See PR tree-opt/18707
for an example of a seamingly harmful form of canonicalization that ends up
seriously hurting the performance of a loop.
--
Eric Botcazou