esdcse destroys guard dataflow in CF unit test SCCFprf_modarray5.sac
|
|
Bugzilla Link |
758 |
Created on |
Oct 08, 2010 17:35 |
Resolution |
INVALID |
Resolved on |
Oct 08, 2010 19:16 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
SCCFprf_modarray5.sac |
Extended Description
Created an attachment (id=760)
source code to reproduce fault
Summary says it all.
Build #17084:17087:MODIFIED
Using: sac2c SCCFprf_modarray5.sac -ecc
After -bopt:cyc:esdcf, we have:
_flat_7 = [:int];
_idc_40, _icc_30_pred = _shape_matches_dim_VxA_( _flat_7, cltwo);
_uprf_512 = true;
_icc_31_pred = _uprf_512;
_idc_41 = [:int];
_idc_42, _icc_32_pred = _val_lt_shape_VxA_( _idc_41, cltwo);
_uprf_511 = true;
_icc_35_pred = _uprf_511;
_idc_43 = [:int];
_icc_33 = _modarray_AxVxS_( cltwo, _idc_43, _idc_39);
After -bopt:cyc:esdcse, we have (look at _flat_7):
_flat_7 = [:int];
_idc_40, _icc_30_pred = _shape_matches_dim_VxA_( _flat_7, cltwo);
_uprf_512 = true;
_icc_31_pred = _flat_1;
_idc_41 = [:int];
_idc_42, _icc_32_pred = _val_lt_shape_VxA_( _flat_7, cltwo);
_uprf_511 = true;
_icc_35_pred = _flat_1;
_idc_43 = [:int];
_icc_33 = _modarray_AxVxS_( cltwo, _flat_7, _idc_39);
This destroys the dataflow, which is A Bad Thing.
Probable cause is overly enthusiastic PM in CSE.