diff options
author | Pierre van Houtryve <pierre.vanhoutryve@amd.com> | 2025-05-13 12:00:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-13 12:00:49 +0200 |
commit | 2278f5e65b487f7df0c613990b72fedba3ae34af (patch) | |
tree | 6320e2ed24bfa483369193dca1f31d206c2c5e6f /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | d05854dfc8513fab9064c9ca4f3f3eb1c71f525d (diff) | |
download | llvm-2278f5e65b487f7df0c613990b72fedba3ae34af.zip llvm-2278f5e65b487f7df0c613990b72fedba3ae34af.tar.gz llvm-2278f5e65b487f7df0c613990b72fedba3ae34af.tar.bz2 |
[AMDGPU] Hoist readlane/readfirstlane through unary/binary operands (#129037)
When a read(first)lane is used on a binary operator and the intrinsic is
the only user of the operator, we can move the read(first)lane into the
operand if the other operand is uniform.
Unfortunately IC doesn't let us access UniformityAnalysis and thus we
can't truly check uniformity, we have to do with a basic uniformity
check which only allows constants or trivially uniform intrinsics calls.
We can also do the same for unary and cast operators.
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions