aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorPierre van Houtryve <pierre.vanhoutryve@amd.com>2025-05-13 12:00:49 +0200
committerGitHub <noreply@github.com>2025-05-13 12:00:49 +0200
commit2278f5e65b487f7df0c613990b72fedba3ae34af (patch)
tree6320e2ed24bfa483369193dca1f31d206c2c5e6f /clang/lib/CodeGen/ModuleBuilder.cpp
parentd05854dfc8513fab9064c9ca4f3f3eb1c71f525d (diff)
downloadllvm-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