Andreas Tobler <a.tobler@schweiz.org>
* config/darwin.c (machopic_indirect_data_reference): Avoid invalid
sharing.
(machopic_legitimize_pic_address): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128207
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-09-06 Jan Hubicka <jh@suse.cz>
+ Andreas Tobler <a.tobler@schweiz.org>
+
+ * config/darwin.c (machopic_indirect_data_reference): Avoid invalid
+ sharing.
+ (machopic_legitimize_pic_address): Likewise.
+
2007-09-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
Jan Hubicka <jh@suse.cz>
2007-09-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
Jan Hubicka <jh@suse.cz>
gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
gen_rtx_HIGH (Pmode, offset))));
emit_insn (gen_rtx_SET (Pmode, reg,
gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
gen_rtx_HIGH (Pmode, offset))));
emit_insn (gen_rtx_SET (Pmode, reg,
- gen_rtx_LO_SUM (Pmode, hi_sum_reg, offset)));
+ gen_rtx_LO_SUM (Pmode, hi_sum_reg,
+ copy_rtx (offset))));
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_HIGH (Pmode, offset)));
emit_insn (gen_rtx_SET (VOIDmode, reg,
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_HIGH (Pmode, offset)));
emit_insn (gen_rtx_SET (VOIDmode, reg,
- gen_rtx_LO_SUM (Pmode, reg, offset)));
+ gen_rtx_LO_SUM (Pmode, reg,
+ copy_rtx (offset))));
emit_insn (gen_rtx_USE (VOIDmode, pic_offset_table_rtx));
orig = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, reg);
emit_insn (gen_rtx_USE (VOIDmode, pic_offset_table_rtx));
orig = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, reg);
emit_insn (gen_macho_high (temp_reg, asym));
mem = gen_const_mem (GET_MODE (orig),
emit_insn (gen_macho_high (temp_reg, asym));
mem = gen_const_mem (GET_MODE (orig),
- gen_rtx_LO_SUM (Pmode, temp_reg, asym));
+ gen_rtx_LO_SUM (Pmode, temp_reg,
+ copy_rtx (asym)));
emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
#else
/* Some other CPU -- WriteMe! but right now there are no other
emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
#else
/* Some other CPU -- WriteMe! but right now there are no other
mem = gen_const_mem (GET_MODE (orig),
gen_rtx_LO_SUM (Pmode,
mem = gen_const_mem (GET_MODE (orig),
gen_rtx_LO_SUM (Pmode,
+ hi_sum_reg,
+ copy_rtx (offset)));
insn = emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
set_unique_reg_note (insn, REG_EQUAL, pic_ref);
insn = emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
set_unique_reg_note (insn, REG_EQUAL, pic_ref);
offset))));
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_LO_SUM (Pmode, reg,
offset))));
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_LO_SUM (Pmode, reg,
- gen_rtx_CONST (Pmode, offset))));
+ gen_rtx_CONST (Pmode,
+ copy_rtx (offset)))));
pic_ref = gen_rtx_PLUS (Pmode,
pic_offset_table_rtx, reg);
#endif
pic_ref = gen_rtx_PLUS (Pmode,
pic_offset_table_rtx, reg);
#endif
offset))));
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_LO_SUM (Pmode,
offset))));
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_LO_SUM (Pmode,
+ hi_sum_reg,
+ copy_rtx (offset))));
pic_ref = reg;
#else
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_HIGH (Pmode, offset)));
emit_insn (gen_rtx_SET (VOIDmode, reg,
pic_ref = reg;
#else
emit_insn (gen_rtx_SET (VOIDmode, reg,
gen_rtx_HIGH (Pmode, offset)));
emit_insn (gen_rtx_SET (VOIDmode, reg,
- gen_rtx_LO_SUM (Pmode, reg, offset)));
+ gen_rtx_LO_SUM (Pmode, reg,
+ copy_rtx (offset))));
pic_ref = gen_rtx_PLUS (Pmode,
pic_offset_table_rtx, reg);
#endif
pic_ref = gen_rtx_PLUS (Pmode,
pic_offset_table_rtx, reg);
#endif