[llvm-commits] [PATCH] Adding the Linpack test to the test suite

Duncan Sands baldrick at free.fr
Mon Nov 26 05:37:17 PST 2012


Hi Renato,

> I believe some of the array variables are uninitialized (ex. z[]). Can
> you initialize z[] together with y[] (around line 334, with i or
> i*fuzz, doesn't matter) and test with and without LTO/interalize? I
> believe that all other problems have a similar nature, but I need to
> be sure before attempting a fix.
>
> Initializing z[] should fix kernels 1, 3, 5, 7, 13, and 20.

it looks to me like z is initialized (to all zero bits).  That's because z is
actually as1.Z, which as a C global variable is default initialized to zero.
In the IR you can see:
@as1 = common global %struct.Arrays zeroinitializer, align 32

Also, valgrind's memcheck and exp-sgcheck tools don't complain about any uses
of uninitialized variables.

But perhaps you mean that initializing to zero is wrong and it should be set to
something else?

Ciao, Duncan.

>
> cheers,
> --renato
>
> On 26 November 2012 13:21, Duncan Sands <baldrick at free.fr> wrote:
>> Hi Renato,
>>
>>
>> On 26/11/12 14:12, Renato Golin wrote:
>>>
>>> On 26 November 2012 05:29, Duncan Sands <baldrick at free.fr> wrote:
>>>>
>>>> LivermoreLoops is more interesting.  With dragonegg it works fine as long
>>>> as
>>>> you don't do link-time optimization (which the testsuite does by
>>>> default).  In
>>>> fact to get the failures it is enough to run "internalize" and then some
>>>> standard
>>>> set of optimization passes.  I didn't get to the bottom of this yet.
>>>
>>>
>>> Hi Duncan,
>>>
>>> This makes a lot more sense than my previous assumption they had to do
>>> with random numbers (since if they did, it wouldn't pass every single
>>> time on my machine).
>>>
>>> I'll dig the failing tests for more info and try to reproduce this
>>> behaviour on my machine. Is there a way of getting the configuration
>>> used for that test-suite run?
>>
>>
>> I've attached the dragonegg generated IR file.  Here's what happens on my
>> machine:
>>
>> $ lli kernel01.ll
>> 114.305175
>>
>> Which is correct.
>>
>> $ opt -std-link-opts kernel01.ll -o - | lli
>> -520779438942085797417621673404093110237783362328307722282109763584.000000
>>
>> Some kind of random number.
>>
>> Ciao, Duncan.
>
>
>




More information about the llvm-commits mailing list