summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj
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/tools/llvm-readobj
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/tools/llvm-readobj')
-rw-r--r--llvm/tools/llvm-readobj/ARMAttributeParser.cpp11
-rw-r--r--llvm/tools/llvm-readobj/ARMAttributeParser.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/ARMAttributeParser.cpp b/llvm/tools/llvm-readobj/ARMAttributeParser.cpp
index 688d349d7ec..d490510abe7 100644
--- a/llvm/tools/llvm-readobj/ARMAttributeParser.cpp
+++ b/llvm/tools/llvm-readobj/ARMAttributeParser.cpp
@@ -63,6 +63,7 @@ ARMAttributeParser::DisplayRoutines[] = {
ATTRIBUTE_HANDLER(ABI_FP_16bit_format),
ATTRIBUTE_HANDLER(MPextension_use),
ATTRIBUTE_HANDLER(DIV_use),
+ ATTRIBUTE_HANDLER(DSP_extension),
ATTRIBUTE_HANDLER(T2EE_use),
ATTRIBUTE_HANDLER(Virtualization_use),
ATTRIBUTE_HANDLER(nodefaults)
@@ -517,6 +518,16 @@ void ARMAttributeParser::DIV_use(AttrType Tag, const uint8_t *Data,
PrintAttribute(Tag, Value, ValueDesc);
}
+void ARMAttributeParser::DSP_extension(AttrType Tag, const uint8_t *Data,
+ uint32_t &Offset) {
+ static const char *const Strings[] = { "Not Permitted", "Permitted" };
+
+ uint64_t Value = ParseInteger(Data, Offset);
+ StringRef ValueDesc =
+ (Value < array_lengthof(Strings)) ? Strings[Value] : nullptr;
+ PrintAttribute(Tag, Value, ValueDesc);
+}
+
void ARMAttributeParser::T2EE_use(AttrType Tag, const uint8_t *Data,
uint32_t &Offset) {
static const char *const Strings[] = { "Not Permitted", "Permitted" };
diff --git a/llvm/tools/llvm-readobj/ARMAttributeParser.h b/llvm/tools/llvm-readobj/ARMAttributeParser.h
index f924c835d3e..a58285688f2 100644
--- a/llvm/tools/llvm-readobj/ARMAttributeParser.h
+++ b/llvm/tools/llvm-readobj/ARMAttributeParser.h
@@ -100,6 +100,8 @@ class ARMAttributeParser {
uint32_t &Offset);
void DIV_use(ARMBuildAttrs::AttrType Tag, const uint8_t *Data,
uint32_t &Offset);
+ void DSP_extension(ARMBuildAttrs::AttrType Tag, const uint8_t *Data,
+ uint32_t &Offset);
void T2EE_use(ARMBuildAttrs::AttrType Tag, const uint8_t *Data,
uint32_t &Offset);
void Virtualization_use(ARMBuildAttrs::AttrType Tag, const uint8_t *Data,
OpenPOWER on IntegriCloud