OSDN Git Service

Set TargetPrefix on target-specific intrinsics. That way, in theory, different
authorChris Lattner <sabre@nondot.org>
Wed, 15 Mar 2006 01:32:36 +0000 (01:32 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 15 Mar 2006 01:32:36 +0000 (01:32 +0000)
targets could have different implemenations of a __builtin_foo gcc intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26769 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Intrinsics.td

index 3abe739..7cb345f 100644 (file)
@@ -97,6 +97,7 @@ class Intrinsic<list<LLVMType> types,
                 string name = ""> {
   string LLVMName = name;
   string GCCBuiltinName = "";
+  string TargetPrefix = "";   // Set to a prefix for target-specific intrinsics.
   list<LLVMType> Types = types;
   list<IntrinsicProperty> Properties = properties;
 }
@@ -204,8 +205,6 @@ def int_dbg_stoppoint    : Intrinsic<[llvm_void_ty,
 def int_dbg_region_start : Intrinsic<[llvm_void_ty]>;
 def int_dbg_region_end   : Intrinsic<[llvm_void_ty]>;
 def int_dbg_func_start   : Intrinsic<[llvm_void_ty, llvm_descriptor_ty]>;
-//    dbg_declare,      // Declare a local object
-
 
 
 //===----------------------------------------------------------------------===//
@@ -214,8 +213,9 @@ def int_dbg_func_start   : Intrinsic<[llvm_void_ty, llvm_descriptor_ty]>;
 
 //===----------------------------------------------------------------------===//
 // PowerPC Intrinsics
-
-def int_ppc_altivec_lvx : Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
-                                    [IntrReadMem]>,
-                          GCCBuiltin<"__builtin_altivec_lvx">;
-
+//
+let TargetPrefix = "ppc" in {  // All intrinsics start with "llvm.ppc.".
+  def int_ppc_altivec_lvx : Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
+                                      [IntrReadMem]>,
+                            GCCBuiltin<"__builtin_altivec_lvx">;
+}