Index: llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp +++ llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp @@ -131,7 +131,9 @@ if (!CI) continue; - Changed |= AMDGPUSubtarget::get(TM, F).makeLIDRangeMetadata(CI); + Function *Caller = CI->getParent()->getParent(); + const AMDGPUSubtarget &ST = AMDGPUSubtarget::get(TM, *Caller); + Changed |= ST.makeLIDRangeMetadata(CI); } return Changed; } Index: llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h +++ llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h @@ -243,7 +243,7 @@ /// 2) dimension. unsigned getMaxWorkitemID(const Function &Kernel, unsigned Dimension) const; - /// Creates value range metadata on an workitemid.* inrinsic call or load. + /// Creates value range metadata on an workitemid.* intrinsic call or load. bool makeLIDRangeMetadata(Instruction *I) const; /// \returns Number of bytes of arguments that are passed to a shader or