diff options
| author | Georgi Mirazchiyski <georgi.mirazchiyski@codeplay.com> | 2024-09-24 11:47:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-24 14:47:57 +0400 |
| commit | 6cfe6a6b3e9578be80120add7fbe19506f747196 (patch) | |
| tree | 0cd5695eb0a602b9bfac2868781478d8b43280db /llvm/lib/Object/ModuleSymbolTable.cpp | |
| parent | 3d34053af61ff45e05d230d2678eb8e95322eb14 (diff) | |
| download | llvm-6cfe6a6b3e9578be80120add7fbe19506f747196.zip llvm-6cfe6a6b3e9578be80120add7fbe19506f747196.tar.gz llvm-6cfe6a6b3e9578be80120add7fbe19506f747196.tar.bz2 | |
[NFC][AMDGPU] Assert no bad shift operations will happen (#108416)
The assumption in the asserts is based on the fact that no SGPR/VGPR
register Arg mask in the ISelLowering and Legalizer can equal zero. They
are implicitly set to ~0 by default (meaning non-masked) or explicitly
to a non-zero value.
The `optimizeCompareInstr` case is different from the above described.
It requires the mask to be a power-of-two because it's a special-case
optimization, hence in this case we still cannot have an invalid shift.
This commit also silences static analysis tools wrt potential bad shifts
that could result from the output of `countr_zero(Mask)`.
Diffstat (limited to 'llvm/lib/Object/ModuleSymbolTable.cpp')
0 files changed, 0 insertions, 0 deletions
