summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-06-06 20:37:17 +0000
committerZachary Turner <zturner@google.com>2016-06-06 20:37:17 +0000
commit25e8b05d031f2e1fd2c9420a7cdafdcdbf1563ff (patch)
tree8c19eb17774e027654cc4d9480fdcf25518de07e /llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp
parent7120a478fafa6157cadcfae68e87ae4cafbc125e (diff)
downloadbcm5719-llvm-25e8b05d031f2e1fd2c9420a7cdafdcdbf1563ff.tar.gz
bcm5719-llvm-25e8b05d031f2e1fd2c9420a7cdafdcdbf1563ff.zip
[llvm-pdbdump] Dump stream sizes and stream blocks to yaml.
llvm-svn: 271940
Diffstat (limited to 'llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp')
-rw-r--r--llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp
index a06a22d93ed..d60ccd7ebbd 100644
--- a/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp
+++ b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp
@@ -45,6 +45,13 @@ Error YAMLOutputStyle::dumpStreamSummary() {
if (!opts::DumpStreamSummary)
return Error::success();
+ std::vector<yaml::StreamSizeEntry> Sizes;
+ for (uint32_t I = 0; I < File.getNumStreams(); ++I) {
+ yaml::StreamSizeEntry Entry;
+ Entry.Size = File.getStreamByteSize(I);
+ Sizes.push_back(Entry);
+ }
+ Obj.StreamSizes.emplace(Sizes);
return Error::success();
}
@@ -52,6 +59,15 @@ Error YAMLOutputStyle::dumpStreamBlocks() {
if (!opts::DumpStreamBlocks)
return Error::success();
+ std::vector<yaml::StreamMapEntry> Blocks;
+ for (uint32_t I = 0; I < File.getNumStreams(); ++I) {
+ yaml::StreamMapEntry Entry;
+ auto BlockList = File.getStreamBlockList(I);
+ Entry.Blocks.assign(BlockList.begin(), BlockList.end());
+ Blocks.push_back(Entry);
+ }
+ Obj.StreamMap.emplace(Blocks);
+
return Error::success();
}
OpenPOWER on IntegriCloud