This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]