re PR target/18447 (Variable with the initial-exec tls-model attribute causes spill failure)
PR target/18447 * config/sh/sh.c (prepare_move_operands): Emit blockage insns before and after the insns for getting GOT address in non-PIC TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling is enabled. From-SVN: r90732
This commit is contained in:
parent
db566c7e81
commit
b92c32643d
|
@ -1,3 +1,11 @@
|
|||
2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
PR target/18447
|
||||
* config/sh/sh.c (prepare_move_operands): Emit blockage insns
|
||||
before and after the insns for getting GOT address in non-PIC
|
||||
TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
|
||||
is enabled.
|
||||
|
||||
2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* gcc/cse.c (struct change_cc_mode_args): New structure.
|
||||
|
|
|
@ -1042,9 +1042,16 @@ prepare_move_operands (rtx operands[], enum machine_mode mode)
|
|||
case TLS_MODEL_INITIAL_EXEC:
|
||||
if (! flag_pic)
|
||||
{
|
||||
/* Don't schedule insns for getting GOT address when
|
||||
the first scheduling is enabled, to avoid spill
|
||||
failures for R0. */
|
||||
if (flag_schedule_insns)
|
||||
emit_insn (gen_blockage ());
|
||||
emit_insn (gen_GOTaddr2picreg ());
|
||||
emit_insn (gen_rtx_USE (VOIDmode, gen_rtx_REG (SImode,
|
||||
PIC_REG)));
|
||||
if (flag_schedule_insns)
|
||||
emit_insn (gen_blockage ());
|
||||
}
|
||||
tga_op1 = no_new_pseudos ? op0 : gen_reg_rtx (Pmode);
|
||||
tmp = gen_sym2GOTTPOFF (op1);
|
||||
|
|
Loading…
Reference in New Issue