99#include " BitcodeReader.h"
1010#include " llvm/ADT/IndexedMap.h"
1111#include " llvm/Support/Error.h"
12+ #include " llvm/Support/TimeProfiler.h"
1213#include " llvm/Support/raw_ostream.h"
1314#include < optional>
1415
@@ -672,6 +673,7 @@ llvm::Error ClangDocBitcodeReader::readRecord(unsigned ID, T I) {
672673
673674template <>
674675llvm::Error ClangDocBitcodeReader::readRecord (unsigned ID, Reference *I) {
676+ llvm::TimeTraceScope (" Reducing infos" , " readRecord" );
675677 Record R;
676678 llvm::StringRef Blob;
677679 llvm::Expected<unsigned > MaybeRecID = Stream.readRecord (ID, R, &Blob);
@@ -683,6 +685,7 @@ llvm::Error ClangDocBitcodeReader::readRecord(unsigned ID, Reference *I) {
683685// Read a block of records into a single info.
684686template <typename T>
685687llvm::Error ClangDocBitcodeReader::readBlock (unsigned ID, T I) {
688+ llvm::TimeTraceScope (" Reducing infos" , " readBlock" );
686689 if (llvm::Error Err = Stream.EnterSubBlock (ID))
687690 return Err;
688691
@@ -713,6 +716,7 @@ llvm::Error ClangDocBitcodeReader::readBlock(unsigned ID, T I) {
713716
714717template <typename T>
715718llvm::Error ClangDocBitcodeReader::readSubBlock (unsigned ID, T I) {
719+ llvm::TimeTraceScope (" Reducing infos" , " readSubBlock" );
716720 switch (ID) {
717721 // Blocks can only have certain types of sub blocks.
718722 case BI_COMMENT_BLOCK_ID: {
@@ -819,6 +823,7 @@ llvm::Error ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) {
819823
820824ClangDocBitcodeReader::Cursor
821825ClangDocBitcodeReader::skipUntilRecordOrBlock (unsigned &BlockOrRecordID) {
826+ llvm::TimeTraceScope (" Reducing infos" , " skipUntilRecordOrBlock" );
822827 BlockOrRecordID = 0 ;
823828
824829 while (!Stream.AtEndOfStream ()) {
@@ -880,6 +885,7 @@ llvm::Error ClangDocBitcodeReader::validateStream() {
880885}
881886
882887llvm::Error ClangDocBitcodeReader::readBlockInfoBlock () {
888+ llvm::TimeTraceScope (" Reducing infos" , " readBlockInfoBlock" );
883889 Expected<std::optional<llvm::BitstreamBlockInfo>> MaybeBlockInfo =
884890 Stream.ReadBlockInfoBlock ();
885891 if (!MaybeBlockInfo)
@@ -895,6 +901,7 @@ llvm::Error ClangDocBitcodeReader::readBlockInfoBlock() {
895901template <typename T>
896902llvm::Expected<std::unique_ptr<Info>>
897903ClangDocBitcodeReader::createInfo (unsigned ID) {
904+ llvm::TimeTraceScope (" Reducing infos" , " createInfo" );
898905 std::unique_ptr<Info> I = std::make_unique<T>();
899906 if (auto Err = readBlock (ID, static_cast <T *>(I.get ())))
900907 return std::move (Err);
@@ -903,6 +910,7 @@ ClangDocBitcodeReader::createInfo(unsigned ID) {
903910
904911llvm::Expected<std::unique_ptr<Info>>
905912ClangDocBitcodeReader::readBlockToInfo (unsigned ID) {
913+ llvm::TimeTraceScope (" Reducing infos" , " readBlockToInfo" );
906914 switch (ID) {
907915 case BI_NAMESPACE_BLOCK_ID:
908916 return createInfo<NamespaceInfo>(ID);
0 commit comments