------- Comment #5 from bonzini at gnu dot org 2008-07-18 14:13 ------- Hmm, even that wouldn't restore the optimization. The problem here is that there is another access via b, like
a <- b + c *b *(b + c) The bad placement of the first assignment (bad because doing it the other way round would have lower register pressure) in turn happens as soon as gimplification. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36770