This is an archive of the discontinued LLVM Phabricator instance.

[Statepoints] Properly handle const base pointer.
ClosedPublic

Authored by dantrushin on Sep 7 2020, 11:23 AM.

Details

Summary

Current code in InstEmitter assumes all GC pointers are either
VRegs or stack slots - hence, taking only one operand.
But it is possible to have constant base, in which case it
occupies two machine operands.

Add a convinience function to StackMaps to get index of next
meta argument and use it in InsrEmitter to properly advance to
the next statepoint meta operand.

Diff Detail

Event Timeline

dantrushin created this revision.Sep 7 2020, 11:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 7 2020, 11:23 AM
dantrushin requested review of this revision.Sep 7 2020, 11:23 AM
reames accepted this revision.Sep 8 2020, 2:04 PM

LGTM. Good catch, and nicely structured cleanup in the process.

This revision is now accepted and ready to land.Sep 8 2020, 2:04 PM
This revision was landed with ongoing or failed builds.Sep 9 2020, 12:08 AM
This revision was automatically updated to reflect the committed changes.