Page MenuHomePhabricator

[WinEH] Prevent EH state numbering from skipping nested cleanup pads that never return
ClosedPublic

Authored by andrew.w.kaylor on Feb 12 2016, 12:20 PM.

Details

Summary

This patch addresses a problem with EH state numbering for C++ EH and SEH where a nested cleanup pad that is post-dominated by an unreachable instruction will be skipped by the EH state numbering routines. This leads to an assertion failure later in the code generation process when we try to retrieve the EH state for that cleanup pad.

Diff Detail

Repository
rL LLVM

Event Timeline

andrew.w.kaylor retitled this revision from to [WinEH] Prevent EH state numbering from skipping nested cleanup pads that never return.
andrew.w.kaylor updated this object.
andrew.w.kaylor added a reviewer: majnemer.
andrew.w.kaylor set the repository for this revision to rL LLVM.
andrew.w.kaylor added a subscriber: llvm-commits.
majnemer accepted this revision.Feb 12 2016, 12:32 PM
majnemer edited edge metadata.

LGTM

This revision is now accepted and ready to land.Feb 12 2016, 12:32 PM
This revision was automatically updated to reflect the committed changes.