From 7c3f3cf3fd9cd7b730bb9ba088a2822af8d0cc2b Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 24 Jan 2014 23:18:26 +0000 Subject: [PATCH] * print-rtl.c (in_call_function_usage): New var. (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print EXPR_LIST mode as mode and not as reg note name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207066 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/print-rtl.c | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a50893c..ea51b3e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-01-25 Jakub Jelinek + * print-rtl.c (in_call_function_usage): New var. + (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print + EXPR_LIST mode as mode and not as reg note name. + PR middle-end/59561 * cfgloopmanip.c (copy_loop_info): If loop->warned_aggressive_loop_optimizations, make sure diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 6cf339f..5f2a4454 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -51,6 +51,8 @@ static int sawclose = 0; static int indent; +static bool in_call_function_usage; + static void print_rtx (const_rtx); /* String printed at beginning of each RTL when it is dumped. @@ -153,7 +155,8 @@ print_rtx (const_rtx in_rtx) if ((GET_CODE (in_rtx) == EXPR_LIST || GET_CODE (in_rtx) == INSN_LIST || GET_CODE (in_rtx) == INT_LIST) - && (int)GET_MODE (in_rtx) < REG_NOTE_MAX) + && (int)GET_MODE (in_rtx) < REG_NOTE_MAX + && !in_call_function_usage) fprintf (outfile, ":%s", GET_REG_NOTE_NAME (GET_MODE (in_rtx))); @@ -350,7 +353,14 @@ print_rtx (const_rtx in_rtx) print_rtx_head, indent * 2, ""); if (!sawclose) fprintf (outfile, " "); - print_rtx (XEXP (in_rtx, i)); + if (i == 8 && CALL_P (in_rtx)) + { + in_call_function_usage = true; + print_rtx (XEXP (in_rtx, i)); + in_call_function_usage = false; + } + else + print_rtx (XEXP (in_rtx, i)); indent -= 2; break; -- 2.7.4