Commit 26bedff5 by Richard Biener Committed by Richard Biener

re PR tree-optimization/77697 (suspicious code in tree-ssa-forwprop.c)

2016-09-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77697
	* tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
	signal error if we have sth ternary or unhandled.

From-SVN: r240430
parent 643e0854
2016-09-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/77697
* tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
signal error if we have sth ternary or unhandled.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com> 2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm_neon.h (vabd_f16): New. * config/arm/arm_neon.h (vabd_f16): New.
......
...@@ -1458,6 +1458,7 @@ defcodefor_name (tree name, enum tree_code *code, tree *arg1, tree *arg2) ...@@ -1458,6 +1458,7 @@ defcodefor_name (tree name, enum tree_code *code, tree *arg1, tree *arg2)
code1 = TREE_CODE (name); code1 = TREE_CODE (name);
arg11 = name; arg11 = name;
arg21 = NULL_TREE; arg21 = NULL_TREE;
arg31 = NULL_TREE;
grhs_class = get_gimple_rhs_class (code1); grhs_class = get_gimple_rhs_class (code1);
if (code1 == SSA_NAME) if (code1 == SSA_NAME)
...@@ -1470,20 +1471,18 @@ defcodefor_name (tree name, enum tree_code *code, tree *arg1, tree *arg2) ...@@ -1470,20 +1471,18 @@ defcodefor_name (tree name, enum tree_code *code, tree *arg1, tree *arg2)
code1 = gimple_assign_rhs_code (def); code1 = gimple_assign_rhs_code (def);
arg11 = gimple_assign_rhs1 (def); arg11 = gimple_assign_rhs1 (def);
arg21 = gimple_assign_rhs2 (def); arg21 = gimple_assign_rhs2 (def);
arg31 = gimple_assign_rhs2 (def); arg31 = gimple_assign_rhs3 (def);
} }
} }
else if (grhs_class == GIMPLE_TERNARY_RHS else if (grhs_class != GIMPLE_SINGLE_RHS)
|| GIMPLE_BINARY_RHS code1 = ERROR_MARK;
|| GIMPLE_UNARY_RHS
|| GIMPLE_SINGLE_RHS)
extract_ops_from_tree (name, &code1, &arg11, &arg21, &arg31);
*code = code1; *code = code1;
*arg1 = arg11; *arg1 = arg11;
if (arg2) if (arg2)
*arg2 = arg21; *arg2 = arg21;
/* Ignore arg3 currently. */ if (arg31)
*code = ERROR_MARK;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment