gallivm: added lp_typekind_name() util function
authorBrian Paul <brianp@vmware.com>
Wed, 12 May 2010 16:04:48 +0000 (10:04 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 12 May 2010 16:37:59 +0000 (10:37 -0600)
src/gallium/auxiliary/gallivm/lp_bld_type.c
src/gallium/auxiliary/gallivm/lp_bld_type.h

index 796af88caad517cbbb4a1dfa9df4cfcf49d8d473..a86ef03e41c7f52f9173f71e0d017e6283ef74c1 100644 (file)
@@ -238,6 +238,51 @@ lp_wider_type(struct lp_type type)
 }
 
 
+/**
+ * Return string name for a LLVMTypeKind.  Useful for debugging.
+ */
+const char *
+lp_typekind_name(LLVMTypeKind t)
+{
+   switch (t) {
+   case LLVMVoidTypeKind:
+      return "LLVMVoidTypeKind";
+   case LLVMFloatTypeKind:
+      return "LLVMFloatTypeKind";
+   case LLVMDoubleTypeKind:
+      return "LLVMDoubleTypeKind";
+   case LLVMX86_FP80TypeKind:
+      return "LLVMX86_FP80TypeKind";
+   case LLVMFP128TypeKind:
+      return "LLVMFP128TypeKind";
+   case LLVMPPC_FP128TypeKind:
+      return "LLVMPPC_FP128TypeKind";
+   case LLVMLabelTypeKind:
+      return "LLVMLabelTypeKind";
+   case LLVMIntegerTypeKind:
+      return "LLVMIntegerTypeKind";
+   case LLVMFunctionTypeKind:
+      return "LLVMFunctionTypeKind";
+   case LLVMStructTypeKind:
+      return "LLVMStructTypeKind";
+   case LLVMArrayTypeKind:
+      return "LLVMArrayTypeKind";
+   case LLVMPointerTypeKind:
+      return "LLVMPointerTypeKind";
+   case LLVMOpaqueTypeKind:
+      return "LLVMOpaqueTypeKind";
+   case LLVMVectorTypeKind:
+      return "LLVMVectorTypeKind";
+   case LLVMMetadataTypeKind:
+      return "LLVMMetadataTypeKind";
+   case LLVMUnionTypeKind:
+      return "LLVMUnionTypeKind";
+   default:
+      return "unknown LLVMTypeKind";
+   }
+}
+
+
 void
 lp_build_context_init(struct lp_build_context *bld,
                       LLVMBuilderRef builder,
index cd59d2faa662a0d60fb888016921ecd7d0e3bb7e..f1922ef9acb53c0d43e34d706579fa51be44cc1f 100644 (file)
@@ -316,6 +316,10 @@ struct lp_type
 lp_wider_type(struct lp_type type);
 
 
+const char *
+lp_typekind_name(LLVMTypeKind t);
+
+
 void
 lp_build_context_init(struct lp_build_context *bld,
                       LLVMBuilderRef builder,