summaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-26 07:31:30 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-26 07:31:30 +0000
commit4a121d41abbdaf9d355756f3c335f3a52f7e8809 (patch)
tree87d9a8578bc5a8967ed24c9ba921f21c3bccb117 /gcc/cfgexpand.c
parent8a757045f2e490cf696f48074e0d15966e45cc0f (diff)
downloadgcc-4a121d41abbdaf9d355756f3c335f3a52f7e8809.tar.gz
PR middle-end/28683
* cfgexpand.c (add_reg_br_prob_note): Check if last has exactly 3 following insns. * gcc.c-torture/compile/20060823-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116467 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 630a82a28a5..9839d098375 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -58,7 +58,9 @@ add_reg_br_prob_note (rtx last, int probability)
if (!any_condjump_p (last)
|| !JUMP_P (NEXT_INSN (last))
|| !simplejump_p (NEXT_INSN (last))
+ || !NEXT_INSN (NEXT_INSN (last))
|| !BARRIER_P (NEXT_INSN (NEXT_INSN (last)))
+ || !NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))
|| !LABEL_P (NEXT_INSN (NEXT_INSN (NEXT_INSN (last))))
|| NEXT_INSN (NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))))
goto failed;