diff options
author | Arthur Eubanks <aeubanks@google.com> | 2022-10-04 15:13:16 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2022-10-13 09:12:12 -0700 |
commit | 0cd27cdc3adaff1f94bce12d8fbc6b80cb4049a4 (patch) | |
tree | 5ec068b10906ddd52795fba27c4c12a331128d82 /llvm/test/Other/time-passes.ll | |
parent | e68b0d587581e68e04c155f5f319c22348f1e2b5 (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.ll | 29 |
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{{$}} |