From 8414b15059cf897c57b8954e571e6cf0f58775d4 Mon Sep 17 00:00:00 2001 From: matz Date: Sun, 13 Dec 2009 21:51:34 +0000 Subject: PR tree-optimization/42027 * dojump.c (do_jump ): Go to TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of falling through. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155196 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/dojump.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/dojump.c') diff --git a/gcc/dojump.c b/gcc/dojump.c index de7a3ec8c77..20d52ea5a28 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -458,6 +458,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) case LTGT_EXPR: case TRUTH_ANDIF_EXPR: case TRUTH_ORIF_EXPR: + other_code: do_jump_1 (code, TREE_OPERAND (exp, 0), TREE_OPERAND (exp, 1), if_false_label, if_true_label); break; @@ -547,6 +548,8 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) false) >= 4 || TREE_SIDE_EFFECTS (TREE_OPERAND (exp, 1))) goto normal; + code = TRUTH_ANDIF_EXPR; + goto other_code; case BIT_IOR_EXPR: case TRUTH_OR_EXPR: @@ -556,6 +559,8 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) if (BRANCH_COST (optimize_insn_for_speed_p (), false)>= 4 || TREE_SIDE_EFFECTS (TREE_OPERAND (exp, 1))) goto normal; + code = TRUTH_ORIF_EXPR; + goto other_code; /* Fall through and generate the normal code. */ default: -- cgit v1.2.1