[llvm-dev] Intrinsics Lowering

Alex Denisov via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 29 06:22:20 PDT 2019


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>


More information about the llvm-dev mailing list