The coloring code in WinEHPrepare queues cleanuprets' successors with the
correct color (the parent one) when it sees their cleanuppad, and so later
when iterating successors knows to skip processing cleanuprets since
they've already been queued. This latter check was incorrectly under an
'else' condition and so inadvertently was not kicking in for single-block
cleanups. This change sinks the check out of the 'else' to fix the bug.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
lgtm, thanks!
test/CodeGen/WinEH/wineh-cloning.ll | ||
---|---|---|
406 | I always like to check for define void @test10 to avoid matching against some other call that might get added later. |
I always like to check for define void @test10 to avoid matching against some other call that might get added later.