aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2001-04-28 16:53:00 +0000
committerJeff Law <law@gcc.gnu.org>2001-04-28 10:53:00 -0600
commit5bb86bf23de91f8495c4c9d578cf702a81624633 (patch)
tree875f2d598870b2626ddc81d482220efa9067a49c /gcc/varasm.c
parent3a432f1fae269a046bfb30062a61dea7258c6354 (diff)
downloadgcc-5bb86bf23de91f8495c4c9d578cf702a81624633.zip
gcc-5bb86bf23de91f8495c4c9d578cf702a81624633.tar.gz
gcc-5bb86bf23de91f8495c4c9d578cf702a81624633.tar.bz2
flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC and ADDR_DIFF_VEC insns when...
* flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put into the constant pool. * jump.c (jump_optimize_1): Remove barrier successors after all the LABEL_NUSES counds have been computed. (delete_barrier_successors): When deleting a tablejump insn, also delete the jump table it uses. * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a label into memory. From-SVN: r41662
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index a803fe1..86f2e4f 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3589,6 +3589,9 @@ force_const_mem (mode, x)
pool_offset += align - 1;
pool_offset &= ~ (align - 1);
+ if (GET_CODE (x) == LABEL_REF)
+ LABEL_PRESERVE_P (XEXP (x, 0)) = 1;
+
/* Allocate a pool constant descriptor, fill it in, and chain it in. */
pool = (struct pool_constant *) ggc_alloc (sizeof (struct pool_constant));