[GHC] #10074: Implement the 'Improved LLVM Backend' proposal
GHC
ghc-devs at haskell.org
Fri Mar 17 08:05:10 UTC 2017
#10074: Implement the 'Improved LLVM Backend' proposal
-------------------------------------+-------------------------------------
Reporter: thoughtpolice | Owner: angerman
Type: task | Status: new
Priority: high | Milestone: 8.4.1
Component: Compiler (LLVM) | Version:
Resolution: | Keywords: llvm, codegen
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #11295, #12470 | Differential Rev(s): Phab:D530
Wiki Page: |
wiki:ImprovedLLVMBackend |
-------------------------------------+-------------------------------------
Comment (by awson):
Ah, it looks so much happened under the hood which I wasn't aware of!
A couple of comments and answers then:
1. `-flto` doesn't work on windows even on the current llvm5 and won't in
the foreseeable future, because it requires GOLD linker plugin to work on
unices, and we have neither on windows.
2. AFAIUI, Matthias Braun's early advice to use `clang` driver was mostly
inspired by his ignorance of how different STG execution model is from
that of C, later he understood this and stated that since we need `-fllvm`
anyway, i.e. need to bypass `clang`'s "high-level" predefined `-OX` sets
of options then either using `clang` or `opt/llc` drivers is "equally
good/bad" in our use case.
3. Btw, why can't we simply do `ghc -> llvm ir -> clang -> mangler -> as
-> object` if we still need the mangler? Or we can but *don't want*?
4. Even if not using `clang`, a part of your patches in
[https://phabricator.haskell.org/D3352] still looks relevant, e.g. we can
drop `pprLlvmHeader/moduleLayout` thingy since it is inferred by LLVM
tools from module target triple anyway.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10074#comment:20>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list