Skip to content

Commit bdd17b8

Browse files
committed
Remove a reference to rdar://problem/10664933
The original commit, and the comments in the code already provide sufficient context. But for posterity, there's a tiny bit more that might be useful if someone is digging here in the future: > This is related to <rdar://problem/10318439> Lower invokes into terminating > machine instructions. > > The return value from a function call is live in to that function call's > landing pad. The landing pad is shared with a later call, and the variable is > undef on the first exceptional edge. > > Our computation of the last legal split point gets confused because the > return value is live-out from the calling block, and live-in to the landing > pad, but it is not live on the edge itself. > > Fixed in r147911 and r147912.
1 parent 8475d0a commit bdd17b8

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

llvm/lib/CodeGen/SplitKit.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ InsertPointAnalysis::computeLastInsertPoint(const LiveInterval &CurLI,
126126
// If the value leaving MBB was defined after the call in MBB, it can't
127127
// really be live-in to the landing pad. This can happen if the landing pad
128128
// has a PHI, and this register is undef on the exceptional edge.
129-
// <rdar://problem/10664933>
130129
if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd)
131130
return LIP.first;
132131

0 commit comments

Comments
 (0)