[llvm-dev] Missing TargetPrefix for NVVM intrinsics

Justin Bogner via llvm-dev
Fri, 01 Jul 2016 19:01:20 -0000

Justins:

I noticed that the intrinsics in IntrinsicsNVVM don't specify a
TargetPrefix. This seems like a simple omission, so I was going to
simply throw a `let TargetPrefix = "nvvm" ` block around them, but
this
doesn't quite work.

There seem to be three prefixes that are used in this file. About 900
are int_nvvm_*, 30 are int_ptx_*, and 1 is int_cuda. It isn't clear to
me if this inconsistency is intentional or warranted - should these all
be named int_nvvm_*? Is there a good reason to differentiate int_ptx_*?
Why does __syncthreads map to int_cuda_syncthreads, rather than
int_nvvm_syncthreads?

I'm probably going to go ahead and add the TargetPrefix to the nvvm
intrinsics, but I'm not familiar enough with NVPTX to know what to do
with the others.

Thanks,
-- Justin