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)).