Support of the osl_int_t union type
[candl.git] / ChangeLog
bloba6a8079d7fd6da77d3eb97c83e64d0c7c539617a
1 2012-03-09  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
3         * configure.in: Bump to candl-0.6.2.
4         * include/candl/candl.h.in: Create a new dependence type,
5         CANDL_RAW_SCALPRIV. It is used only for RAW that has been modified
6         due to scalar privatization pruning pass.
7         * source/pruning.c: Update accordingly.
8         * source/dependence.c: Update, and fix two bugs in scalar
9         privatization.
11 2012-02-26  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
13         * configure.in,
14         * source/piplib-wrapper.c,
15         * source/matrix.c: Fix support of piplib non-hybrid.
17 2012-02-25  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
19         * include/candl/piplib-wrapper.h: New. Header for the wrapper.
20         * source/dependence.c,
21         * source/ddv.c,
22         * include/Makefile.am: Update accordingly.
24 2012-02-25  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
26         * configure.in: Bump to 0.6.1.
27         * source/piplib-wrapper.c: New. PIPLib hybrid/non-hybrid wrapper.
28         * include/candl/dependence.h,
29         * source/ddv.c,
30         * source/dependence.c,
31         * source/Makefile.am: Update accordingly.
33 2012-02-24  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
35         * source/dependence.c: Fix a bug in compute_lb (used in scalar
36         privatization detection).
38 2011-09-14  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
40         * source/candl.c: Fix incorrect condition for inscop/outscop
41         option.
43 2011-07-18  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
45         * include/candl/pruning.h,
46         * source/pruning.c: New. Unit with a naive algorithm to prune some
47         transitively covered dependences, as well as some obvious
48         duplicates generated by Candl's dependence analysis algorithm.
49         * source/Makefile.am,
50         * include/Makefile.am: Update accordingly.
52         * source/dependence.c,
53         * source/options.c,
54         * include/candl/dependence.h,
55         * include/candl/options.h,
56         * include/candl/candl.h.in: Add support and manage new option
57         'prune_dups'.
59 2011-07-17  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
61         * source/dependence.c: Fix a remaining bug in is_loop_carried.
63 2011-07-14  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
65         * source/dependence.c: Fix a minor bug in is_loop_carried test.
67 2011-07-13  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
69         * source/dependence.c: Improve is_loop_carried test.
71 2011-07-13  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
73         * configure.in: Bump to Candl 0.6.0. Add --enable-piplib-hybrid.
75         * source/matrix.c,
76         * source/dependence.c: Conditionally use piplib-hybrid
77         functionality to test polyhedron emptiness.
79 2011-07-12  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
81         * configure.in: Bump to Candl 0.5.1.
83         * source/dependence.c: Fix a conservativeness issue in
84         candl_dependence_is_loop_carried.
86 2011-06-24  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
88         * source/ddv.c: Use rational point check in PIPLib, because of
89         scalability issues observed (polyopt/cholesky-tile+ddv).
91 2011-05-24  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
93         * configure.in,
94         * autoconf/candl.m4: Use AC_SEARCH_LIBS instead of AC_CHECK_LIB.
96 2011-05-17  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
98         * include/candl/ddv.h,
99         * source/ddv.c: Add function candl_loops_are_permutable.
101 2011-04-19  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
103         * source/candl.c: Fix a minor option parsing incompatibility when
104         using both -inscop and -scoptocandl.
106 2011-02-16  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
108         * autoconf/candl.m4: Fix a potential configuration issue with GMP
109         and ISL, when multiple incompatible versions of GMP are already
110         installed on the system.
112 2011-02-15  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
114         * include/candl/ddv.h,
115         * source/ddv.c: Add storage for the dependence type associated to
116         a DDV (e.g., RAW, WAR, WAW or RAR).
118 2011-02-14  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
120         * source/ddv.c: Fix a bug in DDV computation.
122 2011-02-11  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
124         * source/dependence.c: Fix a potential bug in
125         candl_dependence_compute_lb.
127 2011-02-11  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
129         * tests/matmul.scalstruct,
130         * tests/ax-do.struct,
131         * tests/matmul.depscop,
132         * tests/swim.candl,
133         * tests/simple1.scalstruct,
134         * tests/swim.struct,
135         * tests/jacobi1d.scalstruct,
136         * tests/lu.struct,
137         * tests/ax-do.depscop,
138         * tests/gemver.scalstruct,
139         * tests/lu.depscop,
140         * tests/checker.sh,
141         * tests/matmul.candl,
142         * tests/gemver.depscop,
143         * tests/matmul.struct,
144         * tests/ax-do.candl,
145         * tests/simple1.struct,
146         * tests/ax-do.scalstruct,
147         * tests/jacobi1d.struct,
148         * tests/gemver.candl,
149         * tests/swim.scalstruct,
150         * tests/lu.scalstruct,
151         * tests/simple1.depscop,
152         * tests/jacobi1d.depscop,
153         * tests/gemver.struct,
155         * tests/swim.depscop: Update the test suite to mirror latest
156         changes (s/affectation/assignment,
157         s/<dependence>/<dependence-polyhedra>)
159         * README: Update.
161 2011-02-11  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
162         This patch provides a dependence distance vector computation for a
163         given loop, given the set of dependence polyhedra. One DDV is
164         created per dependence polyhedra related to the given loop.
166         * source/ddv.c,
167         * include/candl/ddv.h: New. Dependence Distance Vector extraction
168         from the program dependence polyhedra.
170         * include/candl/candl.h.in
171         * include/Makefile.am
172         * source/Makefile.am: Update accordingly.
174 2011-02-01  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
176         * include/candl/candl.h.in,
177         * autoconf/candl.m4: Offer optional configure option to build
178         with ISL support.
180         * source/isl-wrapper.c: New. In- and out- of ISL functions,
181         from CandlMatrix (aka PipMatrix).
182         * source/Makefile.am: Update accordingly.
184         * source/dependence.c,
185         * include/candl/dependence.h: Add candl_dependence_isl_simplify
186         which uses ISL to simplify the dependence polyhedra.
188         * configure.in: Bump to Candl 0.5.0
190 2011-01-11  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
192         * source/dependence.c: Fix a minor bug in the Scop dependence
193         parser.
195 2010-04-13  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
197         * source/dependence.c: Fix a potential bug in is_loop_carried.
199 2010-04-07  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
201         * source/program.c: Fix a bug in Scop to Candl conversion.
203 2010-04-01  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
205         * source/dependence.c: Implement missing feature for last-writer.
207 2010-03-08  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
209         * configure.in: Bump to Candl 0.4.0
210         * README: New. Mini readme file.
212 2010-02-26  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
214         * source/dependence.h: Export candl_dependence_var_is_scalar
215         function.
216         * source/dependence.c: Fix a bug in last_writer
217         computation (increase by one the number of lines of the allocated
218         matrix in quast_to_polyhedra).
220 2010-02-05  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>
222         * source/matrix.c,
223         * source/violation.c,
224         * source/dependence.c: Minor code polishing fixes.
226 2010-01-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
228         * source/statement.c,
229         * source/program.c,
230         * include/candl/candl.h.in: FINALLY! change 'affectation' to
231         'assigment'.
233 2010-01-22  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
235         * source/program.c,
236         * source/dependence.c,
237         * include/candl/dependence.h: Create a mechanism to load/store
238         dependences inside the <options></options> tags of the
239         .scop. Dependences are stored now between the
240         <dependence-polyhedra></dependence-polyhedra> tags. A
241         CandlDependence* dependence list can be recomputed from the
242         scoplib_scop_p and the associated CandlProgram* with the function
243         candl_dependence_read_from_scop
245 2009-12-03  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
247         * source/candl.c,
248         * source/dependence.c,
249         * source/options.c,
250         * include/candl/dependence.h,
251         * doc/Doxyfile.in: Change CANDL_SUPPORTS_CLAN to
252         CANDL_SUPPORTS_SCOPLIB.
254 2009-05-03  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
256         * source/program.c,
257         * source/dependence.c,
258         * include/candl/candl.h.in,
259         * include/candl/program.h,
260         * configure.in,
261         * autoconf/candl.m4: Change optional dependence from clan to
262         scoplib, for the support of .scop as input format.
264 2009-03-21  Uday K Bondhugula <bondhugula.1@osu.edu>
265         Small fixes for gmp compilation.
267         * source/dependence.c
268         * source/matrix.c
269         * include/candl/candl.h.in
271 2009-02-07  Uday K Bondhugula <bondhugula.1@osu.edu>
272         Computes last writer on RAW, WAW, RAR dependences. Long
273         standing implementation finally committed. Last writer
274         computation is only done under '-lastwriter 1' or
275         options->lastwriter = 1. All code was written in Sep '08.
276         Does not handle cases where the last writer function is
277         split into different cases based on parameters (bails out
278         without modifying dependence polyhedron)
280     * source/dependence.c: Code to compute last writer
281         * source/options.c,
282         * include/candl/dependence.h,
283         * include/candl/options.h
285 2009-02-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
287         * source/program.c: Ensure null read/written info is always a
288         0-sized matrix.
290 2009-02-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
292         * source/dependence.c: Fix and re-enable the GCD/ZIV tests.
294 2009-01-31  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
295         This patch fixes an important bug on the computation of precedence
296         constraints. Formerly it was not matching exactly the description
297         of dependence polyhedra as formalized by Bastoul et al.
299         * include/candl/matrix.h,
300         * source/matrix.c: Move and rename function candl_matrix_dependence to
301         candl_dependence_build_system.
303         * source/dependence.c: Fix an important bug in the dependence
304         computation. The precedence constraints were not correctly
305         computed. Bug reported by Uday Bondhugula.
307         * tests/jacobi1d.scop,
308         * tests/jacobi1d.dep,
309         * tests/jacobi1d.candl,
310         * tests/jacobi1d.scalstruct,
311         * tests/jacobi1d.opt.scop,
312         * tests/jacobi1d.struct,
313         * tests/jacobi1d.depscop,
315         * tests/simple1.dep,
316         * tests/simple1.candl,
317         * tests/simple1.scalstruct,
318         * tests/simple1.opt.scop,
319         * tests/simple1.struct,
320         * tests/simple1.depscop,
321         * tests/simple1.scop,
323         * tests/lu.opt.scop,
324         * tests/lu.struct,
325         * tests/lu.depscop,
326         * tests/lu.scop,
327         * tests/lu.dep,
328         * tests/lu.candl,
329         * tests/lu.scalstruct: New. Three instances of the previous bug.
331         * tests/checker.sh: Update to be transparent to Clan revision
332         changes.
334         * tests/matmul.scalstruct,
335         * tests/ax-do.struct,
336         * tests/matmul.depscop,
337         * tests/swim.struct,
338         * tests/ax-do.depscop,
339         * tests/gemver.scalstruct,
340         * tests/gemver.depscop,
341         * tests/matmul.struct,
342         * tests/ax-do.scalstruct,
343         * tests/swim.scalstruct,
344         * tests/gemver.struct,
345         * tests/Makefile.am,
346         * tests/swim.depscop: Update de the reference test
347         suite (CANDL_FMT is now %4)
349 2009-01-31  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
351         * include/candl/matrix.h: Support new clan_int_t type.
353 2008-11-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
355         * Makefile.am: Remove useless re-copy of config/candl.m4 in dist-hook.
357 2008-10-17  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
359         * include/candl/matrix.h,
360         * source/matrix.c: Add candl_matrix_print_data, which prints a
361         matrix in a parsable form for candl_matrix_read.
362         * include/candl/candl.h.in: Update CANDL_FMT to %4...
364         * source/program.c: Replace calls to pip_matrix_print by
365         candl_matrix_print_data. The former caused bugs on ppc64.
367 2008-09-18  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
368         Enable Candl to act as a .scop to .candl converter.
370         * include/candl/program.h,
371         * source/program.c: Add candl_program_print_candl_file function,
372         which dumps a .candl file from a candl_program_t structure.
374         * include/candl/options.h,
375         * source/options.c,
376         * source/candl.c: Add support of option -scoptocandl, which
377         converts a .scop to a .candl file.
379 2008-08-20  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
381         * include/candl/dependence.h,
382         * include/candl/matrix.h,
383         * include/candl/program.h: Minor fixes in includes.
385 2008-08-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
386         This patch creates a .scop dumper for candl. Dependences are
387         represented between the
388         <candl><dependences>...</dependences></candl> tags. It is
389         activated by providing a .scop file as the input (needing flag
390         -inscop), and by using flag -outscop.
392         * include/candl/dependence.h,
393         * source/dependence.c: Create a .scop dumper, where the
394         dependences are added in the optional tag.
396         * include/candl/options.h,
397         * source/candl.c,
398         * source/options.c: Create option -outscop. Rename option -scop to
399         -inscop.
401         * tests/matmul.depscop,
402         * tests/ax-do.depscop,
403         * tests/gemver.depscop,
404         * tests/swim.depscop: New. Reference test files for .scop dumper.
405         * tests/Makefile.am: Update accordingly.
406         * tests/checker.sh: Perform the .scop dumper checks.
408         * include/candl/candl.h.in: Create the macro CANDL_FAIL.
409         * include/candl/program.h,
410         * source/program.c: Use the CANDL_FAIL macro in place of exit(1).
412 2008-07-25  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
414         * source/dependence.c: Fix typo in comments, don't rename a scalar
415         if not needed.
417         * source/program.c: Change optional tag for loop indices to
418         <candl><indices>...</indices></candl>.
420         * tests/ax-do.dep,
421         * tests/matmul.struct,
422         * tests/swim.opt.scop,
423         * tests/matmul.scalstruct,
424         * tests/swim.dep,
425         * tests/gemver.opt.scop,
426         * tests/ax-do.struct,
427         * tests/gemver.dep,
428         * tests/ax-do.scalstruct,
429         * tests/swim.struct,
430         * tests/matmul.opt.scop,
431         * tests/swim.scalstruct,
432         * tests/matmul.dep,
433         * tests/gemver.struct,
434         * tests/gemver.scalstruct,
435         * tests/ax-do.opt.scop: Update the reference files to Candl 0.3.0.
437         * LICENSE: Delete.
438         * COPYING.LESSER: Add GNU Lesser GPL notice.
440         * doc/Doxyfile.in: Add missing macro definition.
442 2008-07-17  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
444         * source/dependence.c: Fix a typo in comments.
446         * tests/matmul.scalstruct,
447         * tests/ax-do.scalstruct,
448         * tests/swim.scalstruct,
449         * tests/gemver.scalstruct: New. Add scalar analysis test reference
450         files.
452         * tests/checker.sh,
453         * tests/Makefile.am: Update accordingly.
455         * configure.in: Bump to candl-0.3.0
456         * autoconf/candl.m4: Minor fixes.
458 2008-07-17  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
459         This patch finalizes the scalar analysis pass. The following
460         operations are available: scalar privatization, scalar expansion,
461         scalar renaming, and test for privatizability.
463         * include/candl/dependence.h,
464         * source/dependence.c: Finalize scalar analysis. Add scalar
465         expansion and scalar renaming. Refactor scalar privatization. Add
466         dependence pruning via privatization.
468         * include/candl/program.h,
469         * source/program.c: Add and manage a field dedicated to store the
470         list of privatizable variables.
472         * include/candl/options.h,
473         * source/options.c: Add options -scalexp, -scalpriv, -scalren,
474         -verbose.
476         * tests/Makefile.am,
477         * tests/checker.sh: Remove useless re-test of .scop.
479 2008-07-15  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
480         This patch re-implements scalar privatization via scalar expansion
481         in the array access function. Code is conservative in very few
482         cases, and yet robust.
484         * include/candl/matrix.h,
485         * source/matrix.c: Move and rename candl_dependence_check_point here.
487         * include/candl/dependence.h,
488         * source/dependence.c: Redesign scalar privatization.
490 2008-07-14  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
492         * include/candl/dependence.h,
493         * source/dependence.c: Add SIV/ZIV/MIV/GCD test to accelerate
494         dependence testing.
496 2008-07-14  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
497         This patch finalizes the integration of Candl with new .scop
498         format. Loop indices are either extracted from the identity
499         scheduling matrix, either from the content of the optional <candl>
500         tag in the .scop file. See tests/xxx.opt.scop for examples.
502         * include/candl/program.h,
503         * source/program.c: Add support for reading the iterator indices
504         in the .scop file.
506         * tests/swim.scop,
507         * tests/swim.opt.scop,
508         * tests/gemver.opt.scop,
509         * tests/matmul.opt.scop,
510         * tests/ax-do.scop,
511         * tests/ax-do.opt.scop: New. Test files where the iterator indices
512         are provided in the <candl> optional tag of the .scop file.
514         * tests/checker.sh,
515         * tests/Makefile.am: Update accordingly.
517 2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
518         This patch starts the integration of Candl with new .scop format.
520         * configure.in,
521         * autoconf/candl.m4: Make clan optional and not required.
523         * include/candl/options.h,
524         * include/candl/statement.h,
525         * include/candl/candl.h.in,
526         * include/candl/program.h,
527         * source/candl.c,
528         * source/statement.c,
529         * source/program.c,
530         * source/dependence.c,
531         * source/options.c: Add .scop reader compatible with clan output.
533         * tests/exam98.dep,
534         * tests/esced.dep,
535         * tests/exam98.candl,
536         * tests/ics06.dep,
537         * tests/matvect.candl,
538         * tests/esced.candl,
539         * tests/ics06.candl,
540         * tests/cc1.dep,
541         * tests/relaxation.dep,
542         * tests/relaxation.candl,
543         * tests/cc1.candl,
544         * tests/matvect.dep: Delete old test files.
546         * tests/swim.dep,
547         * tests/gemver.scop,
548         * tests/ax-do.struct,
549         * tests/swim.candl,
550         * tests/swim.struct,
551         * tests/matmul.dep,
552         * tests/ax-do.scop,
553         * tests/checker.sh,
554         * tests/ax-do.dep,
555         * tests/matmul.candl,
556         * tests/matmul.struct,
557         * tests/swim.scop,
558         * tests/gemver.dep,
559         * tests/check_suite.sh,
560         * tests/matmul.scop,
561         * tests/gemver.candl,
562         * tests/gemver.struct,
563         * tests/Makefile.am: New. Create working test suite.
565 2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
567         * candl/trunk/source/candl.c,
568         * candl/trunk/source/matrix.c,
569         * candl/trunk/source/statement.c,
570         * candl/trunk/source/violation.c,
571         * candl/trunk/source/program.c,
572         * candl/trunk/source/Makefile.am,
573         * candl/trunk/source/dependence.c,
574         * candl/trunk/source/options.c,
575         * candl/trunk/LICENSE,
576         * candl/trunk/tests/ax-do.dep,
577         * candl/trunk/tests/exam98.dep,
578         * candl/trunk/tests/esced.candl,
579         * candl/trunk/tests/matvect.candl,
580         * candl/trunk/tests/ics06.candl,
581         * candl/trunk/tests/cc1.candl,
582         * candl/trunk/tests/relaxation.candl,
583         * candl/trunk/tests/ax-do.candl,
584         * candl/trunk/tests/Makefile.am,
585         * candl/trunk/tests/esced.dep,
586         * candl/trunk/tests/matvect.dep,
587         * candl/trunk/tests/exam98.candl,
588         * candl/trunk/tests/ics06.dep,
589         * candl/trunk/tests/cc1.dep,
590         * candl/trunk/tests/relaxation.dep,
591         * candl/trunk/include/candl/dependence.h,
592         * candl/trunk/include/candl/options.h,
593         * candl/trunk/include/candl/matrix.h,
594         * candl/trunk/include/candl/statement.h,
595         * candl/trunk/include/candl/violation.h,
596         * candl/trunk/include/candl/candl.h.in,
597         * candl/trunk/include/candl/program.h,
598         * candl/trunk/include/Makefile.am,
599         * candl/trunk/doc/Doxyfile.in,
600         * candl/trunk/doc/Makefile.am,
601         * candl/trunk/doc/candl.texi,
602         * candl/trunk/configure.in,
603         * candl/trunk/Makefile.am,
604         * candl/trunk/autogen.sh,
605         * candl/trunk/ChangeLog,
606         * candl/trunk/autoconf/candl.m4: Initial checkin of the project.