SuBStrAte, the Similar Behaving Statements Aggregator.
Substrate is a scop (Polyhedral Model / OpenScop) analyzer and optimizer.
It analyzes the the scop by creating a profile for each of its statements. Each statement's profile is composed of subprofile : Data Reuse Profile, Parallelism Profile, Vectorization Profile, Tiling Hyperplane Profile...
It then optimize the scop by looking at the profile of each statement, and try to aggregate the ones that share some affinity/similarity according to some aggregation strategy.
Substrate depends on the following libraries:
To compile substrate :
cmake .
make