Previous implementation of populating profile symbol list is wrong, it only included the profiled symbols. Actually it should use all symbols, here this switches to use the symbols from debug info. Also turned the flag off by default.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Thanks for the fix. The switch flipping makes sense to me. It enables the consistency between CS and non-CS profile.
llvm/tools/llvm-profgen/ProfiledBinary.cpp | ||
---|---|---|
557 | How do we deal with symbols without address range (getAddressRanges)? The old tool skips those, and this seems different. I'm not sure when we would have a function without address range though. |
llvm/tools/llvm-profgen/ProfiledBinary.cpp | ||
---|---|---|
557 | Good catch, thanks. After rebased on https://reviews.llvm.org/D112282, this should align with our internal tool |
How do we deal with symbols without address range (getAddressRanges)? The old tool skips those, and this seems different. I'm not sure when we would have a function without address range though.