Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • sac2c sac2c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 395
    • Issues 395
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 19
    • Merge requests 19
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #1292
Closed
Open
Created Nov 23, 2015 by Robert Bernecky@rbeDeveloper

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.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking