A registerised mips-linux port of GHC

Simon Marlow simonmarhaskell at gmail.com
Fri Aug 25 10:54:01 EDT 2006


Thiemo Seufer wrote:
> Simon Marlow wrote:
> 
>>Thiemo Seufer wrote:
>>
>>
>>>I decided to ignore the performance tuning for now and used a register
>>>mapping which is compatible to all three relevant MIPS ABIs. It uses
>>>4 callee-saved registers as R1-R4, plus 4 temporaries (caller-saved)
>>>registers as R5-R8.
>>>
>>>With the appended patch to support a registerised build of GHC 6.4.2 on
>>>Debian mips-linux I got those testsuite results:
>>>
>>>OVERALL SUMMARY for test run started at Wed Aug 23 20:12:05 BST 2006
>>>    674 total tests, which gave rise to
>>>   1883 test cases, of which
>>>     21 caused framework failures
>>>    369 were skipped
>>>
>>>   1407 expected passes
>>>     22 expected failures
>>>      0 unexpected passes
>>>     41 unexpected failures
>>>
>>>Unexpected failures:
>>>  barton-mangler-bug(normal,opt,prof,threaded)
>>>  cabal01(normal)
>>>  cg005(prof)
>>>  char001(prof)
>>>  directory001(prof)
>>>  driver062.2(normal)
>>>  drvrun006(normal)
>>>  drvrun018(opt)
>>>  enum02(threaded)
>>>  exceptions001(normal)
>>>  ext1(prof)
>>>  fed001(normal,opt,prof,threaded)
>>>  ffi006(normal,opt,prof,threaded)
>>>  ffi007(normal,opt,prof,threaded)
>>>  ffi008(normal)
>>>  finalization001(threaded)
>>>  freeNames(threaded)
>>>  galois_raytrace(opt,prof)
>>>  ioref001(normal,prof,threaded)
>>>  joao-circular(normal,opt,prof,threaded)
>>>  ratio001(prof)
>>>  uri001(prof)
>>>  xmlish(prof)
>>
>>Congratulations, that does look pretty good.  Leaving out 
>>barton-mangler-bug (probably floating-point rounding differences) and the 
>>ffi tests (lack of Adjustor.c support), there aren't many failures.  
>>Although there don't seem to be any pattern to the remaining failures, 
>>which is perhaps slightly worrying - were they all segfaults, and are they 
>>repeatable?
> 
> 
> Hm, I think I don't understand how the testsuite works. There seems to
> be no record of the test results, and I missed to log the output.

Yes, perhaps the test driver should automatically log the output.  Normally I 
use tee.

I noticed something else strange about your test run: you only have 674 tests, 
but the testsuite should have nearly 1400.  Maybe those framework failures are 
related to this.

> I looked at the driver062.2 failure, and the binary seems to work fine,
> except that there's no matching stdout file in the testsuite tarball.
> I figure it fails on all platforms that way.
> 
> Also, I'm more worried about the 21 test framework failures. How can I
> find out what happened there?

Looking at the log is the only way, I'm afraid.

> 
>>I've committed your patch, thanks.
> 
> 
> The assembler call wrapper in StgCRun has a typo which hides some bugs
> (a missing colon before the clobber list). This probably explains some
> failures, I'm doing a rebuild and a testsuite rerun with a fixed
> version of the wrapper.

So there should be a colon before "$16", right?

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list