<div dir="ltr">A couple things wrong here:<div>1. This test fails if ARM is not a registered target (add "// REQUIRES: arm-registered-target" to fix)<br><div>2. Clang tests shouldn't test generated assembly, that's what LLVM tests are for</div>

<div>3. Driver tests shouldn't do IR generation, which this test does</div></div><div><br></div><div>I'm reverting this in r200242 for now, but feel free to recommit a test in test/CodeGen that verifies you get the right attribute bits in the IR, if that's how this gets passed down to LLVM.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 27, 2014 at 10:44 AM, Artyom Skrobov <span dir="ltr"><<a href="mailto:Artyom.Skrobov@arm.com" target="_blank">Artyom.Skrobov@arm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: askrobov<br>
Date: Mon Jan 27 12:44:25 2014<br>
New Revision: 200233<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=200233&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=200233&view=rev</a><br>
Log:<br>
Cortex-M3 and Cortex-M4 should not enable hwdiv-arm<br>
<br>
Modified:<br>
    cfe/trunk/lib/Basic/Targets.cpp<br>
    cfe/trunk/test/Driver/arm-cortex-cpus.c<br>
<br>
Modified: cfe/trunk/lib/Basic/Targets.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=200233&r1=200232&r2=200233&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=200233&r1=200232&r2=200233&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Basic/Targets.cpp (original)<br>
+++ cfe/trunk/lib/Basic/Targets.cpp Mon Jan 27 12:44:25 2014<br>
@@ -3832,14 +3832,15 @@ public:<br>
       Features["hwdiv"] = true;<br>
       Features["hwdiv-arm"] = true;<br>
       Features["crc"] = true;<br>
-    } else if (CPU == "cortex-r5" || CPU == "cortex-m3" ||<br>
-               CPU == "cortex-m4" ||<br>
+    } else if (CPU == "cortex-r5" ||<br>
                // Enable the hwdiv extension for all v8a AArch32 cores by<br>
                // default.<br>
                ArchName == "armv8a" || ArchName == "armv8" ||<br>
                ArchName == "thumbv8a" || ArchName == "thumbv8") {<br>
       Features["hwdiv"] = true;<br>
       Features["hwdiv-arm"] = true;<br>
+    } else if (CPU == "cortex-m3" || CPU == "cortex-m4") {<br>
+      Features["hwdiv"] = true;<br>
     }<br>
   }<br>
<br>
<br>
Modified: cfe/trunk/test/Driver/arm-cortex-cpus.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/arm-cortex-cpus.c?rev=200233&r1=200232&r2=200233&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/arm-cortex-cpus.c?rev=200233&r1=200232&r2=200233&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Driver/arm-cortex-cpus.c (original)<br>
+++ cfe/trunk/test/Driver/arm-cortex-cpus.c Mon Jan 27 12:44:25 2014<br>
@@ -158,3 +158,9 @@<br>
 // RUN: %clang -target arm -mcpu=cortex-a53 -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV8A-THUMB %s<br>
 // RUN: %clang -target arm -mcpu=cortex-a57 -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV8A-THUMB %s<br>
 // CHECK-CPUV8A-THUMB: "-cc1"{{.*}} "-triple" "thumbv8-{{.*}}<br>
+<br>
+// ================== Check that Cortex-M cores don't enable hwdiv-arm (and don't emit Tag_DIV_use)<br>
+// RUN: %clang -target arm-linux-gnueabi -mcpu=cortex-m3 -S %s -o - | FileCheck -check-prefix=CHECK-HWDIV-ARM %s<br>
+// RUN: %clang -target arm-linux-gnueabi -mcpu=cortex-m4 -S %s -o - | FileCheck -check-prefix=CHECK-HWDIV-ARM %s<br>
+// CHECK-HWDIV-ARM-NOT: .eabi_attribute        44<br>
+<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>