int targets_list(void) { LLVMTargetRef t; LLVMInitializeAllTargetInfos(); LLVMInitializeAllTargets(); for (t = LLVMGetFirstTarget(); t; t = LLVMGetNextTarget(t)) { printf("%s", LLVMGetTargetName(t)); if (LLVMTargetHasJIT(t)) printf(" (+jit)"); printf("\n - %s\n", LLVMGetTargetDescription(t)); } return 0; }
static LLVMTargetRef get_r600_target() { LLVMTargetRef target = NULL; for (target = LLVMGetFirstTarget(); target; target = LLVMGetNextTarget(target)) { if (!strncmp(LLVMGetTargetName(target), "r600", 4)) { break; } } if (!target) { fprintf(stderr, "Can't find target r600\n"); return NULL; } return target; }
/* Target.t -> string */ CAMLprim value llvm_target_name(LLVMTargetRef Target) { return caml_copy_string(LLVMGetTargetName(Target)); }