[M3devel] Open CM3 regression tests

Tony Hosking hosking at cs.purdue.edu
Sun Jan 27 22:31:22 CET 2008


It is the *front* end that compiles small sets into word operations.   
The backend doesn't even see small sets.  So, this suggests that the  
small sets are failing due to some interaction between the front end  
and back end.

On Jan 27, 2008, at 3:54 PM, Olaf Wagner wrote:

> Quoting Tony Hosking <hosking at cs.purdue.edu>:
>
>> Are your sets larger than a single word?  The M3 frontend compiles
>> small sets (elements <= BITSIZE(Word.T)) differently from large
>> (elements > BITSIZE(Word.T)).  The out-of-line set operations are  
>> only
>> for large sets.
>
> These are small sets. There are other tests for large sets, which seem
> to succeed.
>
> So obviously the problem is in the cm3cg backend, as in m3middle
> set_compare will only write
>
>     Cmd   (u, OpName [op]);
>     Int   (u, s);
>     TName (u, t);
>
> which then gets read by the actual code generator.
> I guess one of you guys will be much faster tracking this down
> through the gcc tree construction and manipulation code. It's been
> several years that I have had a look at that.
>
> Olaf
> -- 
> Olaf Wagner -- elego Software Solutions GmbH
>                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin,  
> Germany
> phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23  
> 45 86 95
>    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz:  
> Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr:  
> DE163214194
>




More information about the M3devel mailing list