re PR middle-end/38641 (VEC_EXTRACT_EVEN_EXPR/VEC_EXTRACT_ODD_EXPR no longer print out correctly in the tree dumps)

PR middle-end/38641
	* gimple-pretty-print.c (dump_binary_rhs): Print
	VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR,
	VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
	VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR
	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR similarly
	to COMPLEX_EXPR, MIN_EXPR and MAX_EXPR.

From-SVN: r142935
This commit is contained in:
Jakub Jelinek 2008-12-27 20:38:20 +01:00 committed by Jakub Jelinek
parent e1e2bac4bd
commit 2603276ee3
2 changed files with 24 additions and 17 deletions

View File

@ -1,5 +1,13 @@
2008-12-27 Jakub Jelinek <jakub@redhat.com>
PR middle-end/38641
* gimple-pretty-print.c (dump_binary_rhs): Print
VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR,
VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR similarly
to COMPLEX_EXPR, MIN_EXPR and MAX_EXPR.
PR middle-end/38633
* tree-cfg.c (replace_block_vars_by_duplicates): Only call
replace_by_duplicate_decl for VAR_DECLs or CONST_DECLs.

View File

@ -308,30 +308,29 @@ dump_unary_rhs (pretty_printer *buffer, gimple gs, int spc, int flags)
static void
dump_binary_rhs (pretty_printer *buffer, gimple gs, int spc, int flags)
{
switch (gimple_assign_rhs_code (gs))
const char *p;
enum tree_code code = gimple_assign_rhs_code (gs);
switch (code)
{
case COMPLEX_EXPR:
pp_string (buffer, "COMPLEX_EXPR <");
dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false);
pp_string (buffer, ", ");
dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false);
pp_string (buffer, ">");
break;
case MIN_EXPR:
pp_string (buffer, "MIN_EXPR <");
dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false);
pp_string (buffer, ", ");
dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false);
pp_string (buffer, ">");
break;
case MAX_EXPR:
pp_string (buffer, "MAX_EXPR <");
case VEC_WIDEN_MULT_HI_EXPR:
case VEC_WIDEN_MULT_LO_EXPR:
case VEC_PACK_TRUNC_EXPR:
case VEC_PACK_SAT_EXPR:
case VEC_PACK_FIX_TRUNC_EXPR:
case VEC_EXTRACT_EVEN_EXPR:
case VEC_EXTRACT_ODD_EXPR:
case VEC_INTERLEAVE_HIGH_EXPR:
case VEC_INTERLEAVE_LOW_EXPR:
for (p = tree_code_name [(int) code]; *p; p++)
pp_character (buffer, TOUPPER (*p));
pp_string (buffer, " <");
dump_generic_node (buffer, gimple_assign_rhs1 (gs), spc, flags, false);
pp_string (buffer, ", ");
dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false);
pp_string (buffer, ">");
pp_character (buffer, '>');
break;
default: