[LLVMdev] ValueMapper question: no type mapping for GlobalValue?

Michael Muller mmuller at enduden.com
Thu Nov 15 06:07:44 PST 2012


Duncan Sands wrote:
> Hi Michael, did anything ever happen with this?

No.  I never got a reply from anyone so I didn't attempt a fix.

I can resume work on it.  Do I have agreement that the verifier should check
for this?

> 
> Ciao, Duncan.
> 
> On 17/01/12 14:45, Michael Muller wrote:
> >
> > So it looks like the verifier doesn't catch this condition - I think it
> > should.  The attached program reproduces the problem - verification succeeds,
> > but the linker fails with a type assertion.
> >
> > BTW, if no one has the bandwidth to work on this I'm willing to attempt a fix,
> > assuming that you agree that the verifier should discover this condition.
> >
> > Michael Muller wrote:
> >>
> >> =?ISO-8859-1?Q?Rafael_=C1vila_de_Esp=EDndola?= wrote:
> >>>> I can reproduce this consistently, but only under an extremely large pile of
> >>>> code :-)  I haven't tried to strip it down to minimal a test case yet, but I
> >>>> will.  One salient difference with the code you've provided is that in my
> >>>> code, @a is a struct type.  However, changing the example to use a minimal
> >>>> structure doesn't trigger the assertion failure.
> >>>
> >>> Is the example something you can share even in unreduced for?
> >>
> >> As it turns out, the root cause was that I had a GlobalVariable that wasn't
> >> being copied to an extern in the new module under some circumstances, but was
> >> being used directly.  I would have expected the verifier pass to catch this,
> >> but it looks like we're probably not using the verifier except when running
> >> non-optimized + debug, which I never tried.
> >>
> >> I'll recreate this situation just to verify that the verifier pass identifies
> >> the problem, if it doesn't I'll proceed from there but I'm currently assuming
> >> the problem is entirely ours :-)
> >>
> >> If you think the behavior of the ValueMapper is incorrect in this situation,
> >> I'd prefer to furnish you with a minimal test case - the unreduced form
> >> involves checking out and building a specific revision of the Crack compiler
> >> and running one of the tests in "native" (AOT compile) mode.
> >>
> >> Thank you for looking into this :-)
> >>
> >>>
> >>>> But I'm still curious: why doesn't the value mapper do type mapping on global
> >>>> variables?
> >>>
> >>> I am not sure. I would probably have to look at a failing example to
> >>> know what is going on.
> >>>
> >>> Cheers,
> >>> Rafael
> >>>
> >>
> >>
> >> =============================================================================
> >> michaelMuller = mmuller at enduden.com | http://www.mindhog.net/~mmuller
> >> -----------------------------------------------------------------------------
> >> We are the music-makers, and we are the dreamers of dreams
> >>   - Arthur O'Shaughnessy
> >> =============================================================================
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >
> >
> > =============================================================================
> > michaelMuller = mmuller at enduden.com | http://www.mindhog.net/~mmuller
> > -----------------------------------------------------------------------------
> > There is no way to find the best design except to try out as many designs as
> > possible and discard the failures. - Freeman Dyson
> > =============================================================================
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 


=============================================================================
michaelMuller = mmuller at enduden.com | http://www.mindhog.net/~mmuller
-----------------------------------------------------------------------------
Lokah Samasta Sukhino Bhavantu - May all beings everywhere be happy and free.
And may my own thoughts and actions contribute to that happiness and freedom.
=============================================================================



More information about the llvm-dev mailing list