summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2016-01-25 11:26:11 +0000
committerBradley Smith <bradley.smith@arm.com>2016-01-25 11:26:11 +0000
commitd27a6a70721b356d39c29bcf59fb7969969561fe (patch)
tree0ede9885fc4c209a8e638372d4edf5d8ed6e0d3a /llvm/lib
parentf277c8a5ea3081f23f25f92ffbdef42e82194335 (diff)
downloadbcm5719-llvm-d27a6a70721b356d39c29bcf59fb7969969561fe.tar.gz
bcm5719-llvm-d27a6a70721b356d39c29bcf59fb7969969561fe.zip
[ARM] Add DSP build attribute and extension targeting
This patch was originally committed as r257885, but was reverted due to windows failures. The cause of these failures has been fixed under r258677, hence re-committing the original patch. llvm-svn: 258683
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Support/ARMBuildAttrs.cpp1
-rw-r--r--llvm/lib/Target/ARM/ARMAsmPrinter.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Support/ARMBuildAttrs.cpp b/llvm/lib/Support/ARMBuildAttrs.cpp
index 960a0f13c67..6d34f76f0c2 100644
--- a/llvm/lib/Support/ARMBuildAttrs.cpp
+++ b/llvm/lib/Support/ARMBuildAttrs.cpp
@@ -54,6 +54,7 @@ const struct {
{ ARMBuildAttrs::ABI_FP_16bit_format, "Tag_ABI_FP_16bit_format" },
{ ARMBuildAttrs::MPextension_use, "Tag_MPextension_use" },
{ ARMBuildAttrs::DIV_use, "Tag_DIV_use" },
+ { ARMBuildAttrs::DSP_extension, "Tag_DSP_extension" },
{ ARMBuildAttrs::nodefaults, "Tag_nodefaults" },
{ ARMBuildAttrs::also_compatible_with, "Tag_also_compatible_with" },
{ ARMBuildAttrs::T2EE_use, "Tag_T2EE_use" },
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
index 84b494a88f6..9247160dd75 100644
--- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -807,6 +807,9 @@ void ARMAsmPrinter::emitAttributes() {
if (STI.hasDivideInARMMode() && !STI.hasV8Ops())
ATS.emitAttribute(ARMBuildAttrs::DIV_use, ARMBuildAttrs::AllowDIVExt);
+ if (STI.hasDSP() && isV8M(&STI))
+ ATS.emitAttribute(ARMBuildAttrs::DSP_extension, ARMBuildAttrs::Allowed);
+
if (MMI) {
if (const Module *SourceModule = MMI->getModule()) {
// ABI_PCS_wchar_t to indicate wchar_t width
OpenPOWER on IntegriCloud