[clang] [llvm] Use timeTraceAsyncProfilerBegin for Source span (PR #83961)

Zequan Wu via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 12 08:44:12 PDT 2024


ZequanWu wrote:

> > IIUC, the approach you choose here is to let `SemaPPCallbacks` control the "entered file stack" and allow it to remove element (which is file) from middle of the internal stack in `TimeTraceProfiler`, but this creates async event which is not designed for this purpose.
> > Can we let `SemaPPCallbacks` track the last push file into the stack and when exit file, pop all the elements from the stack until we popped the last pushed file?
> 
> As I wrote in [#56554 (comment)](https://github.com/llvm/llvm-project/issues/56554#issuecomment-1975812398), file level span and syntax tree level span should be handled asynchronously. So using such implementation produces incorrect trace in other edge cases.

Can we choose to expose a handle (maybe an unique id for each entry) from `TimeTraceProfiler` instead of exposing the internal entry?

https://github.com/llvm/llvm-project/pull/83961


More information about the cfe-commits mailing list