You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix an edge case in JointPostDominanceSetComputer::findJointPostDominatingSet
While computing blocksThatLeakIfNeverVisited by processing the worklist,
we should also add all the successors of a predecessor block that was in
the dominatedBlockSet initially. If not we will end up with incorrect
result for a control flow like this :
dominating block : bb1
dominated block : bb2
+----+
| bb1|
+----+
+------------>|
| v
| +-+--+
| | bb2| -----+
| +-+--+ |
| | |
| v v
| +-+--+ +-+--+
| |bb3 | | bb4|
| +--+-+ +----+
| |
| |
+--------------+
Without the fix blocksThatLeakIfNeverVisited will not have bb4.
The sil test for this fix is rle_redundantload_does_not_postdominate2
in redundant_load_elim_ossa_complex.sil
0 commit comments