summaryrefslogtreecommitdiff
path: root/gcc/predict.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 10:17:43 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 10:17:43 +0000
commit6313ae8b68b04d6bbd75335ad6c2dc7be251bf60 (patch)
treeaf410434537ec713cf3e23d857c1ce808af279bf /gcc/predict.c
parentfbcece5e7df36c19d0712bd881f74d637c43b0cd (diff)
downloadgcc-6313ae8b68b04d6bbd75335ad6c2dc7be251bf60.tar.gz
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use
bsi_after_labels. Always insert statements before bsi. * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto. * predict.c (apply_return_prediction): Check for empty blocks. * cfgexpand.c (lab_rtx_for_bb): New variable. (label_rtx_for_bb): Do not create new tree labels. (expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb. (tree_expand_cfg): Initialize lab_rtx_for_bb. * tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after creating edges. (label_for_bb): Add field used. (update_eh_label, main_block_label): Mark the label used. (cleanup_dead_labels): Remove unused labels. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124322 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/predict.c')
-rw-r--r--gcc/predict.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/predict.c b/gcc/predict.c
index c51c80809c8..f4ecb6fd415 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1240,7 +1240,8 @@ apply_return_prediction (int *heads)
FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR->preds)
{
return_stmt = last_stmt (e->src);
- if (TREE_CODE (return_stmt) == RETURN_EXPR)
+ if (return_stmt
+ && TREE_CODE (return_stmt) == RETURN_EXPR)
break;
}
if (!e)