Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • 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 334
    • Issues 334
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #1223

Closed
Open
Created Mar 07, 2017 by Robert Bernecky@rbeDeveloper

LIR misses out on arrays

Bugzilla Link 1189
Created on Mar 07, 2017 20:20
Version svn
OS Linux
Architecture PC
Attachments bug2.sac

Extended Description

Created an attachment (id=1059)
source code to reproduce failure
In my local Build:  sac2c -V
sac2c 1.2-beta-BlackForest-400-g48da-dirty
build-type: DEBUG
built-by: "sac" at 2017-03-06T17:21:34
I observed the following, compiling with default options:
bool[20] _MAIN::_dup_863_main__Loop_0( bool[20] _dup_3532_Zrow { ,NN } , int colx { ,NN } )
/*
 *  _dup_863_main__Loop_0 ::  ---
 */
{
  int _al_868 { , NN } ;
  int _pinl_547__flat_32 { , NN } ;
  bool _pinl_548__flat_67 { , NN } ;
  bool[20] Crow__SSA0_3 { , NN } ;
  bool[20] Crow__SSA0_2 { , NN } ;
  _pinl_547__flat_32 = _add_SxS_( 1, colx);
  _al_868 = _add_SxS_( -19, colx);
  _pinl_548__flat_67 = _lt_SxS_( _al_868, 0);
  if (_pinl_548__flat_67)
  {
    Crow__SSA0_2 = _MAIN::_dup_863_main__Loop_0( _dup_3532_Zrow, _pinl_547__flat_32) ;
  }
  else
  {
  }
  Crow__SSA0_3 = ( _pinl_548__flat_67 ? Crow__SSA0_2 : _dup_3532_Zrow );
  return( Crow__SSA0_3);
}
Note that _dup_3532_Zrow is loop-invariant, yet it does not get lifted
out of the loop.
I am looking into this now.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking