diff options
author | J"orn Rennecke <joern.rennecke@arc.com> | 2009-06-17 04:27:29 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2009-06-17 05:27:29 +0100 |
commit | a4d99c865e40ce9ff43b6463324c00c31c6ea66e (patch) | |
tree | 75055c8521e11ff9148fa449d096fd1679fe7b12 /gcc | |
parent | 8dd1bca076bba00642c88d60d24f63e604f49e23 (diff) | |
download | gcc-a4d99c865e40ce9ff43b6463324c00c31c6ea66e.zip gcc-a4d99c865e40ce9ff43b6463324c00c31c6ea66e.tar.gz gcc-a4d99c865e40ce9ff43b6463324c00c31c6ea66e.tar.bz2 |
re PR target/39254 (gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9)
PR target/39254
* config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
for the symbol ref of a constant that is the source of a move
- nor for any other not-obvious-label-ref constants.
Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
From-SVN: r148568
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fff4dd1..0b736d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2009-06-16 J"orn Rennecke <joern.rennecke@arc.com> + Janis Johnson <janis187@us.ibm.com> + + PR target/39254 + * config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE + for the symbol ref of a constant that is the source of a move + - nor for any other not-obvious-label-ref constants. + 2009-06-16 Olatunji Ruwase <tjruwase@google.com> * plugin.c(position_pass): Skip newly inserted pass during list diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7e923fb..592d8dd 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -5204,14 +5204,6 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode) && ! legitimate_constant_pool_address_p (operands[1]) && ! toc_relative_expr_p (operands[1])) { - /* Emit a USE operation so that the constant isn't deleted if - expensive optimizations are turned on because nobody - 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_use (operands[1]); #if TARGET_MACHO /* Darwin uses a special PIC legitimizer. */ |