From b851ea098ed463f18e1534b8295ef666f6c7916d Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sun, 27 Dec 1992 06:52:59 -0500 Subject: [PATCH] (copy_rtx_if_shared): A CONST can be shared if it contains a SYBOL_REF. From-SVN: r2923 --- gcc/emit-rtl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 1335308ce87..8291da1b6e4 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1267,6 +1267,15 @@ copy_rtx_if_shared (orig) /* SCRATCH must be shared because they represent distinct values. */ return x; + case CONST: + /* CONST can be shared if it contains a SYMBOL_REF. If it contains + a LABEL_REF, it isn't sharable. */ + if (GET_CODE (XEXP (x, 0)) == PLUS + && GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF + && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT) + return x; + break; + case INSN: case JUMP_INSN: case CALL_INSN: -- 2.30.2