HomePhabricator

[SimplifyCFG] Rerun PHI deduplication after common code sinkinkg (PR51092)

Authored by lebedev.ri on Jul 15 2021, 6:25 AM.

Description

[SimplifyCFG] Rerun PHI deduplication after common code sinkinkg (PR51092)

SinkCommonCodeFromPredecessors() doesn't itself ensure that duplicate PHI nodes aren't created.
I suppose, we could teach it to do that on-the-fly (& account for the already-existing PHI nodes,
& adjust costmodel), the diff will be bigger than this.

The alternative is to schedule a new EarlyCSE pass invocation somewhere later in the pipeline.
Clearly, we don't have any EarlyCSE runs in module optimization passline, so this pattern isn't cleaned up...
That would perhaps better, but it will again have some compile time impact.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D106010

Details