- 18 Aug, 2011 3 commits
-
-
Clemens Grelck authored
accordingly ASSIGN_INSTR into ASSIGN_STMT. The original situation was particularly confusing as BLOCK_INSTR did not point to anything of node set Instr. I hope this is a small contribution to making the AST better digestible to newcomers and godfathers alike.
-
Clemens Grelck authored
The original name of the was once motivated by the coexistance of a FUNDEF_ISWHILEFUN flag in the dark ages. For many years we convert while-loops into do-loops before even thinking about lac2fun transformation. The new name better reflects the special character of these functions.
-
Clemens Grelck authored
-
- 17 Aug, 2011 1 commit
-
-
Clemens Grelck authored
has two child nodes: Vardecs (instead of Vardec) and Assigns (instead of Instr).
-
- 16 Aug, 2011 8 commits
-
-
Robert Bernecky authored
-
Robert Bernecky authored
and GDBwhatAre( node *nm, node *fundef) to print the PRF_ARGS' values of nm. E.g., given this: _awlfi_6426__awlfi_6407 = _noteintersect_( _flat_7, _pinl_3451__flat_19, _pinl_3482__wlbsc_3315_sc_bound, _ivexp_6288, _flat_2, _pinl_7226_p, _ivexp_6288, _ivexp_6289); call GDBwhatAre("_awlfi_6426__awlfi_6407", arg_info->fundef) ( edited for space) _flat_7 = _add_SxS_( _ivexi_6270_ext, _wlpg_3285_elems); _pinl_3451__flat_19 = [ 0 ]; _pinl_3482__wlbsc_3315_sc_bound = [ 30 ]; _ivexp_6288 = [ 2 ]; _flat_2 = [ 20 ]; _pinl_7226_p = [ false ]; _ivexp_6288 = [ 2 ]; _ivexp_6289 = [ 21 ];
-
Robert Bernecky authored
-
Clemens Grelck authored
are now handled properly and the corresponding unit test is passed successfully.
-
Robert Bernecky authored
-
Clemens Grelck authored
AL now recognises loop-invariant variables in loops and with-loops and reorganises multi-operand expressions such that loop invariant variables are grouped together to enable loop invariant removal.
-
Clemens Grelck authored
to the corresponding recursive application N_ap node within the function body. Adapted a number of modules to establish and maintain this additional attribute as well as to check it. This new attribute will later be used to facilitate implementation of a new feature in AL that reorganises multi-operand expression to enable loop invariant removal and with-loop invariant removal.
-
Robert Bernecky authored
-
- 15 Aug, 2011 6 commits
-
-
Jing Guo authored
No commit message
-
Robert Bernecky authored
This set of changes claim to make no changes to operation, unless you use "-doivecyc" in the sac2c command line. These changes are intended to provide a more general and elegant solution to Bug #747. Other changes here include added tree_compound utility functions, a new primitive for sacprelude's use: _mask_VxVxS_(), various bugfixes for AWLF and friends. There is a fair bit of development remaining before these changes are of use in most applications, as enabling -doivecyc, at present, inhibits the operation of WLF, AWLF, CWLE, SSAWLUR, SCCF, and perhaps a few others.
-
Jing Guo authored
-
Jing Guo authored
No commit message
-
Jing Guo authored
No commit message
-
Artem Shinkarov authored
any single-line comment.
-
- 14 Aug, 2011 3 commits
-
-
Robert Bernecky authored
assign for an N_id arg_node.
-
Artem Shinkarov authored
functions that were erroneously recognized as expression-modifying functions.
-
Clemens Grelck authored
such that it is decoupled from the identification of local scopes. This change was motivated by bug #855.
-
- 13 Aug, 2011 1 commit
-
-
Clemens Grelck authored
properly reflect its purpose. Furthermore, with-loop induction variables are now treated correctly. While this has not been relevant so far, the planned improvements to AL require this as a preparatory step.
-
- 10 Aug, 2011 2 commits
-
-
Robert Bernecky authored
-
Robert Bernecky authored
sacprelude::intersectMin and sacprelude::intersectMax so they can be used by AWLF. 2. Fix several AWLF bugs. 3. Tidy up cubeslicer a wee bit. This version of AWLF appears to more or less work. It suffers from the AL/AS/DL bug and the VPid bug (aka IVE vs. LIR in Bodo's PM code), so we await fixes for those. However, if you have an AKD problem you want to try it out on, do this: sac2c -O3 -doawlf foo.sac
-
- 09 Aug, 2011 3 commits
-
-
Robert Bernecky authored
is still broken, especially when axis confluence is required. This version is somewhat better, but we're not there yet.
-
Robert Bernecky authored
on the unit tests. We're not all there yet, but this is good stuff.
-
Robert Bernecky authored
that the computation has to be made on denormalized bounds, i.e., GENERATOR_BOUND2-1 or things get very wrong.
-
- 08 Aug, 2011 2 commits
-
-
Artem Shinkarov authored
making bison and Clemens happy. The conflict is caused by the introduced support of return statement without brackets. For example: return 5; is a legal construction now. However, this construction causes the following conflict: return (5); is it a function call with an argument '5', or it is a return statement with an expression (5).
-
Robert Bernecky authored
-
- 05 Aug, 2011 1 commit
-
-
Robert Bernecky authored
This theoretically (aside from at least one memory-eating bug) completes the implementation of AWLF for unit stride (STEP) and unit WIDTH. Several unit tests remain broken, notably: prdreverse.sac prdreverse2.sac prdreverseAKD.sac prdreverseAKDNoStdlib.sac and others that are broken, pending repair of Bug #851, Bug #855, and Bug #853.
-
- 02 Aug, 2011 1 commit
-
-
Robert Bernecky authored
in AWLF. By holes, I mean index expressions of the form: _sel_VxA_( [2, i, j], producerWL) appearing in consumerWLs. 2. Add comment to SCCF re mask() optimization. This leaves AWLF mostly implemented. The missing pieces are: a. support for non-unit STEP and WIDTH in WLs. This is not very high on my list, but it should be straightforward to implement. b. Support for * and / in index vector computations in WLs. This is ISMOP. c. Support for axis confluence in consumerWL axis computations. E.g., an expression of the form: _sel_VxA_( [ iv, iv + 2], producerWL); in which cube slicing is required. This is the most egregious fault in AWLF code, at present, I believe.
-
- 01 Aug, 2011 2 commits
-
-
Robert Bernecky authored
statements. Correct spelling error in diagnostic.
-
Robert Bernecky authored
-
- 31 Jul, 2011 1 commit
-
-
Carl Joslin authored
-
- 29 Jul, 2011 3 commits
-
-
Robert Bernecky authored
Sort of works, but it is not ready for prime time yet.
-
Carl Joslin authored
New mutc rc method Fix bug in make spawn functions
-
Robert Bernecky authored
This is a synchpoint for rbe. Don't take it too seriously...
-
- 28 Jul, 2011 2 commits
-
-
Artem Shinkarov authored
Omitting brackets in the return statement.
-
Jing Guo authored
No commit message
-
- 27 Jul, 2011 1 commit
-
-
Robert Bernecky authored
AWLF looking fairly good, but three problems remain: - axis confluence of indices (e.g., ProducerlWL[ iv, iv + 1]) not coded yet. - Holes in axis sets (e.g., ProducerWL[ 2, iv]) not coded yet. - NEEDCOUNT for WLs is wrong when hypercube slicing (CUBSL) is used. Somewhere, I think, I have left hanging PART_CODE blocks that are contributing to needcounts, and making AWLF reject the fold. No idea where they are coming from.
-