WLPG introduces duplicate partition
|
|
Bugzilla Link |
611 |
Created on |
Nov 26, 2009 23:28 |
Resolution |
INVALID |
Resolved on |
Nov 30, 2009 20:29 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
emptycodeblock.sac |
Extended Description
Created an attachment (id=615)
Source code to reproduce fault
The attached produces what looks to me like a 3-partition WL for
rotate() with Build # developer rev 16638, when compiled with:
sac2c emptycodeblock.sac -b11 >crud
Specifically, I see that the second WL looks like this:
_pinl_679_result = with {
(_pinl_731__wlbsc_512_sc_bound <= _pinl_676_iv=[_pinl_692__eat_31] (IDXS:_wlidx_1665__pinl_679_result) < _pinl_540__flat_5)
{
_ivesplit_1674 = _wlidx_1665__pinl_679_result;
_pinl_950__flat_134 = _idx_sel_( _ivesplit_1674, XXX);
} : _pinl_950__flat_134 ; ,
(_pinl_548__wlpg_366_zeros <= _pinl_676_iv=[_pinl_692__eat_31] (IDXS:_wlidx_1665__pinl_679_result) < _pinl_740__wlbsc_521_sc_bound)
{
_ivesplit_1674 = _wlidx_1665__pinl_679_result;
_pinl_950__flat_134 = _idx_sel_( _ivesplit_1674, XXX);
} : _pinl_950__flat_134 ; ,
(_pinl_740__wlbsc_521_sc_bound <= _pinl_676_iv=[_pinl_692__eat_31] (IDXS:_wlidx_1665__pinl_679_result) < _pinl_540__flat_5)
{
_pinl_753__flat_1123 = _sub_SxS_( _pinl_692__eat_31, _pinl_689_count__SSA0_3);
_ivesplit_1673 = _pinl_753__flat_1123;
_pinl_678__flat_16 = _idx_sel_( _ivesplit_1673, XXX);
} : _pinl_678__flat_16 ;
} :
modarray( XXX ,IDX(_wlidx_1665__pinl_679_result));
If I'm reading that right, we have these partition bounds:
r = rotatecount;
N = array shape
P0: [ max(0, r) ] --> [ N]
P1: [ 0 ] --> [ r ]
P2: [ r ] --> [ N ]