summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ARMAttributeParser.cpp
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2016-01-15 10:28:25 +0000
committerBradley Smith <bradley.smith@arm.com>2016-01-15 10:28:25 +0000
commit48b93e1f21e52c1a933b44fbe22f52de94eef566 (patch)
tree823c0b19d72b1b6547eaf65c2312dd9e9a052494 /llvm/tools/llvm-readobj/ARMAttributeParser.cpp
parent42f6e90a43333b7b5fa5168a178678f4360d27ff (diff)
downloadbcm5719-llvm-48b93e1f21e52c1a933b44fbe22f52de94eef566.tar.gz
bcm5719-llvm-48b93e1f21e52c1a933b44fbe22f52de94eef566.zip
[ARM] Add DSP build attribute and extension targeting
llvm-svn: 257885
Diffstat (limited to 'llvm/tools/llvm-readobj/ARMAttributeParser.cpp')
-rw-r--r--llvm/tools/llvm-readobj/ARMAttributeParser.cpp11
1 files changed, 11 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" };
OpenPOWER on IntegriCloud