This is an archive of the discontinued LLVM Phabricator instance.

Move some ARM-specific code from CGCall.cpp to TargetInfo.cpp
ClosedPublic

Authored by olista01 on Aug 26 2014, 7:37 AM.

Details

Reviewers
rnk
Summary

This tidies up some ARM-specific code added by r208417 to move it out of the target-independent parts of clang into TargetInfo.cpp. This also has the advantage that we can now flatten struct arguments to variadic AAPCS functions.

Diff Detail

Event Timeline

olista01 updated this revision to Diff 12946.Aug 26 2014, 7:37 AM
olista01 retitled this revision from to Move some ARM-specific code from CGCall.cpp to TargetInfo.cpp.
olista01 updated this object.
olista01 edited the test plan for this revision. (Show Details)
olista01 added a reviewer: rnk.
olista01 set the repository for this revision to rL LLVM.
olista01 added a subscriber: Unknown Object (MLST).
rnk accepted this revision.Aug 26 2014, 11:39 AM
rnk edited edge metadata.

lgtm

lib/CodeGen/CGCall.cpp
1655–1657

It sounds like this comment, particularly the part about them being semantically identical, is no longer true. It sounds like the ARM backend now pattern matches for HFAs and passes them differently. Can you please fix up the comment to reflect the current reality?

1659–1660

Personally, I don't think we should flatten 'Direct' arguments. Chris Lattner added this functionality long ago in 2010. I think such arguments should probably be changed to use 'Expand', but that's a much larger project.

lib/CodeGen/TargetInfo.cpp
4714

Needs wrapping

This revision is now accepted and ready to land.Aug 26 2014, 11:39 AM
olista01 closed this revision.Aug 27 2014, 3:52 AM

Thanks, committed revision 216535 with changes as suggested.