Someone (WLF?) still propagates constants into WL generator bounds
|
|
Bugzilla Link |
609 |
Created on |
Nov 26, 2009 22:30 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
sac2c slice.sac -b11
where slice.sac is:
use Array: all;
int main()
{
shp = [25];
ylo = [5];
yhi = [25];
xlo = ylo - [8];
xhi = yhi + [20];
z = with {
( xlo <= iv <= xhi) : _sel_VxA_( [0], iv);
( ylo <= iv <= yhi) : _sel_VxA_( [0], iv);
} : genarray ( shp, 42);
StdIO::print(z);
return(0);
}
produces:
z = with {
([ 5 ] <= iv__SSA0_1=[_eat_23] < [ 26 ] genwidth [ _wlsimp_627 ])
{
/* empty */
} : _eat_23 ; ,
([ 0 ] <= iv__SSA0_1=[_eat_23] < [ 5 ] genwidth [ _wlsimp_626 ])
{
/* empty */
} : _eat_23 ;
} :
genarray( [ 25 ]);
I'm guessing WLF because if I compile with -nowlf, we get N_id nodes in
the generator bounds.