This is an archive of the discontinued LLVM Phabricator instance.

[FuzzMutate] Correctly split landingpad blocks
ClosedPublic

Authored by igor-laevsky on Dec 12 2017, 6:08 AM.

Details

Summary

When splitting block with landingpad instruction we will make a conditional branch back into it. This is wrong because landingpad blocks can only be branched from the exception handling instructions.
In this change I added early bailout from the split operation for the landingpad blocks. That way we will split them but will not add conditional branch at the end. On the next iterations we may split the new block which will no longer be a landingpad and we will treat it as usual.

Diff Detail

Repository
rL LLVM

Event Timeline

igor-laevsky created this revision.Dec 12 2017, 6:08 AM
bogner accepted this revision.Dec 12 2017, 3:25 PM
This revision is now accepted and ready to land.Dec 12 2017, 3:25 PM
This revision was automatically updated to reflect the committed changes.