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
call wa needs to keep certain BBs without deleting/merging, etc. visa optimization ifcvt
merged them, therefore, causing assertion in the later phase of callwa.
This submit does:
1. fixed assertion by setting BB type to G4_BB_KEEP_TYPE, so that ifcvt can
avoid if-conversion for BBs involving this type.
2. call wa inserts join and set this join's jip to the next join instruction.
Although this is correct functionally, it breaks if-conversion as if-conversion
only checks control-flow and ignore any jump due to jip. Igorning jip caused
SWSB assertion later.
As the new join inserted by call wa will never jump, it is safe to set its JIP
to null. Doing so will not break ifcvt. Thus, SWSB assertion will not happen.
0 commit comments