[all-commits] [llvm/llvm-project] e7aed2: [ctxprof] Handle instrumenting functions with `mus...
Mircea Trofin via All-commits
all-commits at lists.llvm.org
Mon Apr 14 10:01:46 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Handle instrumenting functions with `musttail` calls (#135121)
Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.
Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list