This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] release defs of a statement when removing statement for ever


Here is the patch which I promised in <http://gcc.gnu.org/ml/gcc/2005-08/msg00689.html>.
This add release_defs after the bsi_remove which removes the statement for ever.
This actually gives about a 5% increase in reuse of SSA_NAMEs in PR 8361.


OK or should I change bsi_remove to take an extra argument to tell bsi_remove that
we are removing the statement and not moving it anywhere. This was bootstrapped
and tested on powerpc-darwin with no regressions.


Thanks,
Andrew Pinski

ChangeLog:

* tree-ssa-forwprop.c (forward_propagate_into_cond): Call release_defs after
bsi_remove.
(tree_ssa_forward_propagate_single_use_va): Likewise.
* tree-ssa-loop-ivopts.c (remove_statement): If removing the defined name too,
call release_defs.
* tree-ssa-pre.c (remove_dead_inserted_code): Call release_defs after
bsi_remove.
(do_eustores): Likewise.
* tree-vrp.c (remove_range_assertions): Likewise.



Attachment: releasessaname.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]