summaryrefslogtreecommitdiff
path: root/src/analysis/block.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-01-13 20:23:05 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-01-13 20:23:05 (GMT)
commit35a6cd881528b5f77ce09476eccb39d02d9cc634 (patch)
tree13e0f080a277eb0647b6917f18fbe2cb84a67369 /src/analysis/block.h
parent221bcaeeb06415d501f9abbb9bc4b7d8339af1fe (diff)
Defined the registers allocation needs for each basic block.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@323 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/block.h')
-rw-r--r--src/analysis/block.h36
1 files changed, 3 insertions, 33 deletions
diff --git a/src/analysis/block.h b/src/analysis/block.h
index 125ff0e..223649f 100644
--- a/src/analysis/block.h
+++ b/src/analysis/block.h
@@ -27,40 +27,10 @@
#include <glib.h>
#include <glib-object.h>
+#include <stdbool.h>
-#include "../arch/register.h"
-
-
-
-
-
-
-
-
-/* Note sur le premier accès */
-typedef enum _RegAccessType
-{
- RAT_NONE = (0 << 0), /* Registre non rencontré */
- RAT_READ = (1 << 0), /* Lecture */
- RAT_WRITE = (1 << 1) /* Ecriture */
-
-} RegAccessType;
-
-/* Description minimale des accès à un registre */
-typedef struct _reg_access
-{
- GArchRegister *reg; /* Register concerné */
-
- RegAccessType first_access; /* Type du premier accès */
- vmpa_t last_write; /* Dernière écriture */
-
-} reg_access;
-
-
-/* Compare un accès registre avec un autre. */
-int compare_reg_accesses(const reg_access *, const reg_access *);
-
+#include "../arch/archbase.h"
@@ -96,7 +66,7 @@ typedef bool (* instr_block_visitor_cb) (GInstrBlock *, BlockVisitOrder, void *)
GType g_instr_block_get_type(void);
/* Recherche le bloc contenant une adresse donnée. */
-GInstrBlock *g_instr_block_find_by_addr(const GInstrBlock *, vmpa_t);
+GInstrBlock *g_instr_block_find_by_addr(const GInstrBlock *, vmpa_t, bool);
/* Parcours tous les blocs d'instructions dans un ordre donné. */
bool g_instr_block_visit(GInstrBlock *, instr_block_visitor_cb, void *);