[llvm] [AMDGPU][TTI] Add Target Hook for Instruction Uniformity (getInstructionUniformity) (PR #137639)
Sameer Sahasrabuddhe via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 21 23:11:40 PDT 2025
================
@@ -1422,3 +1422,26 @@ void GCNTTIImpl::collectKernelLaunchBounds(
LB.push_back({"amdgpu-waves-per-eu[0]", WavesPerEU.first});
LB.push_back({"amdgpu-waves-per-eu[1]", WavesPerEU.second});
}
+
+std::optional<InstructionUniformity> GCNTTIImpl::getInstructionUniformity(
+ const Instruction &I,
+ const SmallVector<InstructionUniformity> &OperandUniformities) const {
+
+ if (auto *CI = dyn_cast<CallInst>(&I)) {
+ const Function *CalledFunc = CI->getCalledFunction();
+ if (!CalledFunc)
+ return InstructionUniformity::Default;
+
+ if (CalledFunc->getIntrinsicID() == Intrinsic::amdgcn_permlane16) {
+ // Check if any operand is uniform.
----------------
ssahasra wrote:
But this code does not seem to check any operand. It only checks the new `InstructionUniformity`.
https://github.com/llvm/llvm-project/pull/137639
More information about the llvm-commits
mailing list