This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] conditional store elimination
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: Michael Matz <matz at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 10 Sep 2007 15:45:34 +0200
- Subject: Re: [patch] conditional store elimination
- References: <Pine.LNX.4.64.0708281853120.23011@wotan.suse.de>
On Tue, Aug 28, 2007 at 07:01:28PM +0200, Michael Matz wrote:
> Bootstrapped and tested (all langs except ada) on x86_64-linux.
I get a new failure with revision 128328 that I didn't see yesterday. It
happens on arm-unknown-elf, frv-unknown-elf, m32c-unknown-elf,
x86_64-unknown-linux-gnu, mipsisa64-unknown-elf, sh-unknown-elf and
v850-unknown-elf:
FAIL: gcc.dg/tree-ssa/loadpre11.c scan-tree-dump-times Eliminated: 1 1
I don't see this in the revision 128322 test results posted by H.J. Lu on
the gcc-testresults list, of which one is also for x86_64-unknown-linux-gnu.
This patch went in as revision 128324 and is the only one touching tree-ssa:
> PR middle-end/27313
>
> * tree-pass.h (pass_cselim): Declare new pass.
> * passes.c (init_optimization_passes): Link in pass_cselim.
> * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
> tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
> cond_store_replacement.
> (condstoretemp): New static variable.
> (cond_store_replacement): New function.
> (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
> tree_ssa_phiopt_worker.
> (struct name_to_bb): New.
> (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
> nt_init_block, nt_fini_block): New static functions.
> (seen_ssa_names, nontrap_set): New static variables.
> (gate_cselim, pass_cselim): Define new pass.
> * common.opt (ftree-cselim): New flag.
> * toplev.c (process_options): Set flag_tree_cselim if required.
--
Rask Ingemann Lambertsen