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