
#9387: LLVM backend: redundant code for functions calling themselves -------------------------------------+------------------------------------- Reporter: jmoy | Owner: Type: feature | Status: closed request | Milestone: Priority: normal | Version: 7.6.3 Component: Compiler | Keywords: (LLVM) | Architecture: x86_64 (amd64) Resolution: invalid | Difficulty: Unknown Operating System: Linux | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by rwbarton): * status: new => closed * resolution: => invalid Comment: [http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-June/051355.html This mailing list thread] has more information on `opt` vs `llc`, with a similar example. Use `ghc -v` to see the steps GHC goes through to compile your file. It runs `opt` before `llc`, and you can see from inspecting `Fib.o` that the stack spilling is not present. (You can also inspect the actual intermediate files with `ghc -v -keep-tmp-files`.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9387#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler