diff --git a/CMakeLists.txt b/CMakeLists.txt index c414c9509976d699070473e9766f3f1434edd207..c82497d948dfb5acbd7409c90619165c175afca4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,10 @@ cmake_minimum_required (VERSION 2.6) project (perf) include_directories("../clan-0.8.0/osl/include") link_directories("/home/daniel/polyhedral_perforation/clan-0.8.0/osl/.libs") +set(CMAKE_CXX_FLAGS "-g -Wall") + add_executable(perf main.cpp) target_link_libraries(perf osl) -set(CMAKE_CXX_FLAGS "-g -Wall") + +add_executable(info info.cpp) +target_link_libraries(info osl) diff --git a/info.cpp b/info.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bcae4c333e25831f68610e3da5315a1cb77a09e9 --- /dev/null +++ b/info.cpp @@ -0,0 +1,23 @@ +#include <iostream> +#include <osl/osl.h> + +int main(int argc, char *argv[]) { + if(argc != 2) { + std::cerr << "usage: <SCOP>\n"; + return -1; + } + + auto *fp = fopen(argv[1], "r"); + if(!fp) { + std::cerr << "openscop read failed\n"; + return -1; + } + auto scop = osl_scop_read(fp); + fclose(fp); + + for(auto s = scop->statement; s; s = s->next) { + std::cout << s->domain->nb_output_dims << "\n"; + } + + return 0; +}