diff options
| author | Mircea Trofin <mtrofin@google.com> | 2025-10-13 09:06:16 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-13 09:06:16 -0700 |
| commit | 769976261249109d02516eb684584c1c8576a882 (patch) | |
| tree | ef79456cfbd164e7e1187d43ef980a131492524b /llvm/unittests/Object/ELFObjectFileTest.cpp | |
| parent | ec2d6add367acbc03dba038b7d4e519b11bbadec (diff) | |
| download | llvm-769976261249109d02516eb684584c1c8576a882.zip llvm-769976261249109d02516eb684584c1c8576a882.tar.gz llvm-769976261249109d02516eb684584c1c8576a882.tar.bz2 | |
[slp][profcheck] Mark `select`s as having unknown profile (#162960)
There are 2 cases:
- either the `select` condition is a vector of bools, case in which we don't currently have a way to represent the per-element branch probabilities anyway;
- or the select condition is a scalar, for example from a `llvm.vector.reduce`. We could potentially try and do more here - if the reduced vector contained conditions from other selects, for instance
In either case, IIUC, chances are the `select` doesn't get lowered to a branch, at least I'm not seeing any evidence of that in an internal complex application (CSFDO + ThinLTO). Seems sufficient to mark the selects are unknown (for profiled functions); since that metadata carries with it the pass name (`DEBUG_TYPE`) that marked it as such, we can revisit this if we detect later lowerings of these selects that would have required an actual profile.
Issue #147390
Diffstat (limited to 'llvm/unittests/Object/ELFObjectFileTest.cpp')
0 files changed, 0 insertions, 0 deletions
