FADA toolkit

FADAtool and Pragmas

Feb 16, 2009   
Here a simple example showing how user can use pragmas to inject dataflow properties on non-affine laterals (in our case an input-sensitive scalar):


 for(i=1; i<N ; ++i){
S1: io=computation1(i,T[0]);

#pragma fada 0 != io
S2: T[io]=compputation2(i);
}


Here, there is a conflict between statements S1 and S2 on T cells. The problem is that T cells are indexed with io which is an input sensitive scalar (we can not predict its values at compile-time). But, an expert knowledge on the program leads us to confirm that io values can never be 0. This knowledge can be injected into FADAtool through a user defined pragma.

Here, the FADAtool input, and its complete output.