2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (struct s390_frame_layout): New field gpr_save_slots. (cfun_save_arg_fprs_p, cfun_gpr_save_slot): New macros. (s390_reg_clobbered_rtx, s390_regs_ever_clobbered): Change type of regs_ever_clobbered to char*. (s390_regs_ever_clobbered): Check crtl->saves_all_registers instead of cfun->has_nonlocal_label. Ignore frame related restore INSNs. (s390_register_info): Enable FPR save slots. Move/Copy some functionality into ... (s390_register_info_gprtofpr, s390_register_info_stdarg_fpr) (s390_register_info_stdarg_gpr, s390_optimize_register_info): New function. (s390_frame_info): Do gpr slot allocation here now. stdarg does not imply a stack frame. (s390_init_frame_layout): Remove variable clobbered_regs. (s390_update_register_info): Remove function. (s390_hard_regno_rename_ok): Call-saved regs without a save slot cannot be used for register renaming. (s390_hard_regno_scratch_ok): New function. (TARGET_HARD_REGNO_SCRATCH_OK): Define target hook. (s390_initial_elimination_offset): Change offset calculation of the return address pointer. (save_gprs): Deal with only r6 being saved from the call-saved regs. (restore_gprs): Set frame related flag. (s390_save_gprs_to_fprs, s390_restore_gprs_from_fprs): New functions. (s390_emit_prologue): Call s390_register_info instead of s390_update_frame_layout. Call s390_save_gprs_to_fprs. (s390_emit_epilogue): Call s390_restore_gprs_from_fprs. (s390_optimize_prologue): Call s390_optimize_register_info. Try to remove also FPR slot save/restore INSNs. Remove frame related flags from restore INSNs. From-SVN: r203303
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fixincludes | Loading commit data... | |
gcc | Loading commit data... | |
gnattools | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libada | Loading commit data... | |
libatomic | Loading commit data... | |
libbacktrace | Loading commit data... | |
libcpp | Loading commit data... | |
libdecnumber | Loading commit data... | |
libffi | Loading commit data... | |
libgcc | Loading commit data... | |
libgfortran | Loading commit data... | |
libgo | Loading commit data... | |
libgomp | Loading commit data... | |
libiberty | Loading commit data... | |
libitm | Loading commit data... | |
libjava | Loading commit data... | |
libmudflap | Loading commit data... | |
libobjc | Loading commit data... | |
libquadmath | Loading commit data... | |
libsanitizer | Loading commit data... | |
libssp | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
libvtv | Loading commit data... | |
lto-plugin | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.gitignore | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
COPYING.RUNTIME | Loading commit data... | |
COPYING3 | Loading commit data... | |
COPYING3.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.tree-ssa | 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... | |
compile | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
depcomp | Loading commit data... | |
install-sh | Loading commit data... | |
libtool-ldflags | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltgcc.m4 | Loading commit data... | |
ltmain.sh | Loading commit data... | |
ltoptions.m4 | Loading commit data... | |
ltsugar.m4 | Loading commit data... | |
ltversion.m4 | Loading commit data... | |
lt~obsolete.m4 | 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... |