[GHC] #9142: LLVM HEAD rejects aliases used by LLVM codegen

GHC ghc-devs at haskell.org
Sat May 24 21:52:12 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:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by bgamari):

 There are two cases to worry about here, as shown in
 [https://github.com/ghc/ghc/blob/a948fe838bc79363d7565033d6ee42bf24d52fdc/compiler/llvmGen/LlvmCodeGen/Base.hs#L441
 generateAliases],

     1. The case of an externally defined symbol where we don't know the
 type (where `m_ty` is `Nothing`)
     2. The case of a symbol for which we have a definition and therefore a
 type

 Case 1 can be handled with something like the attached patch.

 Frustratingly, case 2 cannot be as LLVM already knows the type and
 [https://github.com/llvm-
 mirror/llvm/blob/68b0d1d2b47f1be8eec2ce57c8119906c354ccd8/lib/AsmParser/LLParser.cpp#L692
 refuses] to accept that we know what we are doing when we attempt to cast
 to a `i8*` (e.g. with a `bitcast` or `inttoptr`/`ptrtoint`). It seems that
 this will require an upstream fix.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9142#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list