aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ira-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ira-int.h')
-rw-r--r--gcc-4.9/gcc/ira-int.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ira-int.h b/gcc-4.9/gcc/ira-int.h
index 19d86019a..98476fba3 100644
--- a/gcc-4.9/gcc/ira-int.h
+++ b/gcc-4.9/gcc/ira-int.h
@@ -135,6 +135,10 @@ struct ira_loop_tree_node
/* Numbers of copies referred in the corresponding loop. */
bitmap local_copies;
+
+ /* The flag only valid for flag_shrink_wrap_frame_pointer.
+ It is true when the loop could use fp as a free register. */
+ bool fp_is_free;
};
/* The root of the loop tree corresponding to the all function. */
@@ -568,6 +572,8 @@ struct ira_allocno_copy
case the copy frequency is smaller than the corresponding insn
execution frequency. */
rtx insn;
+ /* list of copies generated from the same insn. */
+ ira_copy_t copy_list;
/* All copies with the same allocno as FIRST are linked by the two
following members. */
ira_copy_t prev_first_allocno_copy, next_first_allocno_copy;
@@ -1008,6 +1014,7 @@ extern ira_copy_t ira_create_copy (ira_allocno_t, ira_allocno_t,
int, bool, rtx, ira_loop_tree_node_t);
extern ira_copy_t ira_add_allocno_copy (ira_allocno_t, ira_allocno_t, int,
bool, rtx, ira_loop_tree_node_t);
+extern ira_copy_t find_alternate_copy (ira_copy_t cp, ira_allocno_t connect);
extern int *ira_allocate_cost_vector (reg_class_t);
extern void ira_free_cost_vector (int *, reg_class_t);