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 394
    • Issues 394
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 24
    • Merge requests 24
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #1281
Closed
Open
Created Jan 12, 2017 by Sven-Bodo Scholz@sbsOwner

WLIR bug

Bugzilla Link 1186
Created on Jan 12, 2017 16:22
Version svn
OS All
Architecture PC

Extended Description

anything loop invariant is being lifted out of partitions, even if the partition potentially is empty!
This does not only potentially generate more work but it can also affect termination:
noinline int forever( int x)
{
  if( _eq_SxS_( x,0))
    res = forever(x);
  else
    res = x;
  return res;
}
noinline int[.] foo( int n)
{
  res = with {
          ([1] <= iv <[n]) : forever(0);
        } : genarray([n], 0);
  return res;
}
int main() {
  res = foo( 1);
  return _sel_VxA_( [0], res);
}
Here the call to forever is lifted out of the WL inhibiting the optimised program to terminate :-(
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking