diff options
Diffstat (limited to 'gcc/graphite.h')
-rw-r--r-- | gcc/graphite.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/gcc/graphite.h b/gcc/graphite.h index 1a3cf6c..2e2904a 100644 --- a/gcc/graphite.h +++ b/gcc/graphite.h @@ -260,7 +260,7 @@ typedef struct name_tree { tree t; const char *name; - struct loop* loop; + struct loop *loop; } *name_tree; DEF_VEC_P(name_tree); @@ -340,8 +340,34 @@ extern void debug_clast_stmt (struct clast_stmt *); extern void debug_loop_vec (graphite_bb_p gb); extern void debug_oldivs (scop_p); -typedef VEC(name_tree, heap) **loop_iv_stack; -extern void loop_iv_stack_debug (loop_iv_stack); +/* Describes the type of an iv stack entry. */ +typedef enum { + iv_stack_entry_unknown = 0, + iv_stack_entry_iv, + iv_stack_entry_const +} iv_stack_entry_kind; + +/* Data contained in an iv stack entry. */ +typedef union iv_stack_entry_data_union +{ + name_tree iv; + tree constant; +} iv_stack_entry_data; + +/* Datatype for loop iv stack entry. */ +typedef struct iv_stack_entry_struct +{ + iv_stack_entry_kind kind; + iv_stack_entry_data data; +} iv_stack_entry; + +typedef iv_stack_entry *iv_stack_entry_p; + +DEF_VEC_P(iv_stack_entry_p); +DEF_VEC_ALLOC_P(iv_stack_entry_p,heap); + +typedef VEC(iv_stack_entry_p, heap) **loop_iv_stack; +extern void debug_loop_iv_stack (loop_iv_stack); /* Return the number of gimple loops contained in SCOP. */ |