------- Comment #27 from hubicka at gcc dot gnu dot org 2008-02-06 11:55 ------- I noticed those posts. Part of the problem might be that hoisting triggers the partial memory stall bug I fixed. Partial memory stalls are quite expensive, so this might improve scores without the hack in some cases. I will at least give it a try on SPECs.
Also with DF merge we ought to have liveness readily available? Perhaps we can just strictly special case the initialization loop: count number of FP regs touched by loop live across loop latch edge and if the constant is at most 1 allow one extra invariant to be lifted. Naturally this is as ugly as it can get, prettier solution would be preferred... Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23322