/* Basic block reordering routines for the GNU compiler.
- Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007
+ Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of GCC.
locations_locators_locs = VEC_alloc (int, heap, 32);
locations_locators_vals = VEC_alloc (location_t, heap, 32);
-#ifdef USE_MAPPED_LOCATION
last_location = -1;
curr_location = -1;
-#else
- last_location.line = -1;
- curr_location.line = -1;
-#endif
curr_block = NULL;
last_block = NULL;
curr_rtl_loc = 0;
time locators are not initialized. */
if (curr_rtl_loc == -1)
return;
-#ifdef USE_MAPPED_LOCATION
if (location == last_location)
return;
-#else
- if (location.file && last_location.file
- && !strcmp (location.file, last_location.file)
- && location.line == last_location.line)
- return;
-#endif
curr_location = location;
}
VEC_safe_push (tree, gc, block_locators_blocks, curr_block);
last_block = curr_block;
}
-#ifdef USE_MAPPED_LOCATION
if (last_location != curr_location)
-#else
- if (last_location.file != curr_location.file
- || last_location.line != curr_location.line)
-#endif
{
curr_rtl_loc++;
VEC_safe_push (int, heap, locations_locators_locs, curr_rtl_loc);
return 0;
}
-struct tree_opt_pass pass_into_cfg_layout_mode =
+struct rtl_opt_pass pass_into_cfg_layout_mode =
{
+ {
+ RTL_PASS,
"into_cfglayout", /* name */
NULL, /* gate */
into_cfg_layout_mode, /* execute */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_func, /* todo_flags_finish */
- 0 /* letter */
+ }
};
-struct tree_opt_pass pass_outof_cfg_layout_mode =
+struct rtl_opt_pass pass_outof_cfg_layout_mode =
{
+ {
+ RTL_PASS,
"outof_cfglayout", /* name */
NULL, /* gate */
outof_cfg_layout_mode, /* execute */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_func, /* todo_flags_finish */
- 0 /* letter */
+ }
};
\f
-/* Return sope resulting from combination of S1 and S2. */
+/* Return scope resulting from combination of S1 and S2. */
static tree
choose_inner_scope (tree s1, tree s2)
{
&& JUMP_P (BB_END (bb))
&& !any_condjump_p (BB_END (bb))
&& (EDGE_SUCC (bb, 0)->flags & EDGE_CROSSING))
- REG_NOTES (BB_END (bb)) = gen_rtx_EXPR_LIST
- (REG_CROSSING_JUMP, NULL_RTX, REG_NOTES (BB_END (bb)));
+ add_reg_note (BB_END (bb), REG_CROSSING_JUMP, NULL_RTX);
}
}