Move function emitDeferredDiags from Sema to DeferredDiagsEmitter since it
is only used by DeferredDiagsEmitter.
Also skip visited functions to avoid exponential compile time.
Differential D77028
Speed up deferred diagnostic emitter yaxunl on Mar 29 2020, 8:15 PM. Authored by
Details Move function emitDeferredDiags from Sema to DeferredDiagsEmitter since it Also skip visited functions to avoid exponential compile time.
Diff Detail
Event TimelineComment Actions I made a suggestion in the other patch about restructuring things out of visitUsedDecl. I'll review this when that's done.
Comment Actions Thank you. Minor request, but feel free to commit with that change.
|
It makes me a little uncomfortable to be holding an iterator this long while calling a fair amount of other stuff in the meantime.
Your use of DiagsCount is subtle enough that it really needs to be explained in some comments. You're doing stuff conditionally based on both whether the entry exists but also whether it's non-zero.