summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2016-07-08 17:25:18 +0000
committerJustin Bogner <mail@justinbogner.com>2016-07-08 17:25:18 +0000
commit068a8054aed30c587619bec7e4d25fb11d9a9834 (patch)
treeb015c4ff53b9e7cf7beaacc9f510fb2a2ac28b5b /llvm
parent4ca42e232d61e9cddf67d5a7f37a630fb3a26dc5 (diff)
downloadbcm5719-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.td2
-rw-r--r--llvm/lib/Support/Triple.cpp5
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";
OpenPOWER on IntegriCloud