Exemple #1
0
bool codegen_llvm_init()
{
  LLVMLinkInMCJIT();
  LLVMInitializeNativeTarget();
  LLVMInitializeAllTargets();
  LLVMInitializeAllTargetMCs();
  LLVMInitializeAllTargetInfos();
  LLVMInitializeAllAsmPrinters();
  LLVMInitializeAllAsmParsers();
  LLVMEnablePrettyStackTrace();
  LLVMInstallFatalErrorHandler(fatal_error);

  LLVMPassRegistryRef passreg = LLVMGetGlobalPassRegistry();
  LLVMInitializeCore(passreg);
  LLVMInitializeTransformUtils(passreg);
  LLVMInitializeScalarOpts(passreg);
  LLVMInitializeObjCARCOpts(passreg);
  LLVMInitializeVectorization(passreg);
  LLVMInitializeInstCombine(passreg);
  LLVMInitializeIPO(passreg);
  LLVMInitializeInstrumentation(passreg);
  LLVMInitializeAnalysis(passreg);
  LLVMInitializeIPA(passreg);
  LLVMInitializeCodeGen(passreg);
  LLVMInitializeTarget(passreg);

  return true;
}
Exemple #2
0
int main(int argc, char **argv) {
  LLVMPassRegistryRef pr = LLVMGetGlobalPassRegistry();

  LLVMInitializeCore(pr);

  if (argc == 2 && !strcmp(argv[1], "--module-dump")) {
    return module_dump();
  } else if (argc == 2 && !strcmp(argv[1], "--module-list-functions")) {
    return module_list_functions();
  } else if (argc == 2 && !strcmp(argv[1], "--module-list-globals")) {
    return module_list_globals();
  } else if (argc == 2 && !strcmp(argv[1], "--targets-list")) {
    return targets_list();
  } else if (argc == 2 && !strcmp(argv[1], "--object-list-sections")) {
    return object_list_sections();
  } else if (argc == 2 && !strcmp(argv[1], "--object-list-symbols")) {
    return object_list_symbols();
  } else if (argc == 2 && !strcmp(argv[1], "--disassemble")) {
    return disassemble();
  } else if (argc == 2 && !strcmp(argv[1], "--calc")) {
    return calc();
  } else {
    print_usage();
  }

  return 1;
}
Exemple #3
0
bool codegen_init(pass_opt_t* opt)
{
  LLVMInitializeNativeTarget();
  LLVMInitializeAllTargets();
  LLVMInitializeAllTargetMCs();
  LLVMInitializeAllTargetInfos();
  LLVMInitializeAllAsmPrinters();
  LLVMInitializeAllAsmParsers();
  LLVMEnablePrettyStackTrace();
  LLVMInstallFatalErrorHandler(fatal_error);

  LLVMPassRegistryRef passreg = LLVMGetGlobalPassRegistry();
  LLVMInitializeCore(passreg);
  LLVMInitializeTransformUtils(passreg);
  LLVMInitializeScalarOpts(passreg);
  LLVMInitializeObjCARCOpts(passreg);
  LLVMInitializeVectorization(passreg);
  LLVMInitializeInstCombine(passreg);
  LLVMInitializeIPO(passreg);
  LLVMInitializeInstrumentation(passreg);
  LLVMInitializeAnalysis(passreg);
  LLVMInitializeIPA(passreg);
  LLVMInitializeCodeGen(passreg);
  LLVMInitializeTarget(passreg);

  // Default triple, cpu and features.
  if(opt->triple != NULL)
  {
    opt->triple = LLVMCreateMessage(opt->triple);
  } else {
#ifdef PLATFORM_IS_MACOSX
    // This is to prevent XCode 7+ from claiming OSX 14.5 is required.
    opt->triple = LLVMCreateMessage("x86_64-apple-macosx");
#else
    opt->triple = LLVMGetDefaultTargetTriple();
#endif
  }

  if(opt->cpu != NULL)
    opt->cpu = LLVMCreateMessage(opt->cpu);
  else
    opt->cpu = LLVMGetHostCPUName();

  if(opt->features != NULL)
    opt->features = LLVMCreateMessage(opt->features);
  else
    opt->features = LLVMCreateMessage("");

  return true;
}
Exemple #4
0
bool codegen_init(pass_opt_t* opt)
{
  LLVMInitializeNativeTarget();
  LLVMInitializeAllTargets();
  LLVMInitializeAllTargetMCs();
  LLVMInitializeAllAsmPrinters();
  LLVMInitializeAllAsmParsers();
  LLVMEnablePrettyStackTrace();
  LLVMInstallFatalErrorHandler(fatal_error);

  LLVMPassRegistryRef passreg = LLVMGetGlobalPassRegistry();
  LLVMInitializeCore(passreg);
  LLVMInitializeTransformUtils(passreg);
  LLVMInitializeScalarOpts(passreg);
  LLVMInitializeObjCARCOpts(passreg);
  LLVMInitializeVectorization(passreg);
  LLVMInitializeInstCombine(passreg);
  LLVMInitializeIPO(passreg);
  LLVMInitializeInstrumentation(passreg);
  LLVMInitializeAnalysis(passreg);
  LLVMInitializeIPA(passreg);
  LLVMInitializeCodeGen(passreg);
  LLVMInitializeTarget(passreg);

  // Default triple, cpu and features.
  if(opt->triple != NULL)
    opt->triple = LLVMCreateMessage(opt->triple);
  else
    opt->triple = LLVMGetDefaultTargetTriple();

  if(opt->cpu != NULL)
    opt->cpu = LLVMCreateMessage(opt->cpu);
  else
    opt->cpu = LLVMGetHostCPUName();

  if(opt->features != NULL)
    opt->features = LLVMCreateMessage(opt->features);
  else
    opt->features = LLVMCreateMessage("");

  return true;
}
Exemple #5
0
int main(int argc, char **argv) {
    LLVMPassRegistryRef pr = LLVMGetGlobalPassRegistry();

    LLVMInitializeCore(pr);

    if (argc == 2 && !strcmp(argv[1], "--lazy-new-module-dump")) {
        return llvm_module_dump(true, true);
    } else if (argc == 2 && !strcmp(argv[1], "--new-module-dump")) {
        return llvm_module_dump(false, true);
    } else if (argc == 2 && !strcmp(argv[1], "--lazy-module-dump")) {
        return llvm_module_dump(true, false);
    } else if (argc == 2 && !strcmp(argv[1], "--module-dump")) {
        return llvm_module_dump(false, false);
    } else if (argc == 2 && !strcmp(argv[1], "--module-list-functions")) {
        return llvm_module_list_functions();
    } else if (argc == 2 && !strcmp(argv[1], "--module-list-globals")) {
        return llvm_module_list_globals();
    } else if (argc == 2 && !strcmp(argv[1], "--targets-list")) {
        return llvm_targets_list();
    } else if (argc == 2 && !strcmp(argv[1], "--object-list-sections")) {
        return llvm_object_list_sections();
    } else if (argc == 2 && !strcmp(argv[1], "--object-list-symbols")) {
        return llvm_object_list_symbols();
    } else if (argc == 2 && !strcmp(argv[1], "--disassemble")) {
        return llvm_disassemble();
    } else if (argc == 2 && !strcmp(argv[1], "--calc")) {
        return llvm_calc();
    } else if (argc == 2 && !strcmp(argv[1], "--add-named-metadata-operand")) {
        return llvm_add_named_metadata_operand();
    } else if (argc == 2 && !strcmp(argv[1], "--set-metadata")) {
        return llvm_set_metadata();
    } else if (argc == 2 && !strcmp(argv[1], "--echo")) {
        return llvm_echo();
    } else if (argc == 2 && !strcmp(argv[1], "--test-diagnostic-handler")) {
        return llvm_test_diagnostic_handler();
    } else {
        print_usage();
    }

    return 1;
}