[M3devel] what is wrong with TIntN?

Jay K jay.krell at cornell.edu
Thu Oct 25 10:12:41 CEST 2012


When faced with

VAR a := FIRST(INTEGER) + 1;VAR b := LAST(INTEGER) + 1;VAR c := LAST(INTEGER) + 1 - 1;VAR d := (a > 0);

I would like backends to optimize initialization a,not optimize initialization of b,and probably not optimize initialization of c,and hopefully optimize initialization of d, but that is moredifficult in the C backend.

Fold constants when it is obviously safe.Do not fold constants when there is a chance of overflow -- evenat intermediate points of the expression.

This is why I believe TIntN is useful.

I bring this up because I'm about to add constant folding to M3C.m3.And to introduce use of TIntN.Which Tony has insisted is wrong, i.e. use in M3x86.m3.


Thanks, - Jay 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20121025/b5fc24e2/attachment-0001.html>


More information about the M3devel mailing list