<div dir="ltr">This caused PR23375. It's possible we're holding something wrong (we didn't change how we hold things recently), but since this was advertised as not changing behavior I reverted it for now in r236159.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 28, 2015 at 4:18 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: echristo<br>
Date: Tue Apr 28 18:18:33 2015<br>
New Revision: 236060<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=236060&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=236060&view=rev</a><br>
Log:<br>
Stop emitting the soft-float and soft-float-abi target features<br>
for ARM while the backend will only ignore them. No functional<br>
change intended.<br>
<br>
Modified:<br>
cfe/trunk/lib/Driver/Tools.cpp<br>
<br>
Modified: cfe/trunk/lib/Driver/Tools.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=236060&r1=236059&r2=236060&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=236060&r1=236059&r2=236060&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Driver/Tools.cpp (original)<br>
+++ cfe/trunk/lib/Driver/Tools.cpp Tue Apr 28 18:18:33 2015<br>
@@ -714,29 +714,6 @@ static void getARMTargetFeatures(const D<br>
const ArgList &Args,<br>
std::vector<const char *> &Features,<br>
bool ForAS) {<br>
- StringRef FloatABI = tools::arm::getARMFloatABI(D, Args, Triple);<br>
- if (!ForAS) {<br>
- // FIXME: Note, this is a hack, the LLVM backend doesn't actually use these<br>
- // yet (it uses the -mfloat-abi and -msoft-float options), and it is<br>
- // stripped out by the ARM target. We should probably pass this a new<br>
- // -target-option, which is handled by the -cc1/-cc1as invocation.<br>
- //<br>
- // FIXME2: For consistency, it would be ideal if we set up the target<br>
- // machine state the same when using the frontend or the assembler. We don't<br>
- // currently do that for the assembler, we pass the options directly to the<br>
- // backend and never even instantiate the frontend TargetInfo. If we did,<br>
- // and used its handleTargetFeatures hook, then we could ensure the<br>
- // assembler and the frontend behave the same.<br>
-<br>
- // Use software floating point operations?<br>
- if (FloatABI == "soft")<br>
- Features.push_back("+soft-float");<br>
-<br>
- // Use software floating point argument passing?<br>
- if (FloatABI != "hard")<br>
- Features.push_back("+soft-float-abi");<br>
- }<br>
-<br>
// Honor -mfpu=.<br>
if (const Arg *A = Args.getLastArg(options::OPT_mfpu_EQ))<br>
getARMFPUFeatures(D, A, Args, Features);<br>
@@ -745,6 +722,7 @@ static void getARMTargetFeatures(const D<br>
<br>
// Setting -msoft-float effectively disables NEON because of the GCC<br>
// implementation, although the same isn't true of VFP or VFP3.<br>
+ StringRef FloatABI = tools::arm::getARMFloatABI(D, Args, Triple);<br>
if (FloatABI == "soft") {<br>
Features.push_back("-neon");<br>
// Also need to explicitly disable features which imply NEON.<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>