profile.c (compute_branch_probabilities): Prevent crash with EH in RTL-based profiling.

2004-11-15  Dale Johannesen  <dalej@apple.com>

        * profile.c (compute_branch_probabilities):  Prevent
        crash with EH in RTL-based profiling.

From-SVN: r90711
This commit is contained in:
Dale Johannesen 2004-11-16 01:26:00 +00:00 committed by Dale Johannesen
parent 32f84e48f3
commit b00843d285
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-11-15 Dale Johannesen <dalej@apple.com>
* profile.c (compute_branch_probabilities): Prevent
crash with EH in RTL-based profiling.
2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (verify_expr): Replace TREE_OPERAND with

View File

@ -569,10 +569,13 @@ compute_branch_probabilities (void)
}
}
/* Otherwise try to preserve the existing REG_BR_PROB probabilities
tree based profile guessing put into code. */
tree based profile guessing put into code. BB can be the
ENTRY_BLOCK, and it can have multiple (fake) successors in
EH cases, but it still has no code; don't crash in this case. */
else if (profile_status == PROFILE_ABSENT
&& !ir_type ()
&& EDGE_COUNT (bb->succs) > 1
&& BB_END (bb)
&& (note = find_reg_note (BB_END (bb), REG_BR_PROB, 0)))
{
int prob = INTVAL (XEXP (note, 0));