aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorAmir Ayupov <aaupov@fb.com>2025-07-25 13:54:37 +0200
committerGitHub <noreply@github.com>2025-07-25 13:54:37 +0200
commita850912de18cf5dd5d92837bb159bf227ef830d6 (patch)
treee05a2203a3e4e369394c983926e5994cf47f8d25 /llvm/lib/CodeGen/MachineFunction.cpp
parente38f98f535f6e2ce2b42ea0413919f87b1239964 (diff)
downloadllvm-a850912de18cf5dd5d92837bb159bf227ef830d6.zip
llvm-a850912de18cf5dd5d92837bb159bf227ef830d6.tar.gz
llvm-a850912de18cf5dd5d92837bb159bf227ef830d6.tar.bz2
[BOLT] Require CFG in BAT mode (#150488)
`getFallthroughsInTrace` requires CFG for functions not covered by BAT, even in BAT/fdata mode. BAT-covered functions go through special handling in fdata (`BAT->getFallthroughsInTrace`) and YAML (`DataAggregator::writeBATYAML`) modes. Since all modes (BAT/no-BAT, YAML/fdata) now need disassembly/CFG construction: - drop special BAT/fdata handling that omitted disassembly/CFG in `RewriteInstance::run`, enabling *CFG for all non-BAT functions*, - switch `getFallthroughsInTrace` to check if a function has CFG, - which *allows emitting profile for non-simple functions* in all modes. Previously, traces in non-simple functions were reported as invalid/ mismatching disassembled function contents. This change reduces the number of such invalid traces and increases the number of profiled functions. These functions may participate in function reordering via call graph profile. Test Plan: updated unclaimed-jt-entries.s
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions