diff options
| author | Krzysztof Drewniak <Krzysztof.Drewniak@amd.com> | 2024-08-22 19:02:45 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-22 19:02:45 -0500 |
| commit | 25d976b45cb5b3d222d3a9cd94caa8a54031bbb7 (patch) | |
| tree | 1cd4e95b30692acc5ea93eaf45819c4daffef9ab /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | ecfceb890d47e4c11804cdc2c38f905f691ef397 (diff) | |
[ScalarizeMaskedMemIntr] Don't use a scalar mask on GPUs (#104842)
ScalarizedMaskedMemIntr contains an optimization where the <N x i1> mask
is bitcast into an iN and then bit-tests with powers of two are used to
determine whether to load/store/... or not.
However, on machines with branch divergence (mainly GPUs), this is a
mis-optimization, since each i1 in the mask will be stored in a
condition register - that is, ecah of these "i1"s is likely to be a word
or two wide, making these bit operations counterproductive.
Therefore, amend this pass to skip the optimizaiton on targets that it
pessimizes.
Pre-commit tests #104645
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
