
#10074: Implement the 'Improved LLVM Backend' proposal -------------------------------------+------------------------------------- Reporter: thoughtpolice | Owner: thoughtpolice 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 angerman): Replying to [comment:9 dobenour]:
I think that we should run loop unswitching early in the pipeline, to remove redundant heap/stack checks.
How can we track aliasing information better?
LLVM supports dereferencable annotations. Those might be able to help. The Data.Bitcode stuff I wrote doesn't need the aliasing anymore. However another option would be to teach cmm lable types or not take of from cmm, but stg.
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10074#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler