diff options
author | Brian Paul <brianp@vmware.com> | 2010-05-13 10:24:10 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-05-13 14:15:44 -0600 |
commit | 45d6289fab1aa012f265e5b51a10c2a07c85679b (patch) | |
tree | e82b4d6adbed9da18c8bf962ac902ba38204ca74 /src/gallium/auxiliary/gallivm/lp_bld_type.c | |
parent | adc6e73538e33156e9a489dbdae2e4452361bb6b (diff) | |
download | external_mesa3d-45d6289fab1aa012f265e5b51a10c2a07c85679b.zip external_mesa3d-45d6289fab1aa012f265e5b51a10c2a07c85679b.tar.gz external_mesa3d-45d6289fab1aa012f265e5b51a10c2a07c85679b.tar.bz2 |
gallivm: added lp_dump_llvmtype() debug helper
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_type.c')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_type.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_type.c b/src/gallium/auxiliary/gallivm/lp_bld_type.c index 9028963..37d278d 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_type.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_type.c @@ -285,6 +285,42 @@ lp_typekind_name(LLVMTypeKind t) } +/** + * Print an LLVMTypeRef. Like LLVMDumpValue(). For debugging. + */ +void +lp_dump_llvmtype(LLVMTypeRef t) +{ + LLVMTypeKind k = LLVMGetTypeKind(t); + + if (k == LLVMVectorTypeKind) { + LLVMTypeRef te = LLVMGetElementType(t); + LLVMTypeKind ke = LLVMGetTypeKind(te); + unsigned len = LLVMGetVectorSize(t); + if (ke == LLVMIntegerTypeKind) { + unsigned b = LLVMGetIntTypeWidth(te); + debug_printf("Vector [%u] of %u-bit Integer\n", len, b); + } + else { + debug_printf("Vector [%u] of %s\n", len, lp_typekind_name(ke)); + } + } + else if (k == LLVMArrayTypeKind) { + LLVMTypeRef te = LLVMGetElementType(t); + LLVMTypeKind ke = LLVMGetTypeKind(te); + unsigned len = LLVMGetArrayLength(t); + debug_printf("Array [%u] of %s\n", len, lp_typekind_name(ke)); + } + else if (k == LLVMIntegerTypeKind) { + unsigned b = LLVMGetIntTypeWidth(t); + debug_printf("%u-bit Integer\n", b); + } + else { + debug_printf("%s\n", lp_typekind_name(k)); + } +} + + void lp_build_context_init(struct lp_build_context *bld, LLVMBuilderRef builder, |