predicates.md (const_call_insn_operand): Allow direct calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. * config/mips/predicates.md (const_call_insn_operand): Allow direct calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. Use TARGET_OLDABI instead of !TARGET_NEWABI. (loadgp): Use mips_current_loadgp_style. (loadgp_noshared): New pattern. (sibcall_internal): Use MIPS_CALL. (sibcall_value_internal): Likewise. (sibcall_value_multiple_internal): Likewise. (call_internal): Likewise. (call_value_internal): Likewise. (call_value_multiple_internal): Likewise. (call_split): Use MIPS_CALL and add an 'S' constraint. (call_value_split): Likewise. (call_value_multiple_split): Likewise. * config/mips/mips.opt (-mabicalls): Tweak docstring. (-mshared): New option. * config/mips/mips-protos.h (mips_loadgp_style): New enum. (mips_current_loadgp_style): Declare. * config/mips/mips.c (mips_classify_symbol): Avoid using SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS. (override_options): Adjust comments. Improve the warning that is issued when -mabicalls and -G are used together. (mips_file_start): Remove comment. (mips_current_loadgp_style): New function. (mips_gnu_local_gp): New variable. (mips_emit_loadgp): Use mips_current_loadgp_style. Handle LOADGP_ABSOLUTE. (mips_output_function_prologue): Use mips_current_laodgp_style. (mips_expand_prologue): Call mips_emit_loadgp before emitting the cprestore instruction. (mips_extra_live_on_entry): Fix reversed test. Don't make $25 live for TARGET_ABSOLUTE_ABICALLS. * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. (ASM_SPEC): Pass down -mshared and -mno-shared. (MIPS_CALL): New macro. * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ definition. * doc/invoke.texi (-mabicalls): Update documentation. (-mshared): Document. From-SVN: r112261
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
24k.md | Loading commit data... | |
3000.md | Loading commit data... | |
4000.md | Loading commit data... | |
4100.md | Loading commit data... | |
4130.md | Loading commit data... | |
4300.md | Loading commit data... | |
4600.md | Loading commit data... | |
4k.md | Loading commit data... | |
5000.md | Loading commit data... | |
5400.md | Loading commit data... | |
5500.md | Loading commit data... | |
5k.md | Loading commit data... | |
6000.md | Loading commit data... | |
7000.md | Loading commit data... | |
9000.md | Loading commit data... | |
constraints.md | Loading commit data... | |
crti.asm | Loading commit data... | |
crtn.asm | Loading commit data... | |
dbxmdebug.h | Loading commit data... | |
elf.h | Loading commit data... | |
elforion.h | Loading commit data... | |
generic.md | Loading commit data... | |
iris.h | Loading commit data... | |
iris5.h | Loading commit data... | |
iris6.h | Loading commit data... | |
irix-crti.asm | Loading commit data... | |
irix-crtn.asm | Loading commit data... | |
linux-unwind.h | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
mips-dsp.md | Loading commit data... | |
mips-modes.def | Loading commit data... | |
mips-protos.h | Loading commit data... | |
mips-ps-3d.md | Loading commit data... | |
mips.c | Loading commit data... | |
mips.h | Loading commit data... | |
mips.md | Loading commit data... | |
mips.opt | Loading commit data... | |
mips16.S | Loading commit data... | |
netbsd.h | Loading commit data... | |
openbsd.h | Loading commit data... | |
predicates.md | Loading commit data... | |
r3900.h | Loading commit data... | |
rtems.h | Loading commit data... | |
sb1.md | Loading commit data... | |
sdb.h | Loading commit data... | |
sr71k.md | Loading commit data... | |
t-elf | Loading commit data... | |
t-gofast | Loading commit data... | |
t-iris | Loading commit data... | |
t-iris6 | Loading commit data... | |
t-isa3264 | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-mips | Loading commit data... | |
t-r3900 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-slibgcc-irix | Loading commit data... | |
t-sr71k | Loading commit data... | |
t-vr | Loading commit data... | |
t-vxworks | Loading commit data... | |
vr.h | Loading commit data... | |
vr4120-div.S | Loading commit data... | |
vxworks.h | Loading commit data... | |
windiss.h | Loading commit data... |