[all-commits] [llvm/llvm-project] 0cd27c: [PassTimingInfo] Stop double (or worse) counting p...

aeubanks via All-commits all-commits at lists.llvm.org
Thu Oct 13 09:13:48 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0cd27cdc3adaff1f94bce12d8fbc6b80cb4049a4
      https://github.com/llvm/llvm-project/commit/0cd27cdc3adaff1f94bce12d8fbc6b80cb4049a4
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-10-13 (Thu, 13 Oct 2022)

  Changed paths:
    M llvm/include/llvm/IR/PassTimingInfo.h
    M llvm/lib/IR/PassTimingInfo.cpp
    M llvm/test/Other/time-passes.ll
    M llvm/unittests/IR/TimePassesTest.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list