diff options
| author | Justin Bogner <mail@justinbogner.com> | 2016-07-08 17:25:18 +0000 |
|---|---|---|
| committer | Justin Bogner <mail@justinbogner.com> | 2016-07-08 17:25:18 +0000 |
| commit | 068a8054aed30c587619bec7e4d25fb11d9a9834 (patch) | |
| tree | b015c4ff53b9e7cf7beaacc9f510fb2a2ac28b5b /llvm | |
| parent | 4ca42e232d61e9cddf67d5a7f37a630fb3a26dc5 (diff) | |
| download | bcm5719-llvm-068a8054aed30c587619bec7e4d25fb11d9a9834.tar.gz bcm5719-llvm-068a8054aed30c587619bec7e4d25fb11d9a9834.zip | |
IR: Set a TargetPrefix for nvvm intrinsics
Since these are named nvvm_* rather than nvptx_*, we also need to
update getArchTypePrefix. It's a bit unusual for getArchTypePrefix not
to match the backend name, but I think this fits the intent of the
function in this case.
llvm-svn: 274890
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/IR/IntrinsicsNVVM.td | 2 | ||||
| -rw-r--r-- | llvm/lib/Support/Triple.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/llvm/include/llvm/IR/IntrinsicsNVVM.td b/llvm/include/llvm/IR/IntrinsicsNVVM.td index 30ee3ff96b8..6919ec47eb9 100644 --- a/llvm/include/llvm/IR/IntrinsicsNVVM.td +++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td @@ -17,6 +17,7 @@ def llvm_anyi64ptr_ty : LLVMAnyPointerType<llvm_i64_ty>; // (space)i64* // MISC // +let TargetPrefix = "nvvm" in { def int_nvvm_clz_i : GCCBuiltin<"__nvvm_clz_i">, Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; def int_nvvm_clz_ll : GCCBuiltin<"__nvvm_clz_ll">, @@ -3730,3 +3731,4 @@ def int_nvvm_shfl_idx_f32 : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.f32">, GCCBuiltin<"__nvvm_shfl_idx_f32">; +} diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp index 433d1469d1b..cfa12a9f0b2 100644 --- a/llvm/lib/Support/Triple.cpp +++ b/llvm/lib/Support/Triple.cpp @@ -114,8 +114,9 @@ const char *Triple::getArchTypePrefix(ArchType Kind) { case xcore: return "xcore"; - case nvptx: return "nvptx"; - case nvptx64: return "nvptx"; + // NVPTX intrinsics are namespaced under nvvm. + case nvptx: return "nvvm"; + case nvptx64: return "nvvm"; case le32: return "le32"; case le64: return "le64"; |

