i386.md (call_pop, [...]): Do not set current_function_uses_pic_offset_table for calls to static functions...
* i386.md (call_pop, call, call_value_pop): Do not set current_function_uses_pic_offset_table for calls to static functions or indirect calls. From-SVN: r34916
This commit is contained in:
parent
12c2c7aa82
commit
b848ded1da
2 changed files with 26 additions and 14 deletions
|
@ -1,3 +1,9 @@
|
|||
Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (call_pop, call, call_value_pop): Do not set
|
||||
current_function_uses_pic_offset_table for calls to static
|
||||
functions or indirect calls.
|
||||
|
||||
2000-07-07 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* config/ia64/ia64.c (rws_access_reg): New local write_count. If
|
||||
|
|
|
@ -8200,11 +8200,12 @@
|
|||
emit_insn (gen_call (operands[0], operands[1]));
|
||||
DONE;
|
||||
}
|
||||
|
||||
/* ??? Not true for calls to static functions. */
|
||||
if (flag_pic)
|
||||
/* Static functions and indirect calls don't need
|
||||
current_function_uses_pic_offset_table. */
|
||||
if (flag_pic
|
||||
&& constant_call_address_operand (operands[1], SImode)
|
||||
&& !SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
|
||||
if (! call_insn_operand (operands[0], QImode))
|
||||
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
|
||||
}")
|
||||
|
@ -8254,10 +8255,12 @@
|
|||
""
|
||||
"
|
||||
{
|
||||
/* ??? Not true for calls to static functions. */
|
||||
if (flag_pic)
|
||||
/* Static functions and indirect calls don't need
|
||||
current_function_uses_pic_offset_table. */
|
||||
if (flag_pic
|
||||
&& constant_call_address_operand (operands[1], SImode)
|
||||
&& !SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
|
||||
if (! call_insn_operand (operands[0], QImode))
|
||||
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
|
||||
}")
|
||||
|
@ -8314,11 +8317,12 @@
|
|||
emit_insn (gen_call_value (operands[0], operands[1], operands[2]));
|
||||
DONE;
|
||||
}
|
||||
|
||||
/* ??? Not true for calls to static functions. */
|
||||
if (flag_pic)
|
||||
/* Static functions and indirect calls don't need
|
||||
current_function_uses_pic_offset_table. */
|
||||
if (flag_pic
|
||||
&& constant_call_address_operand (operands[1], SImode)
|
||||
&& !SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
|
||||
if (! call_insn_operand (operands[1], QImode))
|
||||
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
|
||||
}")
|
||||
|
@ -8331,10 +8335,12 @@
|
|||
""
|
||||
"
|
||||
{
|
||||
/* ??? Not true for calls to static functions. */
|
||||
if (flag_pic)
|
||||
/* Static functions and indirect calls don't need
|
||||
current_function_uses_pic_offset_table. */
|
||||
if (flag_pic
|
||||
&& constant_call_address_operand (operands[1], SImode)
|
||||
&& !SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
|
||||
if (! call_insn_operand (operands[1], QImode))
|
||||
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
|
||||
}")
|
||||
|
|
Loading…
Add table
Reference in a new issue