constraints are optimised wrongly by symbolic CF
| Bugzilla Link | 525 |
| Created on | Jul 14, 2009 21:20 |
| Resolution | FIXED |
| Resolved on | Jul 15, 2009 12:25 |
| Version | 1.00beta |
| OS | Linux |
| Architecture | PC |
| Attachments | bug.sac |
Extended Description
Created an attachment (id=552) source code sac2c rev 16177 compile with -noprelude -check c running the binary will produce a constraint error. running -b10 shows: _flat_0 = 1; shp = _MAIN::aud( _flat_0); _idc_27, _icc_16_pred = _non_neg_val_V_( shp); _idc_28, _idc_29, _icc_19_pred = _same_shape_AxA_( _idc_27, _idc_27); _idc_30, _icc_20_pred = _val_le_val_VxV_( _idc_29, _idc_29); _flat_3 = 0; _flat_2 = _mul_SxV_( _flat_3, _idc_30); _idc_31, _icc_15_pred = _non_neg_val_V_( _flat_2); _idc_32, _idc_33, _icc_17_pred = _same_shape_AxA_( _idc_31, _idc_30); _idc_34, _icc_18_pred = _val_le_val_VxV_( _idc_32, _idc_33); _flat_1 = 2; which looks ok to me running -b11 yields: _flat_0 = 1; shp = _MAIN::aud( _flat_0); _idc_27, _icc_16_pred = _non_neg_val_V_( shp); _idc_30, _icc_20_pred = _val_le_val_VxV_( _idc_27, _idc_27); _flat_2 = _mul_SxV_( 0, _idc_30); _idc_31, _icc_15_pred = _non_neg_val_V_( _flat_2); _idc_34, _icc_18_pred = _val_le_val_VxV_( _idc_30, _idc_31); _flat_1 = 2; the last _val_le_val_VxV_ has been muddled up!! compilation -noCF makes this bug go away.....