[llvm-dev] Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 2 09:07:25 PDT 2020


Hi Igor,

The -debug-only option should be provided to your tool's main function,
rather than to the JIT'd main. As long as you're calling:

cl::ParseCommandLineOptions(argc, argv, "<tool name>");

in your tool's code that should handle the '-debug-only' option.

Regards,
Lang.

On Mon, Jun 1, 2020 at 9:03 PM Igor Gomon <igomonv at gmail.com> wrote:

> Hi Lang,
>
> Sure. Please find attached is the bitcode file along with the source cpp.
> I also followed your suggestion and provided the '-debug-only=jitlink'
> option to the orc::runAsMain() function call but I didn't see any
> meaningful output produced other than:
>
> *Assertion failed: (Offset < Base.getSize() && "Symbol offset is outside
> block"), function constructNamedDef, file
> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h,
> line 366.*
>
> Thanks for your help!
>
> --
> Best Regards,
> Igor
>
> On Mon, Jun 1, 2020 at 2:01 PM Lang Hames <lhames at gmail.com> wrote:
>
>> Hi Igor,
>>
>> Thanks for the walkthrough! This sounds like it might be a JITLink MachO
>> parser bug. Are you able to share the module that causes the failure? It
>> may also be interesting to run your tool with '-debug-only=jitlink' and
>> capture the output.
>>
>> Regards,
>> Lang.
>>
>> On Sun, May 31, 2020 at 2:08 PM Igor Gomon <igomonv at gmail.com> wrote:
>>
>>> Hello Lang,
>>>
>>> I was just wondering if you had a chance to look at my issue or maybe
>>> have an idea what may have caused it.
>>> Thanks!
>>>
>>>
>>>>>> Best Regards,
>>> Igor Gomon
>>> Sent from my iPad
>>>
>>> On May 25, 2020, at 5:48 PM, David Blaikie <dblaikie at gmail.com> wrote:
>>>
>>> 
>>> +Lang for ORC stuff
>>>
>>> On Mon, May 25, 2020 at 2:35 PM Igor Gomon via llvm-dev <
>>> llvm-dev at lists.llvm.org> wrote:
>>>
>>>> Hello,
>>>>
>>>> I am trying to run this basic C++ hello-world code in my iOS app that
>>>> has LLVM libraries linked in (the app runs on the actual device - iPad Pro,
>>>> iOS 13.4.1).
>>>>
>>>> #include <iostream>
>>>> int main (int argh, char *argv[]) {
>>>>      std::cout << "Hello World!" << std::endl;
>>>>      return 0;
>>>> }
>>>>
>>>> So below is the break down of the steps that I do:
>>>> First I compile this code to an instance of llvm::Module by using the
>>>> logic borrowed from the lli tool.
>>>> Once I have the Module instance I construct an instance of orc::LLLazyJIT
>>>> (J), configure it (again closely following the logic in lli tool)
>>>> to which I then add the module like this:
>>>>
>>>>     // Add the main module.
>>>>
>>>>
>>>> ExitOnErr(J->addLazyIRModule(orc::ThreadSafeModule(std::move(MainModule),
>>>> TSCtx)));
>>>>
>>>>
>>>> Finally the module is executed like this:
>>>>
>>>>     // Run main.
>>>>
>>>>     auto MainSym = ExitOnErr(J->lookup("main"));
>>>>
>>>>
>>>>     typedef int (*MainFnPtr)(int, char *[]);
>>>>
>>>>     auto Result = orc::runAsMain(
>>>>
>>>> jitTargetAddressToFunction<MainFnPtr>(MainSym.getAddress()), Args,
>>>>
>>>> StringRef("lli"));
>>>>
>>>>
>>>> The Xcode halts the execution when an assertion is triggered in llvm::jitlink::Symbol::constructNamedDef
>>>> (the full call stack is below).
>>>>
>>>> The line that triggers the assertion is this:
>>>>
>>>>
>>>>     assert(Offset < Base.getSize() && "Symbol offset is outside block"
>>>> );
>>>>
>>>>
>>>> because both Offset and Base.getSize() evaluate to 0).
>>>>
>>>> The data referred to by the Base block is "Hello World!".
>>>>
>>>>
>>>> I don't understand why this assertion happens. Should the Base block
>>>> size be > 0 ?
>>>>
>>>> I am relatively new to LLVM, I did read the documentation on OCR Design
>>>> and Implementation - but still can't figure out what's going on.
>>>>
>>>> If there is any additional documentation I can read on running code
>>>> using ORC/JIT APIs that would shed more light on the internals/
>>>> implementation?
>>>>
>>>>
>>>> Any help would be greatly appreciated.
>>>>
>>>> Thank you.
>>>>
>>>>
>>>> --
>>>>
>>>> Best,
>>>>
>>>> Igor
>>>>
>>>>
>>>>
>>>> #4 0x0000000106696d70 in
>>>> llvm::jitlink::Symbol::constructNamedDef(void*, llvm::jitlink::Block&,
>>>> unsigned long long, llvm::StringRef, unsigned long long,
>>>> llvm::jitlink::Linkage, llvm::jitlink::Scope, bool, bool) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h:366
>>>>
>>>> #5 0x0000000106691e8c in
>>>> llvm::jitlink::LinkGraph::addDefinedSymbol(llvm::jitlink::Block&, unsigned
>>>> long long, llvm::StringRef, unsigned long long, llvm::jitlink::Linkage,
>>>> llvm::jitlink::Scope, bool, bool) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h:897
>>>>
>>>> #6 0x000000010668f654 in
>>>> llvm::jitlink::MachOLinkGraphBuilder::graphifyRegularSymbols() at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp:502
>>>>
>>>> #7 0x000000010668d16c in
>>>> llvm::jitlink::MachOLinkGraphBuilder::buildGraph() at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp:36
>>>>
>>>> #8 0x000000010666cd08 in
>>>> llvm::jitlink::MachOJITLinker_arm64::buildGraph(llvm::MemoryBufferRef) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:493
>>>>
>>>> #9 0x00000001066236bc in
>>>> llvm::jitlink::JITLinkerBase::linkPhase1(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkerBase> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:28
>>>>
>>>> #10 0x000000010665fc10 in void
>>>> llvm::jitlink::JITLinker<llvm::jitlink::MachOJITLinker_arm64>::link<std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >,
>>>> llvm::jitlink::PassConfiguration>(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >&&,
>>>> llvm::jitlink::PassConfiguration&&) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:139
>>>>
>>>> #11 0x000000010665f93c in
>>>> llvm::jitlink::jitLink_MachO_arm64(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:685
>>>>
>>>> #12 0x000000010665e604 in
>>>> llvm::jitlink::jitLink_MachO(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO.cpp:69
>>>>
>>>> #13 0x0000000106616f58 in
>>>> llvm::jitlink::jitLink(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp:306
>>>>
>>>> #14 0x00000001063db144 in
>>>> llvm::orc::ObjectLinkingLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> std::__1::unique_ptr<llvm::MemoryBuffer,
>>>> std::__1::default_delete<llvm::MemoryBuffer> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp:343
>>>>
>>>> #15 0x00000001064044f4 in
>>>> llvm::orc::ObjectTransformLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> std::__1::unique_ptr<llvm::MemoryBuffer,
>>>> std::__1::default_delete<llvm::MemoryBuffer> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp:35
>>>>
>>>> #16 0x000000010638e9c8 in
>>>> llvm::orc::IRCompileLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp:35
>>>>
>>>> #17 0x000000010638ff64 in
>>>> llvm::orc::IRTransformLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp:25
>>>>
>>>> #18 0x00000001062b2b5c in
>>>> llvm::orc::CompileOnDemandLayer::emitPartition(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule, std::__1::map<llvm::orc::SymbolStringPtr,
>>>> llvm::GlobalValue*, std::__1::less<llvm::orc::SymbolStringPtr>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::SymbolStringPtr const,
>>>> llvm::GlobalValue*> > >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:320
>>>>
>>>> #19 0x00000001062b8470 in
>>>> llvm::orc::PartitioningIRMaterializationUnit::materialize(llvm::orc::MaterializationResponsibility)
>>>> at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:86
>>>>
>>>> #20 0x00000001062e2844 in
>>>> llvm::orc::MaterializationUnit::doMaterialize(llvm::orc::JITDylib&) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:563
>>>>
>>>> #21 0x00000001062db744 in
>>>> llvm::orc::ExecutionSession::materializeOnCurrentThread(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:1212
>>>>
>>>> #22 0x00000001062eaf98 in decltype(std::__1::forward<void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>(fp)(std::__1::forward<llvm::orc::JITDylib&>(fp0),
>>>> std::__1::forward<std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(fp0)))
>>>> std::__1::__invoke<void (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4425
>>>>
>>>> #23 0x00000001062eaef8 in void
>>>> std::__1::__invoke_void_return_wrapper<void>::__call<void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:348
>>>>
>>>> #24 0x00000001062eae94 in std::__1::__function::__alloc_func<void
>>>> (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> std::__1::allocator<void (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >)>, void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1533
>>>>
>>>> #25 0x00000001062e980c in std::__1::__function::__func<void
>>>> (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> std::__1::allocator<void (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >)>, void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1707
>>>>
>>>> #26 0x00000001062e2314 in std::__1::__function::__value_func<void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1860
>>>>
>>>> #27 0x00000001062e2198 in std::__1::function<void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2419
>>>>
>>>> #28 0x00000001062d76b4 in
>>>> llvm::orc::ExecutionSession::dispatchMaterialization(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:1198
>>>>
>>>> #29 0x00000001062d955c in
>>>> llvm::orc::ExecutionSession::runOutstandingMUs() at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2161
>>>>
>>>> #30 0x00000001062d623c in
>>>> llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind,
>>>> std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet,
>>>> llvm::orc::SymbolState, llvm::unique_function<void
>>>> (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,
>>>> llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,
>>>> llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,
>>>> llvm::JITEvaluatedSymbol> > >)>, std::__1::function<void
>>>> (llvm::DenseMap<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> >,
>>>> llvm::DenseMapInfo<llvm::orc::JITDylib*>,
>>>> llvm::detail::DenseMapPair<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> > > > const&)>) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2058
>>>>
>>>> #31 0x00000001063e5128 in
>>>> llvm::orc::ObjectLinkingLayerJITLinkContext::lookup(llvm::DenseMap<llvm::StringRef,
>>>> llvm::jitlink::SymbolLookupFlags, llvm::DenseMapInfo<llvm::StringRef>,
>>>> llvm::detail::DenseMapPair<llvm::StringRef,
>>>> llvm::jitlink::SymbolLookupFlags> > const&,
>>>> std::__1::unique_ptr<llvm::jitlink::JITLinkAsyncLookupContinuation,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkAsyncLookupContinuation> >)
>>>> at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp:87
>>>>
>>>> #32 0x0000000106623bac in
>>>> llvm::jitlink::JITLinkerBase::linkPhase1(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkerBase> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:77
>>>>
>>>> #33 0x000000010665fc10 in void
>>>> llvm::jitlink::JITLinker<llvm::jitlink::MachOJITLinker_arm64>::link<std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >,
>>>> llvm::jitlink::PassConfiguration>(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >&&,
>>>> llvm::jitlink::PassConfiguration&&) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:139
>>>>
>>>> #34 0x000000010665f93c in
>>>> llvm::jitlink::jitLink_MachO_arm64(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:685
>>>>
>>>> #35 0x000000010665e604 in
>>>> llvm::jitlink::jitLink_MachO(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO.cpp:69
>>>>
>>>> #36 0x0000000106616f58 in
>>>> llvm::jitlink::jitLink(std::__1::unique_ptr<llvm::jitlink::JITLinkContext,
>>>> std::__1::default_delete<llvm::jitlink::JITLinkContext> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp:306
>>>>
>>>> #37 0x00000001063db144 in
>>>> llvm::orc::ObjectLinkingLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> std::__1::unique_ptr<llvm::MemoryBuffer,
>>>> std::__1::default_delete<llvm::MemoryBuffer> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp:343
>>>>
>>>> #38 0x00000001064044f4 in
>>>> llvm::orc::ObjectTransformLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> std::__1::unique_ptr<llvm::MemoryBuffer,
>>>> std::__1::default_delete<llvm::MemoryBuffer> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp:35
>>>>
>>>> #39 0x000000010638e9c8 in
>>>> llvm::orc::IRCompileLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp:35
>>>>
>>>> #40 0x000000010638ff64 in
>>>> llvm::orc::IRTransformLayer::emit(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp:25
>>>>
>>>> #41 0x00000001062b2b5c in
>>>> llvm::orc::CompileOnDemandLayer::emitPartition(llvm::orc::MaterializationResponsibility,
>>>> llvm::orc::ThreadSafeModule, std::__1::map<llvm::orc::SymbolStringPtr,
>>>> llvm::GlobalValue*, std::__1::less<llvm::orc::SymbolStringPtr>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::SymbolStringPtr const,
>>>> llvm::GlobalValue*> > >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:320
>>>>
>>>> #42 0x00000001062b8470 in
>>>> llvm::orc::PartitioningIRMaterializationUnit::materialize(llvm::orc::MaterializationResponsibility)
>>>> at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:86
>>>>
>>>> #43 0x00000001062e2844 in
>>>> llvm::orc::MaterializationUnit::doMaterialize(llvm::orc::JITDylib&) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:563
>>>>
>>>> #44 0x00000001062db744 in
>>>> llvm::orc::ExecutionSession::materializeOnCurrentThread(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:1212
>>>>
>>>> #45 0x00000001062eaf98 in decltype(std::__1::forward<void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>(fp)(std::__1::forward<llvm::orc::JITDylib&>(fp0),
>>>> std::__1::forward<std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(fp0)))
>>>> std::__1::__invoke<void (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4425
>>>>
>>>> #46 0x00000001062eaef8 in void
>>>> std::__1::__invoke_void_return_wrapper<void>::__call<void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> > >(void
>>>> (*&)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:348
>>>>
>>>> #47 0x00000001062eae94 in std::__1::__function::__alloc_func<void
>>>> (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> std::__1::allocator<void (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >)>, void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1533
>>>>
>>>> #48 0x00000001062e980c in std::__1::__function::__func<void
>>>> (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >),
>>>> std::__1::allocator<void (*)(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >)>, void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1707
>>>>
>>>> #49 0x00000001062e2314 in std::__1::__function::__value_func<void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >&&) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1860
>>>>
>>>> #50 0x00000001062e2198 in std::__1::function<void
>>>> (llvm::orc::JITDylib&, std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit>
>>>> >)>::operator()(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2419
>>>>
>>>> #51 0x00000001062d76b4 in
>>>> llvm::orc::ExecutionSession::dispatchMaterialization(llvm::orc::JITDylib&,
>>>> std::__1::unique_ptr<llvm::orc::MaterializationUnit,
>>>> std::__1::default_delete<llvm::orc::MaterializationUnit> >) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:1198
>>>>
>>>> #52 0x00000001062d955c in
>>>> llvm::orc::ExecutionSession::runOutstandingMUs() at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2161
>>>>
>>>> #53 0x00000001062d623c in
>>>> llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind,
>>>> std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet,
>>>> llvm::orc::SymbolState, llvm::unique_function<void
>>>> (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,
>>>> llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,
>>>> llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,
>>>> llvm::JITEvaluatedSymbol> > >)>, std::__1::function<void
>>>> (llvm::DenseMap<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> >,
>>>> llvm::DenseMapInfo<llvm::orc::JITDylib*>,
>>>> llvm::detail::DenseMapPair<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> > > > const&)>) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2058
>>>>
>>>> #54 0x00000001062dc4b0 in
>>>> llvm::orc::ExecutionSession::lookup(std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet
>>>> const&, llvm::orc::LookupKind, llvm::orc::SymbolState,
>>>> std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> >,
>>>> llvm::DenseMapInfo<llvm::orc::JITDylib*>,
>>>> llvm::detail::DenseMapPair<llvm::orc::JITDylib*,
>>>> llvm::DenseSet<llvm::orc::SymbolStringPtr,
>>>> llvm::DenseMapInfo<llvm::orc::SymbolStringPtr> > > > const&)>) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2095
>>>>
>>>> #55 0x00000001062dc6f8 in
>>>> llvm::orc::ExecutionSession::lookup(std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags>,
>>>> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolStringPtr) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2120
>>>>
>>>> #56 0x0000000106392c40 in
>>>> llvm::orc::LazyCallThroughManager::callThroughToSymbol(unsigned long long)
>>>> at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp:54
>>>>
>>>> #57 0x00000001063a07a8 in llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)::operator()(unsigned long long) const at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:120
>>>>
>>>> #58 0x00000001063a0760 in decltype(std::__1::forward<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)&>(fp)(std::__1::forward<unsigned long long>(fp0)))
>>>> std::__1::__invoke<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)&, unsigned long long>(llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)&, unsigned long long&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4425
>>>>
>>>> #59 0x00000001063a06f4 in unsigned long long
>>>> std::__1::__invoke_void_return_wrapper<unsigned long
>>>> long>::__call<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)&, unsigned long long>(llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)&, unsigned long long&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:317
>>>>
>>>> #60 0x00000001063a06a8 in
>>>> std::__1::__function::__alloc_func<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long), std::__1::allocator<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)>, unsigned long long (unsigned long long)>::operator()(unsigned
>>>> long long&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1533
>>>>
>>>> #61 0x000000010639f038 in std::__1::__function::__func<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long), std::__1::allocator<llvm::Error
>>>> llvm::orc::LocalLazyCallThroughManager::init<llvm::orc::OrcAArch64>()::'lambda'(unsigned
>>>> long long)>, unsigned long long (unsigned long long)>::operator()(unsigned
>>>> long long&&) at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1707
>>>>
>>>> #62 0x0000000106349f94 in std::__1::__function::__value_func<unsigned
>>>> long long (unsigned long long)>::operator()(unsigned long long&&) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1860
>>>>
>>>> #63 0x0000000106349f30 in std::__1::function<unsigned long long
>>>> (unsigned long long)>::operator()(unsigned long long) const at
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2419
>>>>
>>>> #64 0x0000000106349858 in
>>>> llvm::orc::LocalTrampolinePool<llvm::orc::OrcAArch64>::reenter(void*,
>>>> void*) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:111
>>>>
>>>> #65 0x0000000117634090 in 0x117634090 ()
>>>>
>>>> #66 0x0000000106323a08 in llvm::orc::runAsMain(int (*)(int, char**),
>>>> llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>,
>>>> std::__1::allocator<char> > >, llvm::Optional<llvm::StringRef>) at
>>>> /Users/igorgomon/dev/third-party/llvm-project/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp:45
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> llvm-dev at lists.llvm.org
>>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200602/3692cdae/attachment-0001.html>


More information about the llvm-dev mailing list