This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[RFC] tree combiner
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 31 May 2005 18:34:23 -0400
- Subject: [RFC] tree combiner
I am only posting this as a RFC since right now there are a couple
regressions
due to two latent bugs. One in fold-const.c which I filed as PR 21850.
The
other is that tree-vrp aborts if we don't have either a comparision tree
or SSA_NAME in a COND_EXPR which is not true, we can anything which make
is_gimple_condexpr return true which includes constants. Now you might
be
wondering why we still have constants in the COND_EXPR, I don't know.
Cleanup CFG is called but for some reason does not clean it up fully.
Also this does not fully replace forwprop because we don't do a couple
of optimizations in fold and I don't handle also combining references
as of yet and we would run into another latent bug which I wrote up
in <http://gcc.gnu.org/ml/gcc/2005-05/msg01362.html>.
I got tried of looking into the latent bugs so I decided to post the
patch
as everyone is waiting for it to be posted.
Note I did not update the docs for the passes as of yet.
Thanks,
Andrew Pinski
ChangeLog:
* Makefile.in (OBJS-common): Add tree-combine.c
* tree-combine.c: New file.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_tree_combine
after the first and last forwprop.
* tree-pass.h (pass_tree_combine): Define.
Attachment:
combine.diff.txt
Description: Text document