[llvm-dev] Can LLVM emit machine code faster with no optimization passes? (original) (raw)
Andrew Kelley via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 12 08:15:35 PDT 2016
- Previous message: [llvm-dev] Warning on custom attribute
- Next message: [llvm-dev] Can LLVM emit machine code faster with no optimization passes?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello,
Recently Jonathan Blow posted a short screencast discussing build time of his compiler with when no optimizations are run on the user's code.
Part 1: https://www.youtube.com/watch?v=HLk4eiGUic8 Part 2: https://www.youtube.com/watch?v=mIjGYbol0O4
He discusses what parts are taking the longest to compile, and the ultimately shows this: http://i.imgur.com/BkbKcJK.png ...which shows that emitting LLVM IR in memory and LLVMTargetMachineEmitToFile is the bottleneck in his compiler toolchain.
In fact, it was significantly faster to emit C to disk and compile with MSVC than to emit LLVM in memory and call LLVMTargetMachineEmitToFile.
His conclusion is that he will not depend on LLVM when his users compile with optimizations off, instead directly emitting x86_64 machine code into an object file.
Needless to say, this is duplicate effort. Is there any way the LLVM project could speed things up when no optimizations are run?
As another compiler author (http://ziglang.org/), I want to compete with Jon's speed without having to duplicate the effort that LLVM already solves.
Thanks for your time. Andrew -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161012/520a6075/attachment.html>
- Previous message: [llvm-dev] Warning on custom attribute
- Next message: [llvm-dev] Can LLVM emit machine code faster with no optimization passes?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]