Add a way to look up a type by it's name in a module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97379 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Erick Tryzelaar
2010-02-28 09:46:21 +00:00
parent 68bab9833d
commit d80ce75687
4 changed files with 27 additions and 0 deletions

View File

@@ -164,6 +164,18 @@ CAMLprim value llvm_delete_type_name(value Name, LLVMModuleRef M) {
return Val_unit;
}
/* llmodule -> string -> lltype option */
CAMLprim value llvm_type_by_name(LLVMModuleRef M, value Name) {
CAMLparam1(Name);
LLVMTypeRef T;
if ((T = LLVMGetTypeByName(M, String_val(Name)))) {
value Option = alloc(1, 0);
Field(Option, 0) = (value) T;
CAMLreturn(Option);
}
CAMLreturn(Val_int(0));
}
/* llmodule -> unit */
CAMLprim value llvm_dump_module(LLVMModuleRef M) {
LLVMDumpModule(M);