summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2016-04-26 05:59:08 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2016-04-26 05:59:08 +0000
commit51df5fae4aba37be7443c6d3df404ee7f31d7f95 (patch)
tree5920674d610762518724ea788884dbd1d636ece6 /llvm
parente53e6e9f3769e96c1446d2e245f0caf4ca31a383 (diff)
downloadbcm5719-llvm-51df5fae4aba37be7443c6d3df404ee7f31d7f95.tar.gz
bcm5719-llvm-51df5fae4aba37be7443c6d3df404ee7f31d7f95.zip
Symbolize operand bundle blocks for bcanalyzer
Reviewers: joker.eph Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19523 llvm-svn: 267524
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/Bitcode/operand-bundles-bc-analyzer.ll27
-rw-r--r--llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp8
2 files changed, 35 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/operand-bundles-bc-analyzer.ll b/llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
new file mode 100644
index 00000000000..8f7aa37cbed
--- /dev/null
+++ b/llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
@@ -0,0 +1,27 @@
+; RUN: llvm-as < %s | llvm-bcanalyzer -dump -disable-histogram | FileCheck %s
+
+; CHECK: <OPERAND_BUNDLE_TAGS_BLOCK
+; CHECK-NEXT: <OPERAND_BUNDLE_TAG
+; CHECK-NEXT: <OPERAND_BUNDLE_TAG
+; CHECK-NEXT: <OPERAND_BUNDLE_TAG
+; CHECK-NEXT: <OPERAND_BUNDLE_TAG
+; CHECK-NEXT: <OPERAND_BUNDLE_TAG
+; CHECK-NEXT: </OPERAND_BUNDLE_TAGS_BLOCK
+
+; CHECK: <FUNCTION_BLOCK
+; CHECK: <OPERAND_BUNDLE
+; CHECK: <OPERAND_BUNDLE
+; CHECK-NOT: <OPERAND_BUNDLE
+; CHECK: </FUNCTION_BLOCK
+
+; CHECK: Block ID #{{[0-9]+}} (OPERAND_BUNDLE_TAGS_BLOCK)
+
+declare void @callee0()
+
+define void @f0(i32* %ptr) {
+ entry:
+ %l = load i32, i32* %ptr
+ %x = add i32 42, 1
+ call void @callee0() [ "foo"(i32 42, i64 100, i32 %x), "bar"(float 0.000000e+00, i64 100, i32 %l) ]
+ ret void
+}
diff --git a/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
index de0bf8ceda0..f30944661e9 100644
--- a/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
+++ b/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
@@ -105,6 +105,7 @@ static const char *GetBlockName(unsigned BlockID,
switch (BlockID) {
default: return nullptr;
+ case bitc::OPERAND_BUNDLE_TAGS_BLOCK_ID: return "OPERAND_BUNDLE_TAGS_BLOCK";
case bitc::MODULE_BLOCK_ID: return "MODULE_BLOCK";
case bitc::PARAMATTR_BLOCK_ID: return "PARAMATTR_BLOCK";
case bitc::PARAMATTR_GROUP_BLOCK_ID: return "PARAMATTR_GROUP_BLOCK_ID";
@@ -279,6 +280,7 @@ static const char *GetCodeName(unsigned CodeID, unsigned BlockID,
STRINGIFY_CODE(FUNC_CODE, INST_CALL)
STRINGIFY_CODE(FUNC_CODE, DEBUG_LOC)
STRINGIFY_CODE(FUNC_CODE, INST_GEP)
+ STRINGIFY_CODE(FUNC_CODE, OPERAND_BUNDLE)
}
case bitc::VALUE_SYMTAB_BLOCK_ID:
switch (CodeID) {
@@ -364,6 +366,12 @@ static const char *GetCodeName(unsigned CodeID, unsigned BlockID,
case bitc::USELIST_CODE_DEFAULT: return "USELIST_CODE_DEFAULT";
case bitc::USELIST_CODE_BB: return "USELIST_CODE_BB";
}
+
+ case bitc::OPERAND_BUNDLE_TAGS_BLOCK_ID:
+ switch(CodeID) {
+ default: return nullptr;
+ case bitc::OPERAND_BUNDLE_TAG: return "OPERAND_BUNDLE_TAG";
+ }
}
#undef STRINGIFY_CODE
}
OpenPOWER on IntegriCloud