WLBSC causes loss of GENARRAY_SHAPE in LACS unit test simpleLoopAKD.sac
|
|
Bugzilla Link |
1020 |
Created on |
Sep 07, 2012 20:43 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
crud.sac |
Extended Description
Created an attachment (id=930)
source code to reproduce fault
This is probably not a new bug, but it showed up in my LACS unit tests.
sac2c crud.sac -bopt:uglf -v1 -doawlf -nowlf >crud2
sac2c -V
sac2c v1.00-beta (Haggis And Apple)
product rev 18215:MODIFIED linux-gnu_x86_64
(Thu Sep 6 17:32:00 EDT 2012 by sac)
Basically, we have this expression in a LOOPFUN:
ZZ = ZZ + ( scalar * BBB);
It should be AWLF'd, but that does not happen, because the
GENARRAY_SHAPEs do not match. We have, between them, essentially this:
_pinl_284__wlbsc_186_sc_e = _idx_sel_( _wlbsc_409_sc_e, shape(BBB));
shapeZZnew = [ _pinl_284__wlbsc_186_sc_e ];
This is a case for IVUTarrayFromProxySel. It will have to appear
in AWLF, but should also appear in LACS and WLPROP, because
the effect of the above is to make loop-independent variables
look to be loop-dependent, because ID_AVIS(shapeZZnew) !- ID_AVIS(shape(BBB)).