From bcc3264bf09bffea5716d76bc185710721d99c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9otime=20DONNENFELD?= <theotime.donnenfeld@ensiie.fr> Date: Sun, 21 Oct 2018 18:21:12 +0200 Subject: [PATCH] =?UTF-8?q?Pour=20pragmas=20:=20reste=20les=20warnings=20?= =?UTF-8?q?=C3=A0=20rajouter=20si=20l'utilisateur=20fait=20n'imp=20avec=20?= =?UTF-8?q?les=20pragmas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODOLIST | 13 +++++++++++++ plugin.cpp | 14 +++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/TODOLIST b/TODOLIST index 19d94d4..7868552 100644 --- a/TODOLIST +++ b/TODOLIST @@ -3,3 +3,16 @@ Passe de compilation pour trouver les appels aux fonctions collectives : Oui Définition d'une numérotation permettant de suivre la position d'une fonction collective dans la séquence d'appel : Oui Utilisation de la frontière de post dominance itérée pour retrouver le noeud d'origine du deadlock potentiel : Non + +PRAGMAS : + +Si on utilise pas les pragmas -> passer dans toutes les fonctions : Oui + +Reconnaitre les noms de fonctions et filtrer dans la gate : Oui + +Ne pas mettre deux fois la meme fonction via les pragmas : Non + +Pas de pragma dans les fonctions : Oui + +Warning envoyé si l'utilisateur a donné une fonction qui n'existe pas dans le source : Non + diff --git a/plugin.cpp b/plugin.cpp index ff70c35..a52eea7 100755 --- a/plugin.cpp +++ b/plugin.cpp @@ -119,15 +119,19 @@ class cleanup_pass : public gimple_opt_pass /* Gate function (shall we apply this pass?) */ bool gate (function * fun) { + bool func_to_be_analyzed = true; printf("=> plugin: cleanup_pass... \n"); printf("=> plugin: gate... \n"); - printf("List of functions to be checked :\n"); - while(pragma_func_names.length() != 0){ - printf("- %s\n",pragma_func_names.pop()); + if((pragma_func_names.length() == 0)){ + printf("\nNOT USING PRAGMAS - ANALYSING ALL FUNCS\n\n"); + return true; } - - return true; + const char *elt; + for(int ix = 0; pragma_func_names.iterate (ix, &elt); ix++) + func_to_be_analyzed = strcmp(elt,function_name(fun)) && func_to_be_analyzed; + printf("USING PRAGMAS - FUNC IS : %s", function_name(fun)); + return func_to_be_analyzed; } -- GitLab