@@ -53,6 +53,10 @@ llvm::cl::opt<bool> SILPrintPassTime(
53
53
" sil-print-pass-time" , llvm::cl::init(false ),
54
54
llvm::cl::desc(" Print the execution time of each SIL pass" ));
55
55
56
+ llvm::cl::opt<unsigned > SILMinPassTime (
57
+ " sil-min-pass-time" , llvm::cl::init(0 ),
58
+ llvm::cl::desc(" The minimum number of milliseconds for which a pass is printed with -sil-print-pass-time" ));
59
+
56
60
llvm::cl::opt<bool > SILPrintLast (
57
61
" sil-print-last" , llvm::cl::init(false ),
58
62
llvm::cl::desc(" Print the last optimized function before and after the last pass" ));
@@ -619,8 +623,10 @@ void SILPassManager::runPassOnFunction(unsigned TransIdx, SILFunction *F) {
619
623
totalPassRuntime += duration;
620
624
if (SILPrintPassTime) {
621
625
double milliSecs = (double )duration.count () / 1000000 .;
622
- llvm::dbgs () << llvm::format (" %9.3f" , milliSecs) << " ms: " << SFT->getTag ()
623
- << " @" << F->getName () << " \n " ;
626
+ if (milliSecs > (double )SILMinPassTime) {
627
+ llvm::dbgs () << llvm::format (" %9.3f" , milliSecs) << " ms: " << SFT->getTag ()
628
+ << " #" << NumPassesRun << " @" << F->getName () << " \n " ;
629
+ }
624
630
}
625
631
626
632
if (numRepeats > 1 )
@@ -783,7 +789,10 @@ void SILPassManager::runModulePass(unsigned TransIdx) {
783
789
784
790
if (SILPrintPassTime) {
785
791
double milliSecs = (double )duration.count () / 1000000 .;
786
- llvm::dbgs () << llvm::format (" %9.3f" , milliSecs) << " ms: " << SMT->getTag () << " \n " ;
792
+ if (milliSecs > (double )SILMinPassTime) {
793
+ llvm::dbgs () << llvm::format (" %9.3f" , milliSecs) << " ms: " << SMT->getTag ()
794
+ << " #" << NumPassesRun << " \n " ;
795
+ }
787
796
}
788
797
789
798
// If this pass invalidated anything, print and verify.
0 commit comments