X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=gcc%2Ftree-ssa-reassoc.c;h=f2264b603c4f21288800f06ba7ce268970bdb210;hb=757fb7abad2d7d7a512cae4e1d8e836402f826f1;hp=fd0a6d803d5c7a8eaa09adc125e0580ffb27292d;hpb=48148244971e4e4bcc2fb879e007afb23db72052;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index fd0a6d803d5..f2264b603c4 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -1314,9 +1314,14 @@ eliminate_redundant_comparison (enum tree_code opcode, enum tree_code subcode; tree newop1; tree newop2; + gcc_assert (COMPARISON_CLASS_P (t)); tmpvar = create_tmp_var (TREE_TYPE (t), NULL); add_referenced_var (tmpvar); extract_ops_from_tree (t, &subcode, &newop1, &newop2); + STRIP_USELESS_TYPE_CONVERSION (newop1); + STRIP_USELESS_TYPE_CONVERSION (newop2); + gcc_checking_assert (is_gimple_val (newop1) + && is_gimple_val (newop2)); sum = build_and_add_sum (tmpvar, newop1, newop2, subcode); curr->op = gimple_get_lhs (sum); }