Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Allow PyPS to use PIPS_PYPS_RUNTIME_DIR to look for its components
  Improve the implementation of the modle of free(). See Pointers/pml04.c
  update gnulib for linear :  - version 20111211-stable  - add --lgpl option
  switch nlpmake to LGPL.
  Pointers/plm04: two variables added to show the bug in the equations or the implementation of the modle of free(); Amira is in charge
  Another example for the memory leak error
  Correct pml02.c
  Correct pml02.c
  Correct the memory leank and the dangling pointer warnings
  some comments.
  Pointers/pml03: correct test case for pml01.c; comments added in pml01.c to explain the bug; the bug is not detected by gcc -Wall
  More examples for memory leak
  Missing results
  Add a new example to illustrate memory leak error
  [Scalarization] add a property to toggle off register declarations
  pipsmake-rc.tex: typo fix
  pipsmake-rc.tex: more explanations about the property POINTS_TO_NULL_POINTER_INITIALIZATION
  overriding CFLAGS is not very safe ...
  temporary workaround.
  a README file *is* needed to compile linear...
  Pointers/global09: to check warning about pointer initializations; Pointers/pointer14 and 15: array of pointers towards array of pointers, designed for Beatrice to clarify how she want points-to to type and subscript context stubs; pointer14 seems OK but dimensions are not homogeneous; the pointer assignment in pointer15 leads to a core dump r_cell_reference_to_type(), which is no suprise
  Fix autopips build.
  Removal of deprecated information about Polylib dependency.
  hmmm... polylib is needed by pips now?
  attempt at transfering polylib autoconf stuff to pips
  attempt at transfering polylib autoconf from linear
  transfer sc_enumerate from linear
  transfer sc_enumerate.c to PIPS
  [C Intrinsics] test case for strtod-like function (here strtof)
  [Intrinsics] Add missing intrinsic strtold, fix proper effects of strtod, strtof, strtold.
  Code documentation for simplex feasibility.
  Add a new example: array_of_pointers.c
  New example to illustrate revision 21319
  -Add a new function remove_arcs_from_pt_map() which remove removes recursively points to relations like ppp->pp->p->i. -After a user call, at the level of the intraprocedural analysis, including multiple pointer type argument swe apply  remove_arcs_from_pt_map(). We replaced removed relations by a anywhere->anywhere relation (see inter05.c).
  Code documentation for fixed- and multiple-precision arithmetic.
  Pointers: a mess of updates
  -Add a new interprocedural phase: a fast one which only computes Kill set at the level of call sites. -Intraprocedural phase is not yet completed: at the level of call site an anywhere points to relation is generated but side effects on arguments is missing.
  remove useless request of proper effects for print_code_points_to_list
  Fix attempt for ticket #700.
  Code documentation for fixed- and multiple-precision arithmetic.
  Accept new changes due to revision 21316
  Add two new functions to test if a cell is the typed top of the lattice and use them at the level of freed_pointer_to_points_to()
  Improving calls to null_to_sinks()
  fix bad assert output.
  [EffectsWithPointerValues] new test case which validates argv targets representation and a bug fix in convex_cell_reference_with_address_of_cell_reference_translation (r21312)
  [Regions] fix bug in convex_cell_reference_with_address_of_cell_reference_translation when nb_common_indices > 0
  [Effects with points-to] ignore may null location sinks when looking for equivalent constant paths
  Handle more call cases
  Pointers/malloc10, 11: to improve the analysis of calls to free()
  alias-classes and effects-util: function points_to_expression_to_type() added, struct assignments are thus improved, analysis of free() improved; see Pointers/malloc10 and 11
  [points-to] remove compiler warning that prevents compiling with -Werror
  Demo/TutorialPPoPP2010.sub/scalar02: unexpected intrinsics added; somebody who messed up with bootstrap? I cannot manage the validation by myself, so let move the problem under the rug, as often, to please Fabien
  Semantics: not too sure it is a later rather than a bug, but some development and time are needed
  Semantics-New/anywhere02: points-to modified
  Semantics-New/pointerxy: points-to modified
  Semantics-New/pointer03: points-to modified
  Semantics-New/pointer02b: points-to modified
  Semantics-New/pointer02: points-to modified
  Semantics-New/anywhere02: points-to modified
  Ricedg/dynamic_array01_3: points-to are used; I think the effects computation introduces an anywhere effect that could be get rid of under the assumption that the code is correct
  Semantics, Semantics-New and Transformations/Scalarization.sub: a few updates for points-to related test cases
  Semantics, Semantics-New and Transformations/Scalarization.sub: a few updates for points-to related test cases
  Semantics, Semantics-New and Transformations/Scalarization.sub: a few updates for points-to related test cases
  Rice: update for test cases using points-to analysis; mostly asserts added to make sure the arguments are not NULL pointers
  Remove misplaced null_initialization_p
  Pointers/struct13: issue with nested typedefs...
  alias-classes: structure assignments, deal a bit better with arrays of structs and typedefed struct; bug transfered into ri-util/type.c
  [points-to] remove compilation warning which would probably lead to execution failure.
  Add a new example to illustrate that we need to translate the free effect
  More examples illustrating interprocedural analysis
  Handle points-to relations generated by return value
  First results for interprocedural points to analysis
  USe the property POINTS_TO_NULL_POINTER_INITIALIZATION at the level of create_stub_points_to()
  [Pointer Values] re-use test case from Pointers directory to validate r21301 in case of a struct with a pointer field
  -Add a new property POINTS_TO_NULL_POINTER_INITIALIZATION set by default to true: formal and glabal variables are initialized to the null pointer. -Create a new function null_to_sinks() which returns a new list containing the null location.
  [Pointer Values] new results due to the fact that the type of the abstract HEAP location is treated differently when a scalar is allocated (r21301)
  [Pointer Values] do not add array dimension to scalars allocated through malloc or calloc.
  Reorgonizing call_to_points_to() and intrinsic_to_points_to()
  [Pointer Values] ignore standard libraries internal hooks when computing initial pointer values of computation unit modules
  Pointers: assignment11 is now OK thanks to a new version of cell_type by Beatrice
  [effects-util] slight modification of cell_reference_to_type to accept paths on sub-arrays
  Pointers/proj01: update for a warning change
  alias-classes: Forgotten new file
  Pointers/inter04: a small interprocedural case; current results are probably wrong
  Pointers: a lot of recent updates
  alias-classes: checkpoint with two core dumps, one for lack of convergence; two known bugs: subsubfields are not initialized in structure assignments (see struct09 and 10, struct_parallel10); and some while loops converge towards a non-feasible code (see for instance list02)
  ex3_modified: test transformed into while/while
  Renaming Gulwani benchmarks directory.
  [Scalarization] new test case for r21279 (no scalarization of global arrays accessed in called functions)
  [Points to] Three variables were used before being initialized. I hope my fix is ok, however, I wonder whether this has ever been executed.
  [Points to] comment out unused varaible declaration
  [Points to] comment out unused varaible declaration
  [In effects] fix debug message
  Adding test cases from:
  Pointers/inter01 and 02: tpips scripts added
  alias-classes: integration of code for user call site analysis; intermediate check-in, 6 core dump, 41 differences in validation
  missing field pointer
  Pointers/Mensi/pointer01: assert added to restrict the calling context
  Pointers: nowhere and Mensi/scalar_renaming: test files fixed
  Pointers: new tpips scripts, updated test results using information indirectly provided by dereferencing operations
  Renaming interprocedural functions
  use_def_elim01.c is not buggy any more
  [BugFix] Fix buid error introduced in previous commit.
  [Config] Add gmp detection suppport in AUTOC.
  [MrProper] Remove a few warnings.
  [AUTOC] Require C99-aware compiler to compile linear.
  Removed C99-like for loop initial declarations that broke AUTOC.
  New implementation of Chernikova functions (sc_to_sg, sg_to_sc, sc_convex_hull), independant from Polylib.


Former-commit-id: 174dcc8fd515396cc7e8af20e0e7227bb4804219
Merge branch 'p4a-own' into p4a

* p4a-own:
  Change configuration file to have Par4All more relocatable after compile-time
  [p4a_processor.py] don't generate register declarations when performing scalarization
  Installation guide, add required package for Stars-pm example
  Installation Guide: libncurses5-dev is required to compile P4A
  Installation guide: update required package list according to Ubuntu 12.04


Former-commit-id: 9a7038c7cabbaeb8ea2252dffdf662175424016f
Merge branch 'p4a-own' into p4a

* p4a-own:
  Switch to Par4All 1.4.1 and update current changelog
  Update package dependencies for modern Debian and Ubuntu version.


Former-commit-id: 9bf7af6b7574672db77c7ac2cb848a63f4f052c3
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  [Transformation] new sub-dir and test cases for phase limit_parallelism_using_complexity
  [Transformations] new phase limit_parallelism_using_complexity - still experimental
  newgen/genC/set.c: comments added


Former-commit-id: b5d4490f92cec1bbaeb10f0822b44d83e90e23b2
Merge branch 'p4a-own' into p4a

* p4a-own:
  Change Stars-PM Makefile to avoid nvcc choking on FFTW3 headers.
  Change git-svn-switch to exit on error to avoid messing up more.
  Improve git-svn-switch to go back in the past to be sure to have something to fetch
  Add a script to change the upstream URL of a git-svn repository


Former-commit-id: 3b460192214d07772a6dcafced1f867d97949beb
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Moving Janus library from Linear to PIPS (solve licensing issues).
  Moving Janus library from Linear to PIPS (solve licensing issues).
  Add a new example for the interprocedural chapter
  Pointers/callxy: updates linked to the return statements added by Amira Mensi last week-end
  Pointers/fread03.c: minor modifications
  [Limit_parallelism_using_complexity] add comments on cost function
  [complexity] add complexity for unary + operator
  validation of limit_parallelism_using_complexity: modify default_pyps.py and validate behavior when inner parallel loops with locals are sequentialized.
  [limit_parallelism_using_complexity] add loop_locals of sequentialized loops to preceding parallel_loop
  [complexity] remove sharing between while loop complexity and while loop body complexity.
  [complexity] improve reference_to_complexity.
  [complexity] implement complexity for type sizeofexpression according to comment.
  module forgotten in alias-classes and due in effects-util (which should absolutely not be used by Fortran95, but it is another story)
  More syntax errors
  Remove syntaxt error: control reaches end of non-void function
  Moving missing functions to effects-util/points_to.c
  pipsmake-rc.tex: SPACES fixed
  effects-util and alias-classses: lots of unfinished updates to check that the points-to arcs are properly typed; the difficulty is linked to implicit arrays allowed by C, i.e. int * p; may mean that p points towards an array; fewer bugs if property POINTS_TO_STRICT_POINTER_TYPES is set to true; still 23 core dumps in Pointers validation directory and tons of differences due to the added subscripts, such as [0] or [*]; more validation test cases for arrays of pointers and pointers to arrays and arrays of pointers to arrays and arrays of pointers needed
  ri-util: two new functions used for points-to analysis
  Pointers/mehdi03 + a few minor changes
  Explain what ``loop unswitching'' is about.
  Add a new example mentioned in interprocedural chapter
  [Privatization] attempt at having rules requiring privatization independent of privatization rule
  Partial_eval/partial_eval24: no longer a bug
  ri-util/normalize.c: extension to cope with references to functions used in C to assign a functional pointer
  partial_eval should cope with function pointer expressions
  Improved documentation.
  add missing Makefile
  set result with current version
  Add  missing example for free


Former-commit-id: 4ba3d1eeb72cb0ca7ab18996d5e850bafb58f839
Merge branch 'p4a-own' into p4a


Former-commit-id: 6262287ed554e755a9dcfdbe3ce1e9ebb29880b8
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Bug fixed in r21412
  Fix bug in linearize array dealing with declaration (silly gen_recurse doesn't go into entity_initial...)
  Add buggy linearize_array when the array is used in an entity_initial field
  add missing "taskify" library
  ignore++
  April 1st is over... (remove phpips joke)
  Ignore Makefile.in in source
  April 1st is over...
  Reintegrate the "taskify" branch
  Bracket printing in ambiguous case.
  Fix #709 following r21400 "No local variable is allowed in a subscript while scalarizing."
  Fix scalarization: do not scalarize when a local variable (to the statement) is used in a subscript
  Add a function to get all declared entity inside a statement (deep)
  alias-classes/expression.s: kill_may effectively used in list_assignment_to_points_to(); see impact on assignment12 after the assignment; there is still a bug: a star subscript is generated instead of a 0 subscript for _p_1[0]->_q_2_2[*]; the star should be a zero
  alias-classes/points_to_init_analysis: make sure that no exact information is generated when the NULL case is isolated
  Pointers/ptr_to_array01, 02 03: another joint attempt with Amira at enforcing a standard form for points-to arcs; in these three cases, p is a pointer to an array; so we admit the syntax p->_p_1... although it could be argued that p++ being OK, p->_p_1[0] would also be OK; we also need approval by Beatrice Creusillet and Fabien Coelho for these results
  Pointers/assignment12: partial improvement of test
  alias-classes/expression.c: a first attempt at improving the result of Pointers/assignment12.c; more work needed in list_assignment_to_points_to() to manage the set kill_may properly I guess
  Pointers/init05, 06: for pointers towards 1-D arrays, with property STRICT_POINTER_TYPE set to false, the current output is satisfactory; p=a is transformed into p=&a[0] which is acceptable
  fix typo, really to trigger a recompilation.
  C_syntax/if04: not a bug any longer; some files in Semantics-New happened to be useful to fix ri-util/prettyprint.c
  Pointers/assignment12: the result is made more precise, but it should be even more precise; the star in _pp_1[0] -> _qq_2_2[*] should be replaced by a zero, even when arrays are assumed to cope with pointer arithmetic; also, following the logic defined by Beatrice for arrays of pointers and hence implicit arrays, the right hand side should be _qq_2_2[0][0] or _qq_2_2[0]; interesting example for Fabien and Pierre because it is very short
  ri-util: bug fix for dangling else clauses; a recursive descent was missing; the new version creates a problem in Semantics-New/Maisonneuve_misc.sub/maisonneuve17-2
  alias-classes: dprint() more robust; fix for Pointers/assignment13 and 14
  Pointers/assignment13, 14: bug with double dereferencing
  .bug and .later files added to have better validation results; some of the issues are linked to points-to analysis
  C_syntax/if04, unstructured02: bug found by Alain Muller fixed#
  ri-util/prettyprint.c: be a bit more careful with brace elimination in the presence of nested ifs; See C_syntax/if04, which might have been put into Prettyprint
  Add two buggy tests: double pointers still cause problems.
  Fix compilation with -Werror
  Add a new exampel with argument oftype struct
  Mor examples to test interprocedural analysis
  C_syntax/if04.c: prettyprint bug detected by Alain Muller
  [Scalarization] add test case with unexpected results when SCALARIZATION_KEEP_PERFECT_PARALLEL_LOOP_NESTS=TRUE
  update pips copyright displayed on tpips start.
  add more escape sequences.
  More examples to test fast interprocedural analysis
  Improve fast interprocedural analysis. Split old code into elementary functions.
  alias-classes: yet another flip-flop about the subscript used for sink points-to cells
  Accept new changes due to revision 21379
  Improving the test of compatibility which verify that there is no aliasing between parameters.
  Fix compilation with -Werror
  Pointers/properties04: another test case to try to settle between a, a[0] and a[*] in points-to sources and sinks
  effects-simple: previous modification by FI disabled; issue to be discussed with Beatrice
  alias-classes: freed_pointer_to_points_to() extended with set Kill_3 and a beginning of memory leak detection
  Pointers/properties01, 02 and 03: used to study the impact of points-to properties on effects_with_points_to
  alias-classes, effects_simple, effects-util: dprint() extended for debugging with gdb, simple_cell_reference_with_address_of_cell_reference_translation() modified to cope with non strict pointer typing; related_points_to_cell_in_list_p() added to improve freed_pointer_to_points_to(), but there is a deeper issue: one of the kill sets seems to have been forgotten
  C_syntax: a non prioritary bug
  Ricedg: Wait for stabilization of points-to analysis and its coupling with points-to-with-effects
  Rice: Wait for stabilization of points-to analysis and its coupling with points-to-with-effects
  alias-classes and effects-util: core dumps in Pointers reduced to convergence issue (4 or 5 similar problems)
  alias-classes: mostly comments added; new function added to decompose stubs_list()
  Add wilson's example
  Take into account the test of compatibility between pt_in and pt_bounded while computing interprocedural points to relations
  [effects] more user-friendly and explicit warning
  [effects] avoid anywhere effects when encountering declaration of a FILE * variable
  [manage_parallel_loops] add a pending comment
  alias-classes, effects-util: a few bug fixes; still 6 core dumps and lots of changes to validate in Pointers
  add some comments.
  more substitution fixes
  fix bad substitutions
  Fix -Werror compilation
  alias-classing, effectus-util and ri-util: support for analysis with non-strict pointer typing
  Pointers/assignment12: test case for double pointers analyzed assuming non strict typing
  update hwac todo
  remove initially true but now false comments.
  alias-classes, effects-util and ri-util: lots of improvement to have properly typed points-to arcs; still failing when pointers to a scalar must also be considered as pointers to arrays; so POINTS_TO_STRICT_POINTER_TYPES must be set to true for more reliable results; the fix-point procedure does not always converge: no progress yet
  accept added dag statistics
  add dag statistics as comments
  accept while loop unrolling related changes
  improve while loop unrolling
  An example with a dynamic array
  Fix a bug when initializing stubs for struct's fields. Add a test before starting an interprocedural analysis
  No need to start an interprocedural analysis if the callee has no side effect
  NEx example for the interprocedural analysis
  hmmm... undo copyright changes within gnulib. I do not understand why the --lgpl option leads to some gpl copyright.
  switch linear to LGPL.
  note about possible while-unrolling improvement.


Former-commit-id: a0479cf550b45437e5a9842874968921b6e93c96
Merge branch 'p4a-own' into p4a


Former-commit-id: 0cdca774d0ba86d4e5444cc845e98daef65bb8e0
Merge branch 'p4a-own' into p4a


Former-commit-id: f44ce8ff199eb4d653d084adf2fd3761d9e75ef4
Update coding rules to be in phase with the OpenGPU chapter on coding rules


Former-commit-id: ac3a019af8cfb99ad58865804b540b13102a5846
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Pointers: a few updates because the fix point algorithm used has been changed; also new issues detected with the C conditional operator; the fix point algorithm is the initial fix point algorithm, not the iterative one, and a normalization operator has been added to enforce convergence; however, too much information seems to be lost: this appears with Strict_typing.sub/linked_list01 and 02
  alias-classes, effects-util, ri-util: many changes checked-in simultaneously; type checking is still shaky, especially for lhs expressions that implies implicit dereferencing(s); the old fix point algorithm is used again, with a normalization operation added to ensure convergence and out-degree bounding; this new fix point seems to lose some information for Strict_typing.sub/linked_list01 and 02
  - update to address the new cornerturn functions - add information on scalar task parameters used in array declarations - detection of complex expression in array dimension declaration - data type char instead of int(1)
  alias-classes, effects-util, ri-util, pipsmake-rc.tex: checkpoint for points-to fix point improvement; new property to limit the out degree of vectices in the points-to graph; area FORMAL added for the formal context; detection of vertices with excessive out-degree is faulty... list05 still fails because create_k_limited_stub_points() does not include the proper test
  note about impact of other opencllib-like implementation strategy
  (not) done++
  Pointers: if19 handled; sort01 improved to avoid suing unassigned pointers
  alias-classes: arc removed when possible for e1 different from e2; evaluability of sub-expressions checked in condition evaluations; effects-util: atomicity denied for stubs; by construction, stubs are abstract addresses
  some dones
  Pointers: result updated for if18, if19 to be handled later, if20 to check arc removal with e1 not equal to e2
  alias-classes: use != to remove arcs
  Pointers: if18 added to check arc removal by condition e1==e2
  alias-classes,effects-util: points-to cell intersection improved; more arc removal when condition e1==e2 is tur
  accept convolution norm
  fix convolution: must divide my norm, which changes on borders
  fix bad placement of reductions in deblocking
  accept dependency fix
  add extern declaration to avoid a warning.
  add some more help comments
  alias-classes and effects-util: improved handling of conditions e1==e2 and e1!=e2; more improvements to come for individual arcs killed by the conditions
  alias-classes and effects-util: improved handling of conditions e1==e2 and e1!=e2; more improvements to come for individual arcs killed by the conditions
  Pointers: if08 and if17, to check handling of e1==e2 and e1!=e2; more test cases needed to measure impact on individual arcs
  split opencl dags along connected components
  accept split along connected components
  Pointers: mostly improvements on the handling of conditions p==NULL and p!=NULL
  alias-classes and effects-util: mostly improvements on the handling of conditions p==NULL and p!=NULL
  remove forgotten debug messages
  add new file in list
  accept intermediate image reuse
  fix cleanup with cross-dag helper reuse
  Revert previous commit, I didn't intend to commit these files...
  note about cleanup issues.
  Test case for gpu_xml_dump() pass
  Add a pass to dump meta-information using XML for Spear interface
  add an option NOT to preload preloading seems a bad idea on the CPU implementation
  accept new "ILP" friendly version
  opencl : load explicitely before using
  Pointers: a few bugs removed, a new bug added
  alias-classes: TODO
  alias-classes: mostly detect main to avoid useless comments about memory leaks
  Pointers: argv06 used again; Strict_typing.sub/malloc03 and 06
  effects-util/points_to.c: location of useful subscript improved, except for dereferencing02; attempt at distinguishing between a user error and a pips error when data is heap allocated
  add case with unused center pixel.
  fix index in generated code
  forgotten index change in generated code
  Pointers: new stuff for subscript analysis + some illegal updates in Mensi.sub; note that the current results are about as good as the revious on in Mensi.sub: still some issues about the arc approximations
  alias-classes, effects-util, ri-util: types are introduced to decided where to use the subscript list when a C subscript construct is encountered; the design is probably lousy: the type information should be provided earlier when computing   xxx_to_sinks() or xxx_to_sources() but this would mess up the memory management; note that it is already very messed up...; the issue is that you want array elements in points-to but you may need pointers at the caller level; this is especially true when analyzing a subscript; no core dumps and the validation is OK, but for mensi.sub
  note about todo
  do not show "committed" stuff on svn, it is not really useful.
  accept new 2D workSize implementation
  generate code for a 2D worksize
  Add thesis exampls to Mensi.sub
  Pointers/struct18: triple subscript for a pointer; NULL arcs are not deleted as they should be
  Pointers: triple pointer and pointer subscripts; a NULL dereferencing is not used to eliminate an impossible NULL sink
  Pointers: struct21 added for subscript debugging; README updated
  alias-classes, effects-util, ri-util: still struggling with the subscript construct; debug checks added and removed
  Pointers: Mensi.sub is used for all examples used in her dissertation; Interprocedural.sub is used only for interprocedural test cases (some redundance may occur with Mensi.sub); test case struct21 added to debug the analysis of the subscript construct
  note about alternative strategies when generating the OpenCL kernels.
  EffectsWithPointsTo/InterproceduralPointsTo: renaming of swap.reseult into swap.result
  add a property to synchronize before calling OpenCL kernels
  fix inverted erode & dilate
  Oops, dilate & erode defs where inverted
  accept new more efficient cleanup
  improve temporary image cleanup.
  add comments & debug messages
  add comments.
  accept opencl code change
  undo minor optimization in opencl code which results in poorer perf on osaka
  generate simpler code for kernels
  accept simpler code.
  new opencl version with constant-kernel optimizations
  activate opencl constant-kernel optimizations
  record generated constant-kernel operations as helpers so that the cleanup works for these functions as well.
  accept copy/cst image detection
  detect to more cst/copy operations just a helper to avoid failures with opencl validation
  note about border_dead.c
  add check for "ed":-)
  merge reductions with morpho op if any
  Pointers: array14 added to check the points-to analysis against the use of an array as a pointer
  alias-classes: ignore fake pointer dereferencing such as *a when a is an array and means a[0]
  clearer issue with transposed kernels
  hacked around to accept 3x3 0/1 convolutions
  note about todo
  preliminary implementation with some more merging...
  note about implementation progress
  accept minor changes
  fix opencl code generation  - remove a useless variable  - add some comments about width vs pith  - add spacing for ?: operator
  Feedback from EffectsWithPointsTo added...
  Pointers: reduced output, effects are of no use in the computation of points-to information
  accept new opencl pixel loops
  change thread shift handling for the pixel loop add preliminary support for kernel boundary management
  Pointers: RESULTS file is removed
  Pointers: global update with additional information for EffectsWithPointsTo phase
  alias-classes: additional preconditions for EffectsWithPointsTo
  hmmm... rather remove debug code.
  comment out debug code.
  get actual freia call, not first level call...
  commit preliminary implementation of opencl specialized kernel ops
  add commented out property
  extract a function to generate a helper entity.
  alias-calsses: TODO added, comments added in sinks.c
  alias-classes: some code cleaning; only one core dump, fulguro03, and no differences at all in Pointers
  Pointers: more updates
  Pointers: new test case to show bug due to the use of typedefs; now one bug in Strict_typing.sub, list01; README and several result files updated
  alias-classes: add some checks to survive wrong input code and to distinguish between implementation errors and illegal input code; more type checking
  Pointers: updated results; mostly, differences with the heap modelling; previous results were better but unsafe because the heap model is not sufficient to distinguish between a malloc occuring within the current block and a malloc call site that may have been executed several times and produce an abstract locations rather than a single location
  Pointers: results updated; one C source code fixed
  Pointers: updated results
  alias-analysis: improved C and PIPS type compatibility test
  fix typo.
  do not add kernel arguments, it is not needed.
  fix merging of kernels
  Pointers: a few more updates
  ri-util: missed check-in; alias-classes: bug fix in type compatibility
  Pointers: a few result updates
  alias-classes: type check added in declaration_statement_to_points_to() to avoid synthesizing an illegal C instruction
  accept minor changes linked to the new opencl split implementation the dependences seem okay in the new version as well.
  fix and add comment
  reimplement opencl dag splitting so that some vertices can be merged as an afterthought
  Pointers: struct19 for struct initialization and static01 for implicit static pointer initialization
  alias-classes: struct initialization, default static pointer initialization to NULL
  use kernel extraction from vertex
  add two not yet implemented props for FREIA OpenCL compiler.
  add data structure for kernel-based operations.
  restructure code
  add a kernel extraction utility function
  hmmm... more stuff.
  one more idea
  note about opencl todo
  hack++, keep opencl sync in place as well.
  add comments.
  add some comments.
  Pointers: pointer08, 12, 13 and 14, updates results
  Pointers: update related to the last source code change, 21460
  alias-classes: a small bug fix in sinks.c; effects-util: another attempt at improving the placement of indices when a subscript construct is found; no impact observed; one new core dump, fulguro03, but a fix for pv_assign05
  Pointers: struct19 for struct initialization with braces, struct20 to explore the limit of on-demand computation, and several result modified
  alias-classes and ri-util: detection of unimplemented struct initialization
  add quick fix for performance measures
  Pointers: a few more updates of results
  alias-classes: a partial fix for pointer arithmetic; still not clear which index should be updated in complex cells
  alias-classe, effects-util, ri-util: two minor bug fixes, about no impact on validation result...
  Pointers: argv06 added to explore the positioning of indices in multidimensional stubs
  Pointers: lots of .bug removed, results updated; 385 test cases, 1 core dump, 88 differences and still 12 known bugs, mostly subscripts and loop convergence
  alias-classes: calls to obsolete function are replaced
  Pointers: fread03, smal change, and fulguro03, real improvement... but not checked visually
  alias-classes and effects-util: function moved into effect-utils + new support functions to handle the subscript data structure; bug fix for void * pointers: they point toward an overloaded sink
  Pointers: A few updates, mostly to transform convergence core dumps into bugs
  mostly alias-classes: a few bug fixes; they key insight is that expression_to_points_to_sources() should sometimes fail and that the current implementation applies an extra evaluation to provide a result no matter what...; callers must be aware of this evaluation in order not to apply one too many
  Pointers: one forgotten file
  Pointers: a few forgotten files
  Oops... not too sure of the result; poor attempt at renaming Pointers/Mensi into Pointers/Mensi.sub
  Pointers: a set of updates and test cases
  alias-classes: proper handling of p[i] as lhs or rhs when p is a pointer; 5 core dumps in Pointers, 79 differences, including one in Strict_typing.sub
  effects-util: points_to_cell_types_compatibility() adpated for char[] and char*
  ri-util: make)subscript_expression() and pointer_reference_to_expression() added; the second function is used to convert p[i], where p is a pointer, into *(p+i)
  add redundant declaration for helper function...
  Pointers: conditional03 and 04 added to check that better results are obtained, as for conditional01; result file improved for call21
  alias-classes: minimal analysis of array pointer initializations added; more work around the use of pointers as array in the internal representation
  Pointers/struct18: a simplified version of struct08; two kinds of things are wrong: the stubs in the heap do not seem to be typed like usual stubs; somehow their types should evolve with the control context; also non-constant path are generated such as p[*]; this is not detected by the points-to graph consistency check
  Pointers: missing return statements and updated results for some callxx test
  alias-classes: two tests fixed in sinks.c for the conditional operator; an imprecision in the C internal representation, indexing of pointers, fixed at the points-to nalalysis level
  Pointers: new test cases for assert(); several updates of source codes and mostly of result files
  alias-classes: so-called ambiguous core dump removed because it is due to condition evaluation and to the improper management of the points-to precondition (stubs assumed present in the precondition are only added to the postcondition); better handling of intrinsics assert_fail(); analysis of expressions in array dimensions; arrays are constant pointers: they must not be evaluated with points-to information (guards eval_p should all be fixed with an additional test on the type of the current source); do not add subscripts to the NULL cell; better handlind of the conditional operator: one cannot be sure which alternative is going to be executed (not sure at all the current implementation is correct; only the condition is analyzed for side effects...); the value returned by a function was ignored by the caller in points_to_init_analysis.c
  Pointers/fxxxx: accept new results for some file whose names start with an f; exact transformed into may and suppression of the information generated by the IN analysis
  Pointers/array13: this test case is mostly useful for the understanding of the IN points-to information; here a formal parameter is used as a local variable; the IN information is empty as it should be since it is not used
  Semantics-New/pointer02 and pointer02b: more progress with points-to analysis and its coupling with effects-with-points-to required
  Rice/pointer08: update od intermediate results
  Pointers/Strict_typing.sub: results are updated; arcs towards heap locations are never declared exact, even when they could be, because it is not tested properly; also field numbers are used for disambiguation whether a struct contains one or more pointer fields; not checked for struct of structs I am afraid; finally, bug files added to avoid repetitive core dumps during development and to detect new ones
  alias-classes: better management of exact/may information; better management of subscripts in array fields; comments added in points_to_private.tex
  Pointers/pointer08.c: copied from Rice
  alias-classes: bug fix for pointer02.c; 24 instead of 25 core dumps and still 141 problems
  New data structures for points-to: bottom field added to take into account code that is unreachable because of address computations (OK, a union should have been used instead of a product, but it was an easier change); new rules to eliminate the initialization phase: all points-to information is computed on demand, which may require changes in effect computation with points-to; core restructuring; better handling of arrays of pointers; fields are now used to disambiguate stubs when one data structure can points towards several stubs; improvements in typing points-to arcs; new functions here and there: ri-util, effects-util; 141 problems in Pointers, including 25 core dumps; hopefully, not too much impact on the other really used passes in PIPS
  Pointers/fulguro03.result restaured
  Pointers: test cases using strict typing are set apart in a sub-directory
  A few more test cases, mostly to check struct15.c with Amira Mensi
  Result is OK
  #710 : was not a bug
  See #710
  Add test case for #710
  - Remove bug after pips revision 21439
  Trying to handle Effects/missing_out.tpips
  - Add a new test case
  reduce the load a little bit.
  more cleanup needed in Scilab/COLD-1.0.5 validation
  accept use of intermediate pointers which seems reasonable
  Only for C module...
  use default gcc with squeeze.
  - Bug correction Outlining/outline27_b
  - Bug correction
  update comment to reflect current status
  - Bug with setproperty OUTLINE_INDEPENDENT_COMPILATION_UNIT TRUE
  - Add a .tpips file based on outline27.py
  - Bug correction (trunk/Outlining/outline07.result)
  - Bug correction (Outlining/outline07.result/test)
  - Bug correction ([PIPS] validation r5721 in /trunk/Outlining: ./ struct.result/)
  - Bug correction
  debug for exact integer projections and exact loop bound computation
  add some comments about the returned status for nagios
  more information on fail.
  exp -> expo because there is a "exp" function which generates warnings
  add extern declarations, as AUTOC compilation sometimes fails.
  check validation summary age anyway
  use saved version
  keep a copy of SUMMARY.short...
  check pips status for nagios
  Add missing test file
  Accept new changes and add a new test case struct_inter03.c
  Use FAST_INTERPROCEDURAL_POINTS_TO_ANALYSIS instead of INTRAPROCEDURAL_POINTS_TO_ANALYSIS to get the old results
  Add a binding function to the interprocedural analysis(see EffectsWithPointsTo/Interprocedural/struct_inter03.c
  constants04 for later
  [Scilab] accept still unsatisfying t63 results. They are nevertheless correct, and accepted in our own validation at Silkan.
  [Benchmarks/NPB3.3.sub] accept changes on loop upper bound sub-expressions which are no more simplified when << operator is involved.
  [Flatten_code] modify scripts to take into account the fact that flatten code "un-parallelizes" parallel loops.
  [PointerValues] statement number changed... accept.
  ri-util/type.c: extension of generic_type_equal_p() to ignore differences due to qualifiers; adaptation of effects-util/type.c
  Pointers: 9 core dumps, 80 problems in all
  alias-classes/points_to_set.c: global pointers to scalar, like other pointers to scalar, in fact points to arrays unless the corresponding property POINTS_TO_STRICT_POINTER_TYPES is set
  Pointers: a few more [0] added in test results
  Pointers/callxy: test files updated with [0] for several callxy cases; results to be checked by Amira if possible
  alias-classes and effects-util: another checkpoint; hopefully with better type checking of points-to arcs; 8 core dumps, including issue with type qualifiers; and 97 differences, mostly due to the addition of [0] to targets pointed to by pointers to scalar
  ri-util/expression.c: new functions added to support points-to analysis
  Pointers: updates of test files due to C source updates
  Pointers/assignment16.bug: not ready yet; could be a .later
  Pointers: updates and new test cases + forgotten files
  - update of xml-prettyprinter dependences
  - To take into account the independence of library functions:  --  First, interfaces for library functions and tasks are computed. Interprocedural preconditions are not used.  -- Then, the interface for the application is computed. It takes into account interprocedural analysis information. - Detection of corner turns, and generation of transposition matrices - some debugs on the pattern computation


Former-commit-id: 0a6d7e65634bbba836885ca3b25f0994352a08a7
Merge branch 'p4a-own' into p4a

* p4a-own:
  Update coding rules to be in phase with the OpenGPU chapter on coding rules


Former-commit-id: 26ba62843eeff38f0f8c91eef0c96df1f8271a0a
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  alias-classes and effects-util: mostly improved projection of information that has become useless; TODO is updated; bug messages have been updated in Pointers
  - add dependence on callees for xml code generation
  Pointers: lots of updates due to a better projection of information that has become either useless or meaningless
  -  only one pass can be used  for xml tasks
  test new cleanup phase
  add a cleanup phase to get rid of some pointers introduced by inlining: "p = &bla; *p = foo;"


Former-commit-id: 1ba001bbdd8f1405fe1731a6784029bd9c0a92f2
Merge branch 'p4a-own' into p4a


Former-commit-id: b4e8684c7cfd2fcef7ea24db497f81298c6ee9ce
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Fix case in XML tag (has to be capitalized)
  accept changes due to terapix bw change (again)
  1K=1000, so exactly 24 tics to the row.
  accept changes due to updated memory bandwidth to fill-in the terapix
  update terapix memory bandwidth
  Add a new example to the intraprocedural chapter
  Not a clean checkpoint, but it is Friday night
  Not a clean checkpoint: still issues with typing of cells and arcs; and some core dumps, especially due to the subscript construct; but it is Friday evening
  opencl with possibly transposed thread dims &| loops
  accept new more generic code
  better handling of reductions in the general case
  accept new handling of reductions
  C_syntax: pml03 added
  memory leak--
  accept identation fix
  fix indentation for i loop closing.
  note about dones
  add opencl tiling option, disabled by default
  accept new version including one test with tiling enabled
  accept added comment.


Former-commit-id: 858942703482478c9c32fe11fc15cb84799980e2
Merge branch 'p4a-own' into p4a

* p4a-own:
  Spear Processor: generate also the DTD along the XML file
  Spear Processor: do not detect parallelism but trust blindly XML input
  Do not include extensions when including images in LaTeX
  Check during LaTeX beamer compilation for FORMATION_ROOT variable definition
  Fix some incoherence due to the end of par4all_organization.tex
  Fix typo in developer guide
  Remove obsolete doc/organization/par4all_organization.tex


Former-commit-id: ab413da448be4eab632162c96305046d0af13c4b
Merge branch 'p4a-packages' into p4a

* p4a-packages:
  Pointers/and_operator02 and 03: result modified for the first one; the second test case is added
  alias-classes and effects-util: code added for Pointers/and_operator02.c
  Pointers/Mensi.sub: update of result for swap01
  fix a typo in swap01 and add new tests
  Pointers: MAY arcs towards NULL and undefined are removed when they are incompatible with the function termination; too many arcs removed when computing a loop fix-point
  alias-classes: arcs towards NULL or undefined are removed when they are not compatibe with the proper termination of the current statement; this is not compatible with the current fix point for loops, but I believe that the fix point should be improved;
  Pointers/Strict_typing.sub: MAY arcs towards NULL and undefined are removed when they are incompatible with the function termination
  Pointers: struct22 added with imprecise but correct results; one test result fixed; error messages modified because a function name has been changed for a better consistency with its signature
  alias-classes: chase unexpected sharing between arcs in the points-to graphs; consistency check improved; fresh_p is now properly propagated recursively; a function name has been changed: points_to_set_block_projection()
  control/for_to_do_or_while_loops.c: comment added about unexpected output and reformatting
  fix imagelet size computation when height is known
  accept imagelet size fixes
  Rice: pointerxx.later files removed and results updated when needed
  alias-classes, semantics, effects-util: cosmetic changes + updates of TODO files
  Add a "one thread parallelization" phase, to be used with SpearDE
  Pointers: result for pointer15 updated, but still partly wrong
  alias-classes: two small bug fixes; not really convincing... but sufficient for current test cases
  Pointers: updates due to some handling of casts and to arithmetic error dectection
  alias-classes, effects-util and ri-util: more flexible type equality/equivalence; partial debugging after adding cast handlind, pointer arithmetic error detection and new typing of sub-arrays
  add option to reduce dags to connected components for terapix fix tile size computation, although it raises bugs in the runtime
  also accept connected component & tile size change
  Pointers: a check-in after a while...
  alias-classes, effects-util: change in typing of references + detection of some pointer arithmetic errors; as a consequence 14 validation problems to be fixed
  add new helpers
  tweak terapix dag cutting
  accept changes from tweaked cut


Former-commit-id: 12d812b952f4a294748977a7a7194ea0413d0da9
Merge branch 'p4a-own' into p4a

* p4a-own:
  Spear XML generation: fix DTD
  OpenCL post processor: Handle address space in cast (hack inside)
  Update abbreviation file for LaTeX
  Fix OpenCL kernel generation
  Spear processor: accept 0 parallel loop as input (one gpu thread)
  Processor: do the post-processing of OpenCL kernels in the database


Former-commit-id: e545004a233c15902be80db5fc385f2a8cf7ad8e
Merge branch 'p4a-own' into p4a


Former-commit-id: 5ce4fbbc937b6d8873a547de6159e76a85fc724d