(rare_destination): Ensure we always correctly handle a null
JUMP_LABEL. From-SVN: r6150
This commit is contained in:
parent
647902e0ab
commit
65753f5598
@ -1239,7 +1239,7 @@ get_jump_flags (insn, label)
|
||||
return flags;
|
||||
}
|
||||
|
||||
/* Return 1 if DEST is a destination that will be branched to rarely (the
|
||||
/* Return 1 if INSN is a destination that will be branched to rarely (the
|
||||
return point of a function); return 2 if DEST will be branched to very
|
||||
rarely (a call to a function that doesn't return). Otherwise,
|
||||
return 0. */
|
||||
@ -1249,12 +1249,15 @@ rare_destination (insn)
|
||||
rtx insn;
|
||||
{
|
||||
int jump_count = 0;
|
||||
rtx next;
|
||||
|
||||
for (; insn; insn = NEXT_INSN (insn))
|
||||
for (; insn; insn = next)
|
||||
{
|
||||
if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == SEQUENCE)
|
||||
insn = XVECEXP (PATTERN (insn), 0, 0);
|
||||
|
||||
next = NEXT_INSN (insn);
|
||||
|
||||
switch (GET_CODE (insn))
|
||||
{
|
||||
case CODE_LABEL:
|
||||
@ -1270,7 +1273,7 @@ rare_destination (insn)
|
||||
return 1;
|
||||
else if (simplejump_p (insn)
|
||||
&& jump_count++ < 10)
|
||||
insn = JUMP_LABEL (insn);
|
||||
next = JUMP_LABEL (insn);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user