[GHC] #9142: LLVM HEAD rejects aliases used by LLVM codegen
GHC
ghc-devs at haskell.org
Thu May 29 13:05:34 UTC 2014
#9142: LLVM HEAD rejects aliases used by LLVM codegen
-------------------------------------+------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: new
Priority: high | Milestone:
Component: Compiler | Version: 7.8.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: 4213 | Related Tickets:
-------------------------------------+------------------------------------
Comment (by scpmw):
Function definitions aren't really the problem. Once we know the live
global registers, we'd know their type (see `llvmFunTy`). We could
/theoretically/ find these from a call in Cmm.
However, I feel like this is the wrong approach anyway. Even if we could
enumerate all offending Cmm constructs at this point, there is no telling
whether we will have more problematic Cmm in the future. We don't want to
get into a game of whack-a-mole just for a rather cosmetic feature like
streaming. Bringing Stg into the fold would most likely to make that
problem even worse.
In my mind, we should wait for the LLVM situation to stabilize, then we'll
implement either
1. What we have right now, with possibly minor changes
2. A step prepending aliases, if this is what LLVM likes better (unlikely,
but I'll test it)
3. A search-and-replace step where we first emit placeholders, then later
fill in the types (your option 3)
4. Remove streaming entirely (pretty much equivalent to your options 1 and
2)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9142#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list