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.