In UpdateAnalysisInformation, when passed in predecessors and the Old Basic
Block and the NewBasicBlock (that is split from the old one), we try to identify
if the loopheader has changed. The loop header changes to newBB if the OldBB was
actually the loop header.
This patch checks for that before changing the loop header. Specifically, we saw
a failure in IRCE where the loop header was changed incorrectly through a call
to SplitLandingPadPredecessors.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 6947 Build 6947: arc lint + arc unit
Event Timeline
Comment Actions
One thing to mention: I think currently there's no case where SplitMakesNewLoopHeader is true when the OldBB is not a header in UpdateAnalysisInformation. This happens only in IRCE. However, it is possible at some point, when a subloop does not have dedicated exits, and we incorrectly update the header of the subloop.