This is an archive of the discontinued LLVM Phabricator instance.

[Statepoint Lowering] Allow other than N byte sized types in deopt bundle
ClosedPublic

Authored by yrouban on Apr 6 2021, 7:40 PM.

Details

Summary

I do not see any bit-width restriction from the point of the LLVM Lang Ref - Operand Bundles on the types of the deopt bundle operands. Statepoint Lowering seems to be able to work with any types.
This patch relaxes the two related assertions and adds a new test for this change.

Diff Detail

Event Timeline

yrouban created this revision.Apr 6 2021, 7:40 PM
yrouban requested review of this revision.Apr 6 2021, 7:40 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 6 2021, 7:40 PM
reames accepted this revision.Apr 6 2021, 8:04 PM

LGTM, looks straight forward.

Though, can you share a bit of motivation? I'm curious where this is useful.

This revision is now accepted and ready to land.Apr 6 2021, 8:04 PM

LGTM, looks straight forward.

Though, can you share a bit of motivation? I'm curious where this is useful.

I found this constraint accidentally while preparing a test for D100009 where I wanted to check that an arbitrary sized types are ok for spill slot size promotion.