From 75d330345bc0d780cc22d63609c52326336eac0b Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sat, 10 Aug 2013 17:28:24 +0200 Subject: [PATCH] update pet for change in pet_scop_collect_{reads,writes} These now support the collection of data dependent accesses. Since we currently do not support these in PPCG, we simply collect all "may" accesses, knowing that they are equal to the "must" accesses. Since the ranges of the access relations are now also intersected with the array extents by pet, also add a note to README stating that -DPOLYBENCH_USE_C99_PROTO should be used when processing PolyBench. Signed-off-by: Sven Verdoolaege --- README | 8 ++++++++ pet | 2 +- ppcg.c | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README b/README index d0d8393..78a5b21 100644 --- a/README +++ b/README @@ -113,6 +113,14 @@ by the original code, then you may need to disable some optimizations by passing the "--fmad=false" option. +Processing PolyBench + +When processing a PolyBench/C 3.2 benchmark, you should always specify +-DPOLYBENCH_USE_C99_PROTO on the command line. Otherwise, the source +files are inconsistent, having fixed size arrays but parametrically +bounded loops iterating over them. + + CUDA and function overloading While CUDA supports function overloading based on the arguments types, diff --git a/pet b/pet index 042c610..9ac78a1 160000 --- a/pet +++ b/pet @@ -1 +1 @@ -Subproject commit 042c610bbd35371eeb09db392b35d27b796fc71e +Subproject commit 9ac78a1f8c302b9886322c80f03fa0aa5b485a8f diff --git a/ppcg.c b/ppcg.c index 5396f80..d6e3e02 100644 --- a/ppcg.c +++ b/ppcg.c @@ -392,8 +392,8 @@ static struct ppcg_scop *ppcg_scop_from_pet_scop(struct pet_scop *scop, ps->context = set_intersect_str(ps->context, options->ctx); ps->domain = collect_non_kill_domains(scop); ps->call = collect_call_domains(scop); - ps->reads = pet_scop_collect_reads(scop); - ps->writes = pet_scop_collect_writes(scop); + ps->reads = pet_scop_collect_may_reads(scop); + ps->writes = pet_scop_collect_may_writes(scop); ps->kills = collect_kills(scop); ps->schedule = pet_scop_collect_schedule(scop); ps->n_array = scop->n_array; -- 2.11.4.GIT