Fix HPPA -fprofile-arcs abort on switch statements.

* profile.c (branch_prob): Add code to recognize HPPA tablejump entry
	branch.

From-SVN: r18919
This commit is contained in:
Jim Wilson 1998-03-31 18:56:59 +00:00 committed by Jim Wilson
parent c8d86b9a3c
commit a7ebd547fb
2 changed files with 13 additions and 0 deletions

View File

@ -1,5 +1,8 @@
Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
* profile.c (branch_prob): Add code to recognize HPPA tablejump entry
branch.
* toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>

View File

@ -744,9 +744,19 @@ branch_prob (f, dump_file)
tablejump = pattern;
else if (GET_CODE (pattern) == RETURN)
dest = num_blocks - 1;
else if (GET_CODE (pattern) != SET)
abort ();
else if ((tem = SET_SRC (pattern))
&& GET_CODE (tem) == LABEL_REF)
dest = label_to_bb[CODE_LABEL_NUMBER (XEXP (tem, 0))];
/* Recognize HPPA table jump entry. This code is similar to
the code above in the PARALLEL case. */
else if (GET_CODE (tem) == PLUS
&& GET_CODE (XEXP (tem, 0)) == MEM
&& GET_CODE (XEXP (XEXP (tem, 0), 0)) == PLUS
&& GET_CODE (XEXP (XEXP (XEXP (tem, 0), 0), 0)) == PC
&& GET_CODE (XEXP (tem, 1)) == LABEL_REF)
dest = label_to_bb[CODE_LABEL_NUMBER (XEXP (XEXP (tem, 1), 0))];
else
{
rtx label_ref;