comparison gcc/df.h @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children f6334be47118
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
1 /* Form lists of pseudo register references for autoinc optimization 1 /* Form lists of pseudo register references for autoinc optimization
2 for GNU compiler. This is part of flow optimization. 2 for GNU compiler. This is part of flow optimization.
3 Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009 3 Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008,
4 Free Software Foundation, Inc. 4 2009, 2010 Free Software Foundation, Inc.
5 Originally contributed by Michael P. Hayes 5 Originally contributed by Michael P. Hayes
6 (m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com) 6 (m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
7 Major rewrite contributed by Danny Berlin (dberlin@dberlin.org) 7 Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
8 and Kenneth Zadeck (zadeck@naturalbridge.com). 8 and Kenneth Zadeck (zadeck@naturalbridge.com).
9 9
25 25
26 #ifndef GCC_DF_H 26 #ifndef GCC_DF_H
27 #define GCC_DF_H 27 #define GCC_DF_H
28 28
29 #include "bitmap.h" 29 #include "bitmap.h"
30 #include "regset.h"
31 #include "sbitmap.h"
30 #include "basic-block.h" 32 #include "basic-block.h"
31 #include "alloc-pool.h" 33 #include "alloc-pool.h"
32 #include "timevar.h" 34 #include "timevar.h"
33 35
34 struct dataflow; 36 struct dataflow;
910 df_confluence_function_0, df_confluence_function_n, 912 df_confluence_function_0, df_confluence_function_n,
911 df_transfer_function, bitmap, int *, int); 913 df_transfer_function, bitmap, int *, int);
912 extern void df_mark_solutions_dirty (void); 914 extern void df_mark_solutions_dirty (void);
913 extern bool df_get_bb_dirty (basic_block); 915 extern bool df_get_bb_dirty (basic_block);
914 extern void df_set_bb_dirty (basic_block); 916 extern void df_set_bb_dirty (basic_block);
917 extern void df_set_bb_dirty_nonlr (basic_block);
915 extern void df_compact_blocks (void); 918 extern void df_compact_blocks (void);
916 extern void df_bb_replace (int, basic_block); 919 extern void df_bb_replace (int, basic_block);
917 extern void df_bb_delete (int); 920 extern void df_bb_delete (int);
918 extern void df_verify (void); 921 extern void df_verify (void);
919 #ifdef DF_DEBUG_CFG 922 #ifdef DF_DEBUG_CFG
975 extern void df_byte_lr_simulate_artificial_refs_at_end (basic_block, bitmap); 978 extern void df_byte_lr_simulate_artificial_refs_at_end (basic_block, bitmap);
976 extern void df_note_add_problem (void); 979 extern void df_note_add_problem (void);
977 extern void df_md_add_problem (void); 980 extern void df_md_add_problem (void);
978 extern void df_md_simulate_artificial_defs_at_top (basic_block, bitmap); 981 extern void df_md_simulate_artificial_defs_at_top (basic_block, bitmap);
979 extern void df_md_simulate_one_insn (basic_block, rtx, bitmap); 982 extern void df_md_simulate_one_insn (basic_block, rtx, bitmap);
983 extern void df_simulate_find_noclobber_defs (rtx, bitmap);
980 extern void df_simulate_find_defs (rtx, bitmap); 984 extern void df_simulate_find_defs (rtx, bitmap);
981 extern void df_simulate_defs (rtx, bitmap); 985 extern void df_simulate_defs (rtx, bitmap);
982 extern void df_simulate_uses (rtx, bitmap); 986 extern void df_simulate_uses (rtx, bitmap);
983 extern void df_simulate_initialize_backwards (basic_block, bitmap); 987 extern void df_simulate_initialize_backwards (basic_block, bitmap);
984 extern void df_simulate_one_insn_backwards (basic_block, rtx, bitmap); 988 extern void df_simulate_one_insn_backwards (basic_block, rtx, bitmap);
1113 void* extra_info; 1117 void* extra_info;
1114 }; 1118 };
1115 1119
1116 extern struct web_entry *unionfind_root (struct web_entry *); 1120 extern struct web_entry *unionfind_root (struct web_entry *);
1117 extern bool unionfind_union (struct web_entry *, struct web_entry *); 1121 extern bool unionfind_union (struct web_entry *, struct web_entry *);
1118 extern void union_defs (df_ref, 1122 extern void union_defs (df_ref, struct web_entry *,
1119 struct web_entry *, struct web_entry *, 1123 unsigned int *used, struct web_entry *,
1120 bool (*fun) (struct web_entry *, struct web_entry *)); 1124 bool (*fun) (struct web_entry *, struct web_entry *));
1121 1125
1122 #endif /* GCC_DF_H */ 1126 #endif /* GCC_DF_H */