diff options
Diffstat (limited to 'gcc-4.9/gcc/df.h')
-rw-r--r-- | gcc-4.9/gcc/df.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/gcc-4.9/gcc/df.h b/gcc-4.9/gcc/df.h index 2de800c09..3020955c1 100644 --- a/gcc-4.9/gcc/df.h +++ b/gcc-4.9/gcc/df.h @@ -1134,21 +1134,23 @@ df_get_artificial_uses (unsigned int bb_index) /* web */ -/* This entry is allocated for each reference in the insn stream. */ -struct web_entry +class web_entry_base { - /* Pointer to the parent in the union/find tree. */ - struct web_entry *pred; - /* Newly assigned register to the entry. Set only for roots. */ - rtx reg; - void* extra_info; -}; + private: + /* Reference to the parent in the union/find tree. */ + web_entry_base *pred_pvt; + + public: + /* Accessors. */ + web_entry_base *pred () { return pred_pvt; } + void set_pred (web_entry_base *p) { pred_pvt = p; } -extern struct web_entry *unionfind_root (struct web_entry *); -extern bool unionfind_union (struct web_entry *, struct web_entry *); -extern void union_defs (df_ref, struct web_entry *, - unsigned int *used, struct web_entry *, - bool (*fun) (struct web_entry *, struct web_entry *)); + /* Find representative in union-find tree. */ + web_entry_base *unionfind_root (); + + /* Union with another set, returning TRUE if they are already unioned. */ + friend bool unionfind_union (web_entry_base *first, web_entry_base *second); +}; extern bool df_check_ud_du_memory_usage (void); |