ICC gets confused across WLs when inserting guards
|
|
Bugzilla Link |
863 |
Created on |
Aug 26, 2011 17:30 |
Resolution |
FIXED |
Resolved on |
Oct 10, 2011 22:24 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
SCCFprf_sel5.sac |
Extended Description
Created an attachment (id=814)
source code to reproduce failure
In the following unit test, a guard result, located
within a WL, is used as a guard argument within a subsequent
WL, even though the result should be out of scope for
any reference outside the first WL.
cd ~/sac/testsuite/optimizations/constantfolding
sac2c SCCFprf_sel5.sac -ecc -bcwc:icc >crud
Some extracts from crud's main():
In first WL ( _icc_53):
_idc_95, _idc_96, _icc_52_pred = _same_shape_AxA_( _flat_5, _flat_1);
In second WL ( _icc_66):
_idc_100, _idc_101, _icc_65_pred = _same_shape_AxA_( _flat_10, _idc_96);
Note the reference to _idc_96 in second WL!
This causes MANY failures in the CF unit test suite! It also
cripples AWLF (via crashes) in many cases, because AWLF
is reliant on -ecc being enabled.
This fails on:
sac2c v1.00-beta (Haggis And Apple)
developer rev 17572:MODIFIED linux-gnu_x86_64
(Fri Aug 26 11:36:11 EDT 2011 by sac)