trans.c (gfc_allocate_array_with_status): Mark error path as unlikely.

2011-06-09  Richard Guenther  <rguenther@suse.de>

	* trans.c (gfc_allocate_array_with_status): Mark error path
	as unlikely.

From-SVN: r174842
This commit is contained in:
Richard Guenther 2011-06-09 12:17:17 +00:00 committed by Richard Biener
parent dd27d2fadd
commit 9ef0b98eb6
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2011-06-09 Richard Guenther <rguenther@suse.de>
* trans.c (gfc_allocate_array_with_status): Mark error path
as unlikely.
2011-06-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918

View File

@ -697,8 +697,9 @@ gfc_allocate_array_with_status (stmtblock_t * block, tree mem, tree size,
/* Create a variable to hold the result. */
res = gfc_create_var (type, NULL);
null_mem = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, mem,
build_int_cst (type, 0));
null_mem = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR,
boolean_type_node, mem,
build_int_cst (type, 0)));
/* If mem is NULL, we call gfc_allocate_with_status. */
gfc_start_block (&alloc_block);
@ -751,7 +752,7 @@ gfc_allocate_array_with_status (stmtblock_t * block, tree mem, tree size,
}
tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, null_mem,
alloc, error);
error, alloc);
gfc_add_expr_to_block (block, tmp);
return res;