]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: Handle print_operand_address for unexpected RTL (PR87598)
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Oct 2018 14:03:22 +0000 (14:03 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Oct 2018 14:03:22 +0000 (14:03 +0000)
As the PR shows, the user can force this to be called on at least some
RTL that is not a valid address.  Most targets treat this as if the
user knows best; let's do the same.

PR target/87598
* config/rs6000/rs6000.c (print_operand_address): For unexpected RTL
call output_addr_const and hope for the best.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@265392 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 96f187500df8dfd7cdfefcd38dd991f74706d486..d799af2aa2a632373d849a02369cbefc70cae3a2 100644 (file)
@@ -1,3 +1,9 @@
+2018-10-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/87598
+       * config/rs6000/rs6000.c (print_operand_address): For unexpected RTL
+       call output_addr_const and hope for the best.
+
 2018-10-22  Richard Biener  <rguenther@suse.de>
 
        * gimple-ssa-evrp-analyze.c
index 85b05f6618cef7278c35f3df089dd5dd6cd6e681..75e30ce978448e2f5339ffca78f47c2c860fee1c 100644 (file)
@@ -21273,7 +21273,7 @@ print_operand_address (FILE *file, rtx x)
        fprintf (file, "(%s)", reg_names[REGNO (XVECEXP (tocrel_base_oac, 0, 1))]);
     }
   else
-    gcc_unreachable ();
+    output_addr_const (file, x);
 }
 \f
 /* Implement TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA.  */