CF needs CSE to run first if -ecc enabled
Bugzilla Link | 425 |
Created on | May 10, 2008 20:27 |
Version | 1.00beta |
OS | Linux |
Architecture | PC |
Attachments | SCCFprf_modarray5.sac |
Extended Description
Created an attachment (id=469) Source code to reproduce above fault This is part of the result of compiling sac/testsuite/optimizations /constantfolding/SCCFprf_modarray5.sac with: sac2c -b11 -ecc SCCFprf_modarray5.sac: x = [ [ two, three ], [ four, five ] ]; _ivesplit_1149 = _vect2offset_( [ 2, 2 ], iv); _icc_36 = _idx_modarray_AxSxS_( x, _ivesplit_1149, 42); _ivesplit_1150 = _vect2offset_( [ 2, 2 ], iv); _icc_40 = _idx_sel_( _ivesplit_1150, _icc_36); Note the two vect2offsets are identical, but CSE has not picked up on this. That makes CF unable to optimize the sel() into _icc_40 = 42; If I compile without -ecc, the optimization works properly. I am reluctant to change compiler phase ordering or to introduce new CSE calls without some other eyeballs on the case.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information