diff options
author | Jeffrey A Law <law@cygnus.com> | 2001-04-28 16:53:00 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2001-04-28 10:53:00 -0600 |
commit | 5bb86bf23de91f8495c4c9d578cf702a81624633 (patch) | |
tree | 875f2d598870b2626ddc81d482220efa9067a49c /gcc/varasm.c | |
parent | 3a432f1fae269a046bfb30062a61dea7258c6354 (diff) | |
download | gcc-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.c | 3 |
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)); |