Skip to content

Commit 7e03fd2

Browse files
committed
Disable checked_cast_br jump threading in ossa temporarily
This was enabled in ossa recently. There are 2 bugs: - In CheckedCastBrJumpThreading::Edit::canRAUW, we don't check for canFixUpOwnershipForRAUW. - Currently modifyCFGForSuccessPreds has to be called after modifyCFGForFailurePreds. But modifyCFGForFailurePreds can modify cfg in a way such that OSSA RAUW can no longer be done in modifyCFGForSuccessPreds. This will require an algorithmic change, disabling temporarily to unblock rdar://121484645
1 parent 28f27c3 commit 7e03fd2

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

lib/SILOptimizer/Utils/CheckedCastBrJumpThreading.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,11 @@ bool tryCheckedCastBrJumpThreading(
804804
SmallVectorImpl<SILBasicBlock *> &BlocksForWorklist,
805805
bool EnableOSSARewriteTerminator) {
806806

807+
// TODO: Disable for OSSA temporarily
808+
if (Fn->hasOwnership()) {
809+
return false;
810+
}
811+
807812
CheckedCastBrJumpThreading CCBJumpThreading(Fn, DT, deBlocks,
808813
BlocksForWorklist,
809814
EnableOSSARewriteTerminator);

0 commit comments

Comments
 (0)