This is an archive of the discontinued LLVM Phabricator instance.

[Statepoints] Mark gc.result and gc.relocate as readonly
ClosedPublic

Authored by igor-laevsky on Nov 5 2015, 10:02 AM.

Details

Summary

Semantically gc.result and gc.relocate can be considered as readonly functions. This will allow llvm more freedom is finding optimal placement for this intrinsics. The only thing we want to prevent is reordering of the gc.relocates across different statepoints. And this shouldn't happen since we model statepoints as writing calls.

Diff Detail

Repository
rL LLVM

Event Timeline

igor-laevsky retitled this revision from to [Statepoints] Mark gc.result and gc.relocate as readonly.
igor-laevsky updated this object.
igor-laevsky added reviewers: sanjoy, reames.
igor-laevsky set the repository for this revision to rL LLVM.
igor-laevsky added a subscriber: llvm-commits.
reames accepted this revision.Nov 5 2015, 4:18 PM
reames edited edge metadata.

LGTM (now that the lowering has been fixed, thanks!)

This revision is now accepted and ready to land.Nov 5 2015, 4:18 PM
This revision was automatically updated to reflect the committed changes.