[Mesa-dev] 761131ce4591e5f55f38d13f2c4d2194bc9cb0fd build regression with llvm 2.8

Will Schmidt will_schmidt at vnet.ibm.com
Thu Jul 26 12:02:39 PDT 2012


On Thu, 2012-07-26 at 11:35 -0700, Jose Fonseca wrote:
> 
> ----- Original Message -----
> > On Thu, 2012-07-26 at 10:31 -0700, Jose Fonseca wrote:
> > > ----- Original Message -----
> > > > On Thu, 2012-07-26 at 07:52 -0700, Jose Fonseca wrote:
> > > > > ----- Original Message -----
> > > > > > On 7/21/12 5:53 AM, Jose Fonseca wrote:
> > > > > > > ----- Original Message -----
> > > > > > >> Hi guys
> > > > > > >>
> > > > > > >> LLVM 2.8 doesn't appear to have mcjit, so we end up with
> > > > > > >> no
> > > > > > >> llvm
> > > > > > >> libs
> > > > > > >> defined,
> > > > > > >
> > > > > > > Yes, mcjit is only used/necessary from llvm-3.1 onwards, so
> > > > > > > the
> > > > > > > autoconf code should check conditiionally.
> > > > > > >
> > > > > > > BTW, I'll soon commit a change that will stop using mcjit
> > > > > > > from
> > > > > > > 3.2
> > > > > > > onwards (as with the current LLVM 3.2 trunk, AVX is
> > > > > > > supported
> > > > > > > by
> > > > > > > the old jit, which is more stable/polished).
> > > > 
> > > > Can you clarify the scope of "will stop using mcjit from 3.2
> > > > onwards"?
> > > 
> > > What I meant by that was already done in commit
> > > c30bf68946433d26f672c741a763bba4712aada7.
> > 
> > > > Is that specific to (the Intel AVX extensions?) related matters,
> > > > or
> > > > is
> > > > that a mesa-wide statement?    (I am specifically interested in
> > > > the
> > > > llvmpipe related parts that Adam touched on below).
> > > 
> > > The MC-JIT vs old JIT is currently a build time choice (based on
> > > #ifdef's). Essentially, we only use MC-JIT for LLVM 3.1, if AVX
> > > support hasn't been backported (ie. when not using my backports_31
> > > branch below).
> > 
> > Ok.  Between the explanation and the commit you mentioned above, it's
> > clearer now.  Thanks. :-)    Additional comment below.
> > 
> > > It could be made into a runtime choice if you prefer, ie., based of
> > > the availability of AVX. Or we could just disable MC-JIT
> > > altogether,
> > > and wait until it replaces the old jit upstream.
> > 
> > Per the "Help with PPC64 JIT" comments on llvm-dev last week, we are
> > currently working on MC-JIT, rather than oldJIT (This ultimately in
> > support of mesa/llvmpipe functionality on ppc64).   Some of the work
> > is
> > occurring with fedora17 based sources, but most on Trunk/HEAD.  (so
> > HAVE_LLVM == 0x0302 ).
> > 
> > So would prefer some way to specify that MC-JIT be used.  A run-time
> > (or
> > easy build-time configure option) choice would be nice.
> 
> That's easy: you can just add a #ifdef stanza to that code saying
> 
> #if HAVE_LLVM >= 0x0302 && defined(PIPE_ARCH_PPC) //(or something like it)
> # define USE_MCJIT 1
> # define HAVE_AVX 0
> #elif ...
> 
> When you're ready.
> 
> I'll ensure that the current support for MC-JIT doesn't degrade.

Sounds good, Thanks!   :-)

> 
> Jose
> 




More information about the mesa-dev mailing list