aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorAmir Ayupov <aaupov@fb.com>2024-05-08 12:02:18 -0700
committerGitHub <noreply@github.com>2024-05-08 12:02:18 -0700
commitdb29f20fdd4f715553f663f21021330cb4497e00 (patch)
tree6a94c0230ce034e1d4e35f61e26cfcecf83e4ba0 /llvm/lib/Transforms/Utils/InlineFunction.cpp
parenta6b623705b13b0f69c302ee7b36fe87f833ff193 (diff)
downloadllvm-db29f20fdd4f715553f663f21021330cb4497e00.zip
llvm-db29f20fdd4f715553f663f21021330cb4497e00.tar.gz
llvm-db29f20fdd4f715553f663f21021330cb4497e00.tar.bz2
[BOLT] Ignore returns in DataAggregator
Returns are ignored in perf/pre-aggregated/fdata profile reader (see DataReader::convertBranchData). They are also omitted in YAMLProfileWriter by virtue of not having the profile attached to them in the reader, and YAMLProfileWriter converting the profile attached to BinaryFunctions. Thus, return profile is universally ignored across all profile types except BAT YAML. To make returns ignored for YAML produced in BAT mode, we can: 1) ignore them in YAMLProfileReader, 2) omit them from YAML profile in profile conversion/writing. The first option is prone to profile staleness issue, where the profiled binary doesn't match the one to be optimized, and thus returns in the profile can no longer be reliably detected (as we don't distinguish them from calls in the profile). The second option is robust to staleness but requires disassembling the branch source instruction. Test Plan: Updated bolt-address-translation-yaml.test Reviewers: rafaelauler, dcci, ayermolo, maksfb Reviewed By: maksfb Pull Request: https://github.com/llvm/llvm-project/pull/90807
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions