This is an archive of the discontinued LLVM Phabricator instance.

[mips] Zero-sized structs cannot be ignored in MipsABIInfo::classifyReturnType() for O32
ClosedPublic

Authored by dsanders on Aug 6 2014, 9:30 AM.

Details

Summary

They are returned indirectly which causes the other arguments to move to
the next argument slot.

With this, utils/ABITest does not discover any failing cases in the first
500 attempts on big/little endian for O32. Previously some of these failed.
Also tested N32/N64 little endian (big endian has other known issues) with
no issues.

Diff Detail

Event Timeline

dsanders updated this revision to Diff 12240.Aug 6 2014, 9:30 AM
dsanders retitled this revision from to [mips] Zero-sized structs cannot be ignored in MipsABIInfo::classifyReturnType() for O32.
dsanders updated this object.
dsanders edited the test plan for this revision. (Show Details)
dsanders added a subscriber: Unknown Object (MLST).
dsanders updated this revision to Diff 12763.Aug 21 2014, 6:06 AM

No longer affects N32/N64.
Test also covers N32.

atanasyan accepted this revision.Aug 25 2014, 2:35 AM
atanasyan added a reviewer: atanasyan.
atanasyan added a subscriber: atanasyan.

LGTM

This revision is now accepted and ready to land.Aug 25 2014, 2:35 AM
dsanders closed this revision.Sep 4 2014, 6:37 AM