[llvm-dev] Proper method to initialize all LLVM Internal Data Structures?
mayuyu.io via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 11 22:04:27 PDT 2018
I’m using LLVM6.0 Release version on macOS
Zhang
> 在 2018年6月12日,12:59,Zhang via llvm-dev <llvm-dev at lists.llvm.org> 写道:
>
> Hi:
> I'm building a small tool on top of LLVM Core Library.
>
> ```
> LLVMContext context;
> SMDiagnostic diag;
> Module *M = parseIRFile(InputIR, diag, context).get();
> if (M == nullptr) {
> diag.print("LLVM", errs());
> exit(-1);
> }
> assert(M->isMaterialized() && "Module not materialized!");
> PointerType *ArrayPtrTy =
> M->getTypeByName("struct._Array")->getPointerTo();
> ```
>
> However this piece of code crashes at Module::getTypeByName because getContext().pImpl is NULL pointer. Other similar issues include Module::getTypeByName results in a NULL pointer dereference because TheTable in StringMap is not allocated/initialized.
>
> It would be great if someone could show me what's the correct way to initialize all this kind of internal data structures so I could focus on my tool's logic
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the llvm-dev
mailing list