diff options
author | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-15 16:24:15 +0000 |
---|---|---|
committer | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-15 16:24:15 +0000 |
commit | be8d200b02193648532fec45160982c6a17f4702 (patch) | |
tree | 330d6f9c765630d4d31dbcd29bd050c5cd5fa243 /gcc/graphite.h | |
parent | 7dd3db6ea365e42e565bb546b2e2729ef4828638 (diff) | |
download | gcc-be8d200b02193648532fec45160982c6a17f4702.tar.gz |
2008-10-15 Jan Sjodin <jan.sjodin@amd.com>
Harsha Jagasia <harsha.jagasia@amd.com>
PR tree-optimization/37485
* graphite.c (gmp_cst_to_tree): Moved.
(iv_stack_entry_is_constant): New.
(iv_stack_entry_is_iv): New.
(loop_iv_stack_push): Renamed to loop_iv_stack_push_iv.
(loop_iv_stack_insert_constant): New.
(loop_iv_stack_pop): Use new datatpype.
(loop_iv_stack_get_iv): Same.
(loop_iv_stack_get_iv_from_name): Same.
(loop_iv_stack_debug): Renamed to debug_loop_iv_stack.
(loop_iv_stack_patch_for_consts): New.
(loop_iv_stack_remove_constants): New.
(graphite_create_new_loop): Use loop_iv_stack_push_iv.
(translate_clast): Call loop_iv_stack_patch_for_consts and
loop_iv_stack_remove_constants.
(gloog): Use new datatype. Redirect construction edge to end
block to avoid accidental deletion.
* graphite.h (enum iv_stack_entry_kind): New. Tag for data in
iv stack entry.
(union iv_stack_entry_data): New. Data in iv stack entry.
(struct iv_stack_entry): New. Datatype for iv stack entries.
2008-10-15 Sebastian Pop <sebastian.pop@amd.com>
* tree-data-ref.c (stmt_simple_memref_p): Fix memleak.
* graphite.c (free_scop): Same.
(build_scops): Same.
(free_scattering): New.
(build_cloog_prog): Call free_scattering.
(patch_phis_for_virtual_defs): Fix memleak.
(graphite_trans_bb_strip_mine): Same.
(limit_scops): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141143 138bc75d-0d04-0410-961f-82ee72b054a4
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 1a3cf6ccc65..2e2904a6abf 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. */ |