Commit a8c3510c by Andrew Macleod

final.c (final): Initialize the table indicating which instructions belong in…

final.c (final): Initialize the table indicating which instructions belong in which exception region.

	* final.c (final): Initialize the table indicating which instructions
	belong in which exception region.

From-SVN: r18625
parent 77d33a84
...@@ -1857,6 +1857,7 @@ final (first, file, optimize, prescan) ...@@ -1857,6 +1857,7 @@ final (first, file, optimize, prescan)
{ {
register rtx insn; register rtx insn;
int max_line = 0; int max_line = 0;
int max_uid = 0;
last_ignored_compare = 0; last_ignored_compare = 0;
new_block = 1; new_block = 1;
...@@ -1901,8 +1902,16 @@ final (first, file, optimize, prescan) ...@@ -1901,8 +1902,16 @@ final (first, file, optimize, prescan)
bzero (line_note_exists, max_line + 1); bzero (line_note_exists, max_line + 1);
for (insn = first; insn; insn = NEXT_INSN (insn)) for (insn = first; insn; insn = NEXT_INSN (insn))
if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0) {
line_note_exists[NOTE_LINE_NUMBER (insn)] = 1; if (INSN_UID (insn) > max_uid) /* find largest UID */
max_uid = INSN_UID (insn);
if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
line_note_exists[NOTE_LINE_NUMBER (insn)] = 1;
}
/* Initialize insn_eh_region table if eh is being used. */
init_insn_eh_region (first, max_uid);
init_recog (); init_recog ();
...@@ -1921,6 +1930,8 @@ final (first, file, optimize, prescan) ...@@ -1921,6 +1930,8 @@ final (first, file, optimize, prescan)
if the last insn was a conditional branch. */ if the last insn was a conditional branch. */
if (profile_block_flag && new_block) if (profile_block_flag && new_block)
add_bb (file); add_bb (file);
free_insn_eh_region ();
} }
/* The final scan for one insn, INSN. /* The final scan for one insn, INSN.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment