This wasn't necessary before since they are always enabled
for kernels, but this is necessary if they need to be
forwarded to a callable function.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM, with exception of llvm_unreachable for indirect calls.
lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp | ||
---|---|---|
221 | llvm_unreachable for now. |
lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp | ||
---|---|---|
221 | We already error on these calls in codegen with a proper error |
llvm_unreachable for now.
In general I guess all functions whose address is taken shall get all the attributes. One tricky point is that bitcast of a function type (for example when calling an alias changing FTy) considered to be a taken address, so some simplification and analysis is needed.