This is an archive of the discontinued LLVM Phabricator instance.

[PlaceSafepoints] Assertion on that gc_result can not have preceding phis should only apply to invoke statepoint
ClosedPublic

Authored by chenli on May 15 2015, 3:53 PM.

Details

Summary

When PlaceSafepoints pass replaces old return result with gc_result from statepoint, it asserts that gc_result can not have preceding phis in its parent block. This is only true on invoke statepoint, which terminates the block and puts its result at the beginning of the normal successor block. Call statepoint does not terminate the block and thus its result is in the same block with it. There should be no restriction on whether there are phis or not.

Diff Detail

Event Timeline

chenli updated this revision to Diff 25899.May 15 2015, 3:53 PM
chenli retitled this revision from to [PlaceSafepoints] Assertion on that gc_result can not have preceding phis should only apply to invoke statepoint.
chenli updated this object.
chenli edited the test plan for this revision. (Show Details)
chenli added reviewers: reames, igor-laevsky.
chenli added a subscriber: Unknown Object (MLST).
igor-laevsky accepted this revision.May 15 2015, 4:04 PM
igor-laevsky edited edge metadata.

lgtm

This revision is now accepted and ready to land.May 15 2015, 4:04 PM
chenli closed this revision.May 18 2015, 12:06 PM