summaryrefslogtreecommitdiffstats
path: root/llvm/test/Other/time-passes.ll
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-10-04 15:13:16 -0700
committerArthur Eubanks <aeubanks@google.com>2022-10-13 09:12:12 -0700
commit0cd27cdc3adaff1f94bce12d8fbc6b80cb4049a4 (patch)
tree5ec068b10906ddd52795fba27c4c12a331128d82 /llvm/test/Other/time-passes.ll
parente68b0d587581e68e04c155f5f319c22348f1e2b5 (diff)
[PassTimingInfo] Stop double (or worse) counting passes/analyses
If we nest timers, we end up double counting anything nested. The most egregious is ModuleInlinerWrapperPass/DevirtSCCRepeatedPass showing up as >20% of the total time when they're just wrappers. Analyses also end up getting counted multiple times because they're nested inside wrappers and passes. Ignore ModuleInlinerWrapperPass/DevirtSCCRepeatedPass and put analyses into their own TimerGroup. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D135219
Diffstat (limited to 'llvm/test/Other/time-passes.ll')
-rw-r--r--llvm/test/Other/time-passes.ll29
1 files changed, 17 insertions, 12 deletions
diff --git a/llvm/test/Other/time-passes.ll b/llvm/test/Other/time-passes.ll
index 852c583fddfc..f7a0851a69c1 100644
--- a/llvm/test/Other/time-passes.ll
+++ b/llvm/test/Other/time-passes.ll
@@ -27,29 +27,34 @@
; TIME-DOUBLE-LICM-DAG: LICMPass #4
; TIME-DOUBLE-LICM-DAG: LICMPass #5
; TIME-DOUBLE-LICM-DAG: LICMPass #6
-; TIME-PER_RUN-DAG: LCSSAPass
-; TIME-PER_RUN-DAG: LoopSimplifyPass
-; TIME-PER_RUN-DAG: ScalarEvolutionAnalysis
-; TIME-PER_RUN-DAG: LoopAnalysis
-; TIME-PER_RUN-DAG: VerifierPass
-; TIME-PER_RUN-DAG: DominatorTreeAnalysis
-; TIME-PER_RUN-DAG: TargetLibraryAnalysis
+; TIME-PER-RUN-DAG: LCSSAPass
+; TIME-PER-RUN-DAG: LoopSimplifyPass
+; TIME-PER-RUN-DAG: VerifierPass
; TIME-PER-PASS-DAG: InstCombinePass
; TIME-PER-PASS-DAG: LICMPass
; TIME-PER-PASS-DAG: LCSSAPass
; TIME-PER-PASS-DAG: LoopSimplifyPass
-; TIME-PER-PASS-DAG: ScalarEvolutionAnalysis
-; TIME-PER-PASS-DAG: LoopAnalysis
; TIME-PER-PASS-DAG: VerifierPass
-; TIME-PER-PASS-DAG: DominatorTreeAnalysis
-; TIME-PER-PASS-DAG: TargetLibraryAnalysis
; TIME-PER-PASS-NOT: InstCombinePass #
; TIME-PER-PASS-NOT: LICMPass #
; TIME-PER-PASS-NOT: LCSSAPass #
; TIME-PER-PASS-NOT: LoopSimplifyPass #
+; TIME-PER-PASS-NOT: VerifierPass #
+; TIME: Total{{$}}
+
+; TIME: Analysis execution timing report
+; TIME: Total Execution Time:
+; TIME: Name
+; TIME-PER-RUN-DAG: ScalarEvolutionAnalysis
+; TIME-PER-RUN-DAG: LoopAnalysis
+; TIME-PER-RUN-DAG: DominatorTreeAnalysis
+; TIME-PER-RUN-DAG: TargetLibraryAnalysis
+; TIME-PER-PASS-DAG: ScalarEvolutionAnalysis
+; TIME-PER-PASS-DAG: LoopAnalysis
+; TIME-PER-PASS-DAG: DominatorTreeAnalysis
+; TIME-PER-PASS-DAG: TargetLibraryAnalysis
; TIME-PER-PASS-NOT: ScalarEvolutionAnalysis #
; TIME-PER-PASS-NOT: LoopAnalysis #
-; TIME-PER-PASS-NOT: VerifierPass #
; TIME-PER-PASS-NOT: DominatorTreeAnalysis #
; TIME-PER-PASS-NOT: TargetLibraryAnalysis #
; TIME: Total{{$}}