[PATCH] Add support for profiling the matchers used.

Alexander Kornienko alexfh at google.com
Wed Oct 22 10:21:42 PDT 2014

Awesome! A couple of comments inline.

Comment at: include/clang/ASTMatchers/ASTMatchFinder.h:123
@@ +122,3 @@
+      /// \brief Output for the report. If null, it prints to llvm::errs()
+      std::unique_ptr<llvm::raw_ostream> OS;
+    };
I'd prefer a more structured interface, e.g. a map from string to some struct containing collected timings + a method to convert this map to string or print it to a stream. Not sure if this fits well with LLVM timing facilities you use, though.

Comment at: lib/ASTMatchers/ASTMatchFinder.cpp:315
@@ -300,1 +314,3 @@
+      llvm::TimeRegion Timer(
+          EnableCheckProfiling ? getTimerForBucket(MC->getID()) : nullptr);
You can check EnableCheckProfiling inside getTimerForBucket to reduce code repetition.


More information about the cfe-commits mailing list