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
11 2012-02-26 Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
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,
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,
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
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.
50 * include/Makefile.am: Update accordingly.
52 * source/dependence.c,
54 * include/candl/dependence.h,
55 * include/candl/options.h,
56 * include/candl/candl.h.in: Add support and manage new option
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.
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>
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,
133 * tests/simple1.scalstruct,
135 * tests/jacobi1d.scalstruct,
137 * tests/ax-do.depscop,
138 * tests/gemver.scalstruct,
141 * tests/matmul.candl,
142 * tests/gemver.depscop,
143 * tests/matmul.struct,
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>)
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.
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
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
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
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>
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,
230 * include/candl/candl.h.in: FINALLY! change 'affectation' to
233 2010-01-22 Louis-Noel Pouchet <louis-noel.pouchet@inria.fr>
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>
248 * source/dependence.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>
257 * source/dependence.c,
258 * include/candl/candl.h.in,
259 * include/candl/program.h,
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
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
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
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,
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,
329 * tests/lu.scalstruct: New. Three instances of the previous bug.
331 * tests/checker.sh: Update to be transparent to Clan revision
334 * tests/matmul.scalstruct,
335 * tests/ax-do.struct,
336 * tests/matmul.depscop,
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,
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,
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,
398 * source/options.c: Create option -outscop. Rename option -scop to
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
417 * source/program.c: Change optional tag for loop indices to
418 <candl><indices>...</indices></candl>.
421 * tests/matmul.struct,
422 * tests/swim.opt.scop,
423 * tests/matmul.scalstruct,
425 * tests/gemver.opt.scop,
426 * tests/ax-do.struct,
428 * tests/ax-do.scalstruct,
430 * tests/matmul.opt.scop,
431 * tests/swim.scalstruct,
433 * tests/gemver.struct,
434 * tests/gemver.scalstruct,
435 * tests/ax-do.opt.scop: Update the reference files to Candl 0.3.0.
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
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,
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
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
507 * tests/swim.opt.scop,
508 * tests/gemver.opt.scop,
509 * tests/matmul.opt.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.
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.
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,
528 * source/statement.c,
530 * source/dependence.c,
531 * source/options.c: Add .scop reader compatible with clan output.
535 * tests/exam98.candl,
537 * tests/matvect.candl,
541 * tests/relaxation.dep,
542 * tests/relaxation.candl,
544 * tests/matvect.dep: Delete old test files.
548 * tests/ax-do.struct,
555 * tests/matmul.candl,
556 * tests/matmul.struct,
559 * tests/check_suite.sh,
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.