[all-commits] [llvm/llvm-project] 2278f5: [AMDGPU] Hoist readlane/readfirstlane through unar...
Pierre van Houtryve via All-commits
all-commits at lists.llvm.org
Tue May 13 03:01:10 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2278f5e65b487f7df0c613990b72fedba3ae34af
https://github.com/llvm/llvm-project/commit/2278f5e65b487f7df0c613990b72fedba3ae34af
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readfirstlane.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readlane.ll
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list