[all-commits] [llvm/llvm-project] 26a866: [MemProf] Handle missing tail call frames (#75823)
Teresa Johnson via All-commits
all-commits at lists.llvm.org
Thu Jan 11 06:58:00 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 26a8664ed4573ef1559c4edc7b254a10d186d428
https://github.com/llvm/llvm-project/commit/26a8664ed4573ef1559c4edc7b254a10d186d428
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
A llvm/test/ThinLTO/X86/memprof-tailcall.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll
Log Message:
-----------
[MemProf] Handle missing tail call frames (#75823)
If tail call optimization was not disabled for the profiled binary, the
call contexts will be missing frames for tail calls. Handle this by
performing a limited search through tail call edges for the profiled
callee when a discontinuity is detected. The search depth is adjustable
but defaults to 5.
If we are able to identify a short sequence of tail calls, update the
graph for those calls. In the case of ThinLTO, synthesize the necessary
CallsiteInfos for carrying the cloning information to the backends.
More information about the All-commits
mailing list