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

Takuto Ikuta via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 11 23:53:29 PDT 2024


atetubou 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 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.

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


More information about the cfe-commits mailing list