sac2c issueshttps://gitlab.sac-home.org/sac-group/sac2c/-/issues2017-11-19T20:37:32Zhttps://gitlab.sac-home.org/sac-group/sac2c/-/issues/1309WLS screws up default partition2017-11-19T20:37:32ZSven-Bodo ScholzWLS screws up default partition| | |
| --- | --- |
| Bugzilla Link | [596](http://bugs.sac-home.org/show_bug.cgi?id=596) |
| Created on | Nov 18, 2009 02:01 |
| Version | 1.00beta |
| OS | All |
| Architecture | PC |
| Attachments | [CalcCohCoefs.sac](/uploads/cc8c6...| | |
| --- | --- |
| Bugzilla Link | [596](http://bugs.sac-home.org/show_bug.cgi?id=596) |
| Created on | Nov 18, 2009 02:01 |
| Version | 1.00beta |
| OS | All |
| Architecture | PC |
| Attachments | [CalcCohCoefs.sac](/uploads/cc8c6e22ca9785a7aa075ad11a8ffc73/CalcCohCoefs.sac) |
## Extended Description
<pre>Created an attachment (id=606)
source file
compilation with sac2c rev 16578 calling
sac2c CalcCohCoefs.sac
yields
ERROR: line 43
ERROR: Shape of argument #1 of "_sel_VxA_" should match dimensionality of
ERROR: argument #2; types found: int[1] and double[28,2]
which is wrong!
However, before WLS, eg after b10, the code was still correct.</pre>BugZillaBugZillahttps://gitlab.sac-home.org/sac-group/sac2c/-/issues/1226WLS to aggressive / does not handle extrema2017-11-19T20:32:13ZCarl JoslinWLS to aggressive / does not handle extrema| | |
| --- | --- |
| Bugzilla Link | [686](http://bugs.sac-home.org/show_bug.cgi?id=686) |
| Created on | Mar 23, 2010 11:20 |
| Version | svn |
| OS | Linux |
| Architecture | PC |
| Attachments | [tvd2d.sac](/uploads/d91a457b67ccd92...| | |
| --- | --- |
| Bugzilla Link | [686](http://bugs.sac-home.org/show_bug.cgi?id=686) |
| Created on | Mar 23, 2010 11:20 |
| Version | svn |
| OS | Linux |
| Architecture | PC |
| Attachments | [tvd2d.sac](/uploads/d91a457b67ccd92317d5b5f722538311/tvd2d.sac) |
## Extended Description
<pre>with {
( lb <= [i] < ub ) {
ans = with {
( lb2 <= [j] < ub2) {
array = lotsOfWork( i, j);
} : array;
}
res = with {
( lb2 <= [j] < ub2) : ans[j]+1;
}
} : res;
}
Is currently be "optimised" to:
with {
( lb++lb2 <= [i,j] < ub++ub2 ) {
ans = with {
( lb2 <= [j] < ub2) {
array = lotsOfWork( i, j);
} : array;
}
res = ans[j]+1;
} : res;
}
The problem stems from code that was added to skip extrema, however this code skips ANY THING. This makes WLS behave more aggressive than it should.
SBS and CAJ have changed the code so that it is no longer aggressive however are chain means that extrema are no longer tolerated when performing wls.
It should be sufficient to implement the function skipIrrelevantAssigns. This function should skip over any assign that at runtime results in no execution time and there for can be run any number of (extra) times without increasing run time. As extrema are removed before run time they can be included in the skipped items as they take no time to run (as they will not exist at run time).</pre>Robert BerneckyRobert Bernecky