This is an archive of the discontinued LLVM Phabricator instance.

ARM: Error out if float-ab=hard and abi=apcs-gnu on macho platforms
ClosedPublic

Authored by ahatanak on Aug 25 2015, 4:02 PM.

Details

Reviewers
vsk
Summary

This patch corrects http://reviews.llvm.org/D12155, which didn't take into account the fact that aapcs ABI can be selected on darwin platforms. The new patch errors out only when the ABI is APCS and the float-abi is hard.

Diff Detail

Event Timeline

ahatanak updated this revision to Diff 33144.Aug 25 2015, 4:02 PM
ahatanak retitled this revision from to ARM: Error out if float-ab=hard and abi=apcs-gnu on macho platforms.
ahatanak updated this object.
ahatanak added a reviewer: vsk.
ahatanak added a subscriber: cfe-commits.
vsk edited edge metadata.Aug 25 2015, 4:57 PM

Yep, this looks fine. Out of curiosity, what happens if we permit the MachO + !useAAPCS + FloatABI=hard case?

vsk accepted this revision.Aug 25 2015, 4:58 PM
vsk edited edge metadata.
This revision is now accepted and ready to land.Aug 25 2015, 4:58 PM

float-abi=hard has no effect on the backend code-generation if the ABI is APCS, meaning GPRs will be used to pass floating point arguments. This patch makes changes to the driver so that the error is detected in the front-end rather than silently ignoring the option in the backend.

vsk closed this revision.Aug 1 2016, 6:17 PM

Done in clang/r246054