Consider: loop { if (never happens) o.f++; // this thing } This thing will look like a clobber-the-world side-effect. But, it's also an exit site. I don't think that the IR makes clear that that basic block doesn't belong in the loop. We should investigate this more.
Created attachment 223818 [details] the patch
Comment on attachment 223818 [details] the patch r=me
Landed in http://trac.webkit.org/changeset/163879