<div dir="ltr">Hi List,<div><br></div><div>My IR compiles fine and runs. I've tried to add DebugIR pass so</div><div>as to be able to debug and profile it (since source is an SQL query</div><div>all that I can debug and profile is IR itself).</div>
<div><div><br></div><div>When I tried to add it to pass manager I got the following assert:</div><div><br></div><div><div>Program received signal SIGABRT, Aborted.</div><div>0x00007ffff3fe4425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64</div>
<div>64<span class="" style="white-space:pre">  </span>../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.</div><div>(gdb) bt</div><div>#0  0x00007ffff3fe4425 in __GI_raise (sig=<optimized out>)</div>
<div>    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64</div><div>#1  0x00007ffff3fe7b8b in __GI_abort () at abort.c:91</div><div>#2  0x00007ffff3fdd0ee in __assert_fail_base (fmt=<optimized out>, </div><div>    assertion=0x7fffef586208 "!isLiteral() && \"Literal structs never have names\"", </div>
<div>    file=0x7fffef585fb0 "/home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp", line=<optimized out>, </div><div>    function=<optimized out>) at assert.c:94</div><div>#3  0x00007ffff3fdd192 in __GI___assert_fail (</div>
<div>    assertion=0x7fffef586208 "!isLiteral() && \"Literal structs never have names\"", </div><div>    file=0x7fffef585fb0 "/home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp", line=581, </div>
<div>    function=0x7fffef589380 "llvm::StringRef llvm::StructType::getName() const") at assert.c:103</div><div>#4  0x00007fffef4e1755 in llvm::StructType::getName (this=0x6562c0)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp:581</div>
<div>#5  0x00007fffef4e0030 in llvm::Type::getStructName (this=0x6562c0)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp:195</div><div>#6  0x00007ffff2ec85b9 in (anonymous namespace)::DIUpdater::getOrCreateType (this=0x7fffffffd530, </div>
<div>    T=0x6562c0) at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:387</div><div>#7  0x00007ffff2ec8a1d in (anonymous namespace)::DIUpdater::getOrCreateType (this=0x7fffffffd530, </div><div>
    T=0x6565e0) at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:415</div><div>#8  0x00007ffff2ec88db in (anonymous namespace)::DIUpdater::getOrCreateType (this=0x7fffffffd530, </div><div>    T=0x656630) at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:406</div>
<div>#9  0x00007ffff2ec8cf0 in (anonymous namespace)::DIUpdater::createFunctionSignature (</div><div>    this=0x7fffffffd530, Func=0x672a10)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:441</div>
<div>#10 0x00007ffff2ec729f in (anonymous namespace)::DIUpdater::visitFunction (this=0x7fffffffd530, F=...)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:196</div><div>#11 0x00007ffff2eca2cc in llvm::InstVisitor<{anonymous}::DIUpdater, void>::visit(llvm::Function &) (</div>
<div>    this=0x7fffffffd530, F=...) at /home/kolkhovskiy/3rdparty/llvm/include/llvm/InstVisitor.h:102</div><div>#12 0x00007ffff2eca1d7 in llvm::InstVisitor<{anonymous}::DIUpdater, void>::visit<llvm::ilist_iterator<llvm::Function> >(llvm::ilist_iterator<llvm::Function>, llvm::ilist_iterator<llvm::Function>) (</div>
<div>    this=0x7fffffffd530, Start=..., End=...)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/include/llvm/InstVisitor.h:92</div><div>#13 0x00007ffff2eca0a6 in llvm::InstVisitor<{anonymous}::DIUpdater, void>::visit(llvm::Module &) (</div>
<div>    this=0x7fffffffd530, M=...) at /home/kolkhovskiy/3rdparty/llvm/include/llvm/InstVisitor.h:99</div><div>#14 0x00007ffff2ec9f97 in llvm::InstVisitor<{anonymous}::DIUpdater, void>::visit(llvm::Module *) (</div>
<div>    this=0x7fffffffd530, M=0x626360) at /home/kolkhovskiy/3rdparty/llvm/include/llvm/InstVisitor.h:111</div><div>#15 0x00007ffff2ec70dc in (anonymous namespace)::DIUpdater::DIUpdater (this=0x7fffffffd530, M=..., </div>
<div>    Filename=..., Directory=..., DisplayM=0x0, VMap=0x0)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:178</div><div>#16 0x00007ffff2ec9a96 in llvm::DebugIR::createDebugInfo (this=0x67e0e0, M=..., DisplayM=...)</div>
<div>    at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:564</div><div>#17 0x00007ffff2ec9c32 in llvm::DebugIR::runOnModule (this=0x67e0e0, M=...)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:590</div>
<div>#18 0x00007fffef4cb5e7 in llvm::MPPassManager::runOnModule (this=0x67cc60, M=...)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/PassManager.cpp:1608</div><div>#19 0x00007fffef4cbbfc in llvm::PassManagerImpl::run (this=0x67c970, M=...)</div>
<div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/PassManager.cpp:1703</div><div>#20 0x00007fffef4cbe0f in llvm::PassManager::run (this=0x67e0c0, M=...)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/PassManager.cpp:1738</div>
<div>#21 0x00007fffef3d73b8 in LLVMRunPassManager (PM=0x67e0c0, M=0x626360)</div><div>    at /home/kolkhovskiy/3rdparty/llvm/lib/IR/Core.cpp:2535</div><div><more frames follow, but belong to my own software></div></div>
<div><br></div><div>What does "Literal structs never have names" mean? Do i have a problem</div><div>somewhere in the IR?</div><div><br></div>-- <br><div>Regards,</div><div>Konstantin<br></div>
</div></div>