aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-01-25 00:18:26 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-01-25 00:18:26 +0100
commit4def6060f5da7678599d370dc6f4c90d250a9296 (patch)
tree5f9d30b980eb62e8a08caeca545083c6a0d6d9a1 /gcc
parent2105be5a857e9008fc5db6e07966d90348b38e6f (diff)
downloadgcc-4def6060f5da7678599d370dc6f4c90d250a9296.zip
gcc-4def6060f5da7678599d370dc6f4c90d250a9296.tar.gz
gcc-4def6060f5da7678599d370dc6f4c90d250a9296.tar.bz2
print-rtl.c (in_call_function_usage): New var.
* 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. From-SVN: r207066
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/print-rtl.c14
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 <jakub@redhat.com>
+ * 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;