summaryrefslogtreecommitdiff
path: root/gcc/df.h
diff options
context:
space:
mode:
authorRazya Ladelsky <razya@gcc.gnu.org>2006-05-04 09:19:02 +0000
committerRazya Ladelsky <razya@gcc.gnu.org>2006-05-04 09:19:02 +0000
commit8cd37d0b6c5eb9e1ac56518f8d7f1257328e96a0 (patch)
treeef41d3b028cb0bd843e780b6ff16b1f90786cd60 /gcc/df.h
parent23ba9627f42b41b4431d63d55431d01fd5af9bf4 (diff)
downloadgcc-8cd37d0b6c5eb9e1ac56518f8d7f1257328e96a0.tar.gz
[multiple changes]
2006-05-04 Leehod Baruch <leehod@il.ibm.com> * see.c: New file. * Makefile.in (OBJS-common): Add see.o. (see.o): Add dependencies. * common.opt (fsee): New flag for the see optimization was added. * opts.c (flag_see): Initialized. * passes.c (init_optimization_passes, pass_see): New pass. * rtl.h (see_main): Declaration as extern. * timevar.def (TV_SEE): New. * tree-pass.h (pass_see): Declaration as extern. * invoke.texi (-fsee): Document. * recog.c (validate_simplify_insn): New function. * recog.h (validate_simplify_insn): Declaration as extern. * df-problems.c (df_chain_dump): Check for NULL. 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> Daniel Berlin <dberlin@dberlin.org> * cfgrtl.c (insert_insn_bb_end_new): New function. * basic-block.h (insert_insn_bb_end_new): Declaration as extern. 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> * df.h (struct web_entry): Moved from web.c. (union_defs): Declaration as extern. (unionfind_root): Likewise. (unionfind_union): Likewise. * web.c (struct web_entry): Moved to df.h. (unionfind_root): Remove static declaration. (unionfind_union): Likewise. (union_defs): Likewise and generalize to use callback function. (web_main): Update arguments for union_defs function call. From-SVN: r113518
Diffstat (limited to 'gcc/df.h')
-rw-r--r--gcc/df.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/df.h b/gcc/df.h
index 720bbfadece..3a735aedd05 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -593,4 +593,23 @@ extern void df_hard_reg_init (void);
extern bool df_read_modify_subreg_p (rtx);
+/* web */
+
+/* This entry is allocated for each reference in the insn stream. */
+struct web_entry
+{
+ /* 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;
+};
+
+extern struct web_entry *unionfind_root (struct web_entry *);
+extern bool unionfind_union (struct web_entry *, struct web_entry *);
+extern void union_defs (struct df *, struct df_ref *,
+ struct web_entry *, struct web_entry *,
+ bool (*fun) (struct web_entry *, struct web_entry *));
+
+
#endif /* GCC_DF_H */