Backport:
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. From-SVN: r157780
This commit is contained in:
parent
b732aef992
commit
0523c835ba
|
@ -1,3 +1,14 @@
|
|||
2010-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
Backport:
|
||||
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.
|
||||
|
||||
2010-03-27 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/42113
|
||||
|
|
|
@ -5232,14 +5232,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. */
|
||||
|
|
Loading…
Reference in New Issue