From e035031935a5160976ef3cf0b626701df1c3fd23 Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Thu, 6 Mar 1997 22:28:22 +0000 Subject: [PATCH] Do not emit USE on a LABEL_REF From-SVN: r13695 --- gcc/config/rs6000/rs6000.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 3f932e68aa2..61d16a11d14 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -5164,8 +5164,12 @@ { /* Emit a USE operation so that the constant isn't deleted if expensive optimizations are turned on because nobody - references it */ - emit_insn (gen_rtx (USE, VOIDmode, operands[1])); + references it. This should only be done for operands that + contain SYMBOL_REFs with CONSTANT_POOL_ADDRESS_P set. + This should not be done for operands that contain LABEL_REFs. + For now, we just handle the obvious case. */ + if (GET_CODE (operands[1]) != LABEL_REF) + emit_insn (gen_rtx (USE, VOIDmode, operands[1])); /* If we are to limit the number of things we put in the TOC and this is a symbol plus a constant we can add in one insn, -- 2.30.2