AINL changes mark main() and other user-defined fns as "inline"
|
|
Bugzilla Link |
1174 |
Created on |
Nov 23, 2015 21:13 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
Recent changes to AINL result in over-exuberant inlining directives
being inserted for user-defined functions.
E.g.:
sac2c SCSprf_reshape.sac -v1 -bopt:cyc:ainl:1 >crud.ainl1
sac@rattler:~/sac/testsuite/optimizations/constantfolding$ vi crud.ainl1
sac@rattler:~/sac/testsuite/optimizations/constantfolding$
sac@rattler:~/sac/testsuite/optimizations/constantfolding$ sac2c SCSprf_reshape.sac -v1 -bopt:cyc:cse:1 >crud.cse1
sac@rattler:~/sac/testsuite/optimizations/constantfolding$ vi crud.cse1
sac@rattler:~/sac/testsuite/optimizations/constantfolding$ diff crud.cse1 crud.ainl1
1325a1326
> inline
5289a5291
> inline
The new inline directives are for main() and id(), neither of which
should be inlined.
sac2c -V
sac2c 1.2.beta-BlackForest-89-fd249
developer
(Mon Nov 23 11:48:14 EST 2015 by sac)
The above resulted in 91 grep failures for the CF unit test suite, far more
than we should see there.