* pa-protos.h (attr_length_millicode_call): Remove second argument. (attr_length_indirect_call, attr_length_indirect_call, attr_length_save_restore_dltp): New prototypes. * pa.c (attr_length_millicode_call): Remove second argument. Check INSN_ADDRESSES_SET_P in distance calculation. (output_millicode_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES. (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation. (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES. Call attr_length_call directly. (attr_length_indirect_call, output_indirect_call, attr_length_save_restore_dltp): New functions. * pa.md (attr_length_millicode_call): Drop second argument from all patterns. (return_internal_pic): Delete. (return_external_pic): Remove use of PIC register and pic operand and flag checks. (epilogue): Use return_internal for both normal and pic code. (call, call_value): Emit new 32-bit pic patterns for symref and indirect calls. Remove uses for arg pointer and pic register. (call_symref_pic, call_symref_pic_post_reload, call_reg_pic, call_reg_pic_post_reload, call_val_symref_pic, call_val_symref_pic_post_reload, call_val_reg_pic, call_val_reg_pic_post_reload): New pre and post reload insn patterns. Implement define_split and define_peephole2 patterns for pre reload patterns. (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit, call_value_internal_reg_64bit): Shorten names. (all call patterns): Explicitly indicate registers used and clobbered. Use attr_length_indirect_call and attr_length_save_restore_dltp for attribute length calculation. Move code generation for indirect calls to output_indirect_call. (sibcall, sibcall_value): Don't restore PIC register. (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC register retore. From-SVN: r62272
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fastjar | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltcf-c.sh | Loading commit data... | |
ltcf-cxx.sh | Loading commit data... | |
ltcf-gcj.sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |