From e2fc3b4f329d0e214b18d6f4a8ffa705da6c695f Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Mon, 10 Feb 2014 18:19:01 +0000 Subject: [PATCH] re PR middle-end/60080 (gcc.dg/vect/vect-nop-move.c FAILs) 2014-02-10 Bernd Edlinger PR middle-end/60080 * cfgexpand.c (expand_asm_operands): Attach source location to ASM_INPUT rtx objects. * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION. From-SVN: r207668 --- gcc/ChangeLog | 9 ++++++++- gcc/cfgexpand.c | 7 ++++--- gcc/print-rtl.c | 14 ++++++++------ 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40af8d49a27..a5ad4facea7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-02-10 Bernd Edlinger + + PR middle-end/60080 + * cfgexpand.c (expand_asm_operands): Attach source location to + ASM_INPUT rtx objects. + * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION. + 2014-02-10 Nick Clifton * config/mn10300/mn10300.c (popcount): New function. @@ -489,7 +496,7 @@ 2014-02-04 Bernd Edlinger - * gcc/config/host-linux.c (linux_gt_pch_use_address): Don't + * config/host-linux.c (linux_gt_pch_use_address): Don't use SSIZE_MAX because it is not always defined. 2014-02-04 Vladimir Makarov diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index c0cbeb3c022..06d494c3d92 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -2678,8 +2678,9 @@ expand_asm_operands (tree string, tree outputs, tree inputs, ASM_OPERANDS_INPUT (body, i) = op; ASM_OPERANDS_INPUT_CONSTRAINT_EXP (body, i) - = gen_rtx_ASM_INPUT (TYPE_MODE (type), - ggc_strdup (constraints[i + noutputs])); + = gen_rtx_ASM_INPUT_loc (TYPE_MODE (type), + ggc_strdup (constraints[i + noutputs]), + locus); if (tree_conflicts_with_clobbers_p (val, &clobbered_regs)) clobber_conflict_found = 1; @@ -2701,7 +2702,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs, sprintf (buffer, "%d", j); ASM_OPERANDS_INPUT_CONSTRAINT_EXP (body, ninputs - ninout + i) - = gen_rtx_ASM_INPUT (inout_mode[i], ggc_strdup (buffer)); + = gen_rtx_ASM_INPUT_loc (inout_mode[i], ggc_strdup (buffer), locus); } /* Copy labels to the vector. */ diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 5f2a4454a0f..09ac387d18b 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -417,17 +417,19 @@ print_rtx (const_rtx in_rtx) else if (i == 6 && GET_CODE (in_rtx) == ASM_OPERANDS) { #ifndef GENERATOR_FILE - fprintf (outfile, " %s:%i", - LOCATION_FILE (ASM_OPERANDS_SOURCE_LOCATION (in_rtx)), - LOCATION_LINE (ASM_OPERANDS_SOURCE_LOCATION (in_rtx))); + if (ASM_OPERANDS_SOURCE_LOCATION (in_rtx) != UNKNOWN_LOCATION) + fprintf (outfile, " %s:%i", + LOCATION_FILE (ASM_OPERANDS_SOURCE_LOCATION (in_rtx)), + LOCATION_LINE (ASM_OPERANDS_SOURCE_LOCATION (in_rtx))); #endif } else if (i == 1 && GET_CODE (in_rtx) == ASM_INPUT) { #ifndef GENERATOR_FILE - fprintf (outfile, " %s:%i", - LOCATION_FILE (ASM_INPUT_SOURCE_LOCATION (in_rtx)), - LOCATION_LINE (ASM_INPUT_SOURCE_LOCATION (in_rtx))); + if (ASM_INPUT_SOURCE_LOCATION (in_rtx) != UNKNOWN_LOCATION) + fprintf (outfile, " %s:%i", + LOCATION_FILE (ASM_INPUT_SOURCE_LOCATION (in_rtx)), + LOCATION_LINE (ASM_INPUT_SOURCE_LOCATION (in_rtx))); #endif } else if (i == 6 && NOTE_P (in_rtx)) -- 2.30.2