[GHC] #4213: LLVM: Add support for TNTC to LLVM compiler suite

GHC ghc-devs at haskell.org
Sat May 24 01:55:16 UTC 2014


#4213: LLVM: Add support for TNTC to LLVM compiler suite
-------------------------------------+------------------------------------
        Reporter:  dterei            |            Owner:  dterei
            Type:  feature request   |           Status:  new
        Priority:  low               |        Milestone:  7.6.2
       Component:  Compiler (LLVM)   |          Version:  6.13
      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):

 '''Replying to [comment:21 altaic]'''
 > Is there any reason to not propose to change LLVM's prefix semantics
 such that the function's symbol points to the function body rather than
 the prefix data?

 I hope that the LLVM folks would reject outright any proposal to change
 the semantics of an already released feature in a non-compatible way.
 Especially when there is nothing wrong with the existing semantics.


 '''Replying to [comment:19 altaic]:'''
 > Re. patching LLVM: Are there any other uses of the symbol offset feature
 than fixing the symbols for functions that use prefix data? If not, how
 about patching the LLVM prefix code to accept an option (a bool) to have
 symbols point to the function entry?

 As I understand it, the proposals were designed explicitly to keep the
 matters of prefix data and symbol offsets orthogonal. In my opinion this
 was the right decision, even if it does require a bit more work.

 The only issue here is that symbol offset support was never implemented. I
 have a patch for this although it needs a little reworking.


 '''Replying to [comment:20 dterei]:'''
 >  Firstly, its cool that LLVM has added this. It seems we could indeed
 implement TNTC with it. However based my quick understanding we couldnt
 implement it in a wag compatible with the current design.

 See above. There is no reason why TNTC can't be implemented once symbol
 offsets are in place.

 Your points surrounding the mangler's other roles are valid but I'd still
 say we should start trimming it where we can. If we can support TNTC
 without shuffling sections around, we are a little closer to deprecating
 the mangler.

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


More information about the ghc-tickets mailing list