[GHC] #10170: Find versioned versions of LLVM tools

GHC ghc-devs at haskell.org
Sat Mar 21 09:24:05 UTC 2015


#10170: Find versioned versions of LLVM tools
-------------------------------------+-------------------------------------
        Reporter:  erikd             |                   Owner:  erikd
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:  7.12.1
       Component:  Compiler (LLVM)   |                 Version:  7.11
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by erikd):

 I've been doing some hacking on this and here is my current solution (for
 now `X.Y` is `3.6`):

 * The configure script should check for `llc-X.Y` and `opt-X.Y` *before*
 it checks for plain `llc` and `opt`.
 * Only check for plain `llc` and `opt` if the explicitly versioned ones
 are not found.
 * If it finds plain `llc` and `opt` check that the version is `X.Y`.

 The above currently works, but causes other problems in this check:

 {{{
 checking whether bootstrap compiler is affected by bug 9439... You are
 using a new version of LLVM that hasn't been tested yet!
 We will try though...
 /usr/bin/opt-3.6: /tmp/ghc12163_0/ghc12163_2.ll:7:6: error: unexpected
 type in metadata definition
 !0 = metadata !{metadata !"top", i8* null}
      ^
 failed to compile
 }}}

 The problem here is that this checks the bootstrap compiler bug using the
 detected `LlcCmd` (which now *must* be `llc-3.6`) which doesn't support he
 LLVM IR syntax above. I think is in-correct.

 The bootstrap compiler should already have the location of the `llc` and
 `opt` it was compiled for in its `settings` file (these have been present
 in that file since ghc 7.6 but they are not present in eg 7.4.2). Its the
 llc version in the settings file which should be checked for bug #9439,
 not the one detected by the configure script.

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


More information about the ghc-tickets mailing list