This is an archive of the discontinued LLVM Phabricator instance.

[PassTimingInfo] Stop double (or worse) counting passes/analyses
ClosedPublic

Authored by aeubanks on Oct 4 2022, 3:17 PM.

Details

Summary

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.

Diff Detail

Event Timeline

aeubanks created this revision.Oct 4 2022, 3:17 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 3:17 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
aeubanks requested review of this revision.Oct 4 2022, 3:17 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 3:17 PM
aeubanks planned changes to this revision.Oct 4 2022, 3:19 PM

actually I realized we can move analyses to a separate TimerGroup

aeubanks updated this revision to Diff 465212.Oct 4 2022, 3:56 PM

support analyses

aeubanks edited the summary of this revision. (Show Details)Oct 4 2022, 3:57 PM
aeubanks updated this revision to Diff 465213.Oct 4 2022, 3:58 PM

add comment

asbirlea accepted this revision.Oct 11 2022, 2:04 PM
This revision is now accepted and ready to land.Oct 11 2022, 2:04 PM