This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Use TargetParser to determine FPU subtarget features
ClosedPublic

Authored by john.brawn on Jun 4 2015, 4:29 AM.

Details

Summary

The main effect of this is to fix anomalies where certain -mfpu options didn't disable everything that they should causing strange behaviour when combined with -mcpu or -march values that themselves enabled fpu subtarget features, e.g. -mfpu=fpv5-dp-d16 with -march=armv7em previously behaved the same as -mfpu=fpv5-sp-d16 due to fp-only-sp not being disabled.

Invalid -mfpu options now also give an error, which is consistent with the handling of the .fpu directive.

Diff Detail

Repository
rL LLVM

Event Timeline

john.brawn updated this revision to Diff 27107.Jun 4 2015, 4:29 AM
john.brawn retitled this revision from to [ARM] Use TargetParser to determine FPU subtarget features.
john.brawn updated this object.
john.brawn edited the test plan for this revision. (Show Details)
john.brawn added a reviewer: rengolin.
john.brawn set the repository for this revision to rL LLVM.
john.brawn added a subscriber: Unknown Object (MLST).
jmolloy accepted this revision.Jun 4 2015, 5:47 AM
jmolloy added a reviewer: jmolloy.
jmolloy added a subscriber: jmolloy.

Hi John,

This looks good to me. This is a nice cleanup!

Cheers,

James

This revision is now accepted and ready to land.Jun 4 2015, 5:47 AM
rengolin edited edge metadata.Jun 4 2015, 5:52 AM

Once D10237 is good, we'll look into this one.

Tests look ok, too.

cheers,
--renato

lib/Driver/Tools.cpp
545 ↗(On Diff #27107)

getFPUFeatures should probably go somewhere other than ARMTargetParser...

rengolin accepted this revision.Jun 4 2015, 10:05 AM
rengolin edited edge metadata.

We're not moving that method from the parser now, so LGTM. Thanks!

This revision was automatically updated to reflect the committed changes.