[llvm-dev] Intrinsics Lowering

Alex Denisov via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 23 08:41:06 PDT 2019


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/20190723/102c79a8/attachment.sig>


More information about the llvm-dev mailing list