CSE misses constants in SAACYC when compiling buildv2.sac
|
|
Bugzilla Link |
647 |
Created on |
Jan 01, 2010 16:49 |
Resolution |
FIXED |
Resolved on |
Jan 11, 2010 20:10 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
buildv2.sac |
Extended Description
Created an attachment (id=638)
Source code to reproduce fault
Not sure exactly what's going on here, but when I do this:
sac2c -extrema -doawlf -nowlf sac/apex/buildv2/buildv2.sac
_pinl_3856__isaa_3147_bound1 = 1;
_pinl_3857__isaa_3148_bound1 = [ 1 ];
_pinl_3879__isaa_3171_idxmax = 1;
_pinl_3880__isaa_3172_idxmax = [ 1 ];
_pinl_3882__isaa_3174_idxmin = 1;
_pinl_3883__isaa_3175_idxmin = [ 1 ];
This code remains unchanged over several iterations of SAACYC.
Running with -#d,CSE reveals:
SetSubstAttr: CSE: substitute ids _pinl_3883__isaa_3175_idxmin with _pinl_3857__isaa_3148_bound1
CSElet: CSE: Common subexpression eliminated in line 155
So, CSE thinks it's doing the right thing, but the change does
not materialize in the resulting code.
This with Build #developer rev 16697:MODIFIED