This is an archive of the discontinued LLVM Phabricator instance.

Lower statepoints with multi-def targets.
ClosedPublic

Authored by pgavlin on Nov 13 2015, 1:40 PM.

Details

Reviewers
reames
sanjoy
Summary

Statepoint lowering currently expects that the target method of a statepoint only defines a single value. This precludes using statepoints with ABIs that return values in multiple registers (e.g. the SysV AMD64 ABI). This change adds support for lowering statepoints with mutli-def targets.

Diff Detail

Event Timeline

pgavlin updated this revision to Diff 40175.Nov 13 2015, 1:40 PM
pgavlin retitled this revision from to Lower statepoints with multi-def targets..
pgavlin updated this object.
pgavlin added reviewers: reames, sanjoy.
pgavlin added a subscriber: llvm-commits.
reames accepted this revision.Nov 16 2015, 1:50 PM
reames edited edge metadata.

LGTM - I can't really assess the correctness of the code for the struct return, but this doesn't appear to be breaking anything outside that use case.

This revision is now accepted and ready to land.Nov 16 2015, 1:50 PM
pgavlin closed this revision.Nov 17 2015, 8:07 AM

Committed in r253339.