OSDN Git Service

Do not emit USE on a LABEL_REF
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Mar 1997 22:28:22 +0000 (22:28 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Mar 1997 22:28:22 +0000 (22:28 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13695 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/rs6000/rs6000.md

index 3f932e6..61d16a1 100644 (file)
     {
       /* 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,