------- Comment #3 from rguenth at gcc dot gnu dot org 2009-03-21 10:53 ------- Wouldn't this be a candidate for forming a superblock from hot traces of a function? Thus in the testcase
if (k && m) { g1 = a + b; g2 = a + b; } else { ... old code } which would also handle the case where we cannot speculatively move code (like dereferences)? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35305