------- Comment #4 from steven at gcc dot gnu dot org 2007-10-20 11:08 ------- In gcse.c:compute_code_hoist_vbeinout(), the backward dataflow analysis problem is solved using FOR_EACH_BB_REVERSE. which traverses all basic blocks through the bb->prev_bb chain. Because the passes in gcse.c run in cfglayout mode, bb->prev_bb chain is not a CFG postorder sort. It would be faster to use a postorder sort, which should be available from df. It would be even better to just use the df solver instead.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33828