This is an archive of the discontinued LLVM Phabricator instance.

Re-land [Codegen/Statepoint] Allow usage of registers for non gc deopt values.
ClosedPublic

Authored by skatkov on Apr 9 2020, 6:28 AM.

Details

Summary

The change introduces the usage of physical registers for non-gc deopt values.
This require runtime support to know how to take a value from register.
By default usage is off and can be switched on by option.

The change also introduces additional fix-up patch which forces the spilling
of caller saved registers (clobbered after the call) and re-writes statepoint
to use spill slots instead of caller saved registers.

Diff Detail

Event Timeline

skatkov created this revision.Apr 9 2020, 6:28 AM

This is the same patch as https://reviews.llvm.org/D77371, the fix will uploaded over to be able to see the difference.

dantrushin accepted this revision.Apr 9 2020, 6:54 AM
This revision is now accepted and ready to land.Apr 9 2020, 6:54 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 9 2020, 8:20 PM