On 03/27/2015 02:53 AM, Richard Biener wrote:

Yeah, and refactoring copy_bbs so that the actual edge duplication happens
in another function (thus we can have two of them).
Exactly.



I was also playing with the idea to support value-numbering the stmts
on-the-fly as we copy them and use this for cost estimation of copies
(ok, well - basically do the copy and then either throw it away again
or accept it).
I thought about applying this to loop unrolling, but obviously this also applies
to any block duplication we do during jump threading.
It'd definitely be useful in threading. It's often the case that PHIs in the duplicates are degenerates and we can/should cprop them away and perform resultant simplifications that propagation enables.

If we could do that integrated with the actual duplication, then we'd be able to drop the phi-only cprop pass which exists solely to clean up that stuff.

jeff

Reply via email to