diff options
author | Changpeng Fang <changpeng.fang@amd.com> | 2024-10-30 11:07:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-30 11:07:15 -0700 |
commit | ca1154d1d41c75db6594428a8cdf263cf7041896 (patch) | |
tree | 00c45645b32aabea8e46666b5a273d8893ebd186 /lldb/source/Plugins/ScriptInterpreter/Python | |
parent | 5545f76dc94e76ef6800823bdd1e107ad2264717 (diff) | |
download | llvm-ca1154d1d41c75db6594428a8cdf263cf7041896.zip llvm-ca1154d1d41c75db6594428a8cdf263cf7041896.tar.gz llvm-ca1154d1d41c75db6594428a8cdf263cf7041896.tar.bz2 |
AMDGPU: Disable pattern matching "x<<32-y>>32-y" to "bfe x, 0, y" (#114279)
It is not correct to lower "x<<32-y>>32-y" to "bfe x, 0, y". When y
equals to 32, the left-hand side is still x (unchanged), however, the
right-hand side will be evaluated to 0. So it is not always correct to
do such transformation.
We may be able to keep the pattern for immediate y while y is within [0,
31]. However, the immediate operands of the sub (32 - y) are easily
folded, and "(x << imm) >> imm" will be lowered to "and x,
(2^(32-imm))-1" anyway. So no bfe matching is needed.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions