Sadly, the issue was gone after I cleaned up all the possible local caches/build
artefacts, so I could not nail down what was the actual problem.
But my questions still hold, would be nice to understand this aspect better.
> On 23. Jul 2019, at 17:41, Alex Denisov <1101.debian at gmail.com>
wrote:
>
> Hi folks,
>
> I'm converting LLVM Bitcode into assembly file via pass manager, e.g.:
>
> legacy::PassManager passManager;
> targetMachine->addPassesToEmitFile(passManager, output,
TargetMachine::CGFT_AssemblyFile));
> passManager.run(module);
>
> That works fine, but in some cases lifetime.start/end intrinsics are not
replaced and I end up with external symbols for the lifetime.start/end
intrinsics.
> I'd appreciate if anyone can give some hints and answer the following
questions about intrinsics in general and for the lifetime.start/end intrinsics
in this case:
>
> 1. What affects the lowering of intrinsics?
> 2. Do I need to additionally include some special pass or they are lowered
unconditionally?
> 3. Does the lowering mechanism depends on the target machine? Host machine?
>
> If that matters, I tried LLVM 5 and LLVM 8, got the same results.
> Any hints or suggestions highly appreciated!
>
> Cheers,
> Alex.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: Message signed with OpenPGP
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190729/5c3e7bd9/attachment.sig>