This is an archive of the discontinued LLVM Phabricator instance.

ARM: Fix assertion caused by passing bitfield struct using ABIArgInfo::getExpandWithPadding
ClosedPublic

Authored by olista01 on May 7 2014, 2:43 AM.

Details

Reviewers
t.p.northover
Summary

In cases where a struct must, according to the AAPCS, not be split between general purpose and floating point registers, we use ABIArgInfo::getExpandWithPadding to add the padding arguments. However, ExpandWithPadding does not work if the struct contains bitfields, so we instead must use ABIArgInfo::getDirect.

Diff Detail

Event Timeline

olista01 updated this revision to Diff 9150.May 7 2014, 2:43 AM
olista01 retitled this revision from to ARM: Fix assertion caused by passing bitfield struct using ABIArgInfo::getExpandWithPadding.
olista01 updated this object.
olista01 edited the test plan for this revision. (Show Details)
olista01 added a subscriber: Unknown Object (MLST).
t.p.northover accepted this revision.May 7 2014, 3:08 AM
t.p.northover added a reviewer: t.p.northover.
t.p.northover added a subscriber: t.p.northover.

Hi Oliver,

I think this looks good.

Cheers.

Tim.

This revision is now accepted and ready to land.May 7 2014, 3:08 AM
olista01 closed this revision.May 7 2014, 3:46 AM

Thanks, Committed revision 208185.