* config/i386/i386.c (ix86_output_function_epilogue): New.
(TARGET_ASM_FUNCTION_EPILOGUE): New.
(pic_label_name): Remove.
(pic_labels_used): New.
(ix86_asm_file_end): Emit one pc load stub for each register used.
(output_set_got): Generate deep pc load to any register.
(ix86_select_alt_pic_regnum): New.
(ix86_save_reg): Don't save pic register if we can find a valid
call-clobbered replacement.
(ix86_expand_prologue): If we found a valid replacement, renumber
pic_offset_table_rtx.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
pic_offset_table_rtx after reload.
(REAL_PIC_OFFSET_TABLE_REGNUM): New.
* config/i386/i386.md (set_got): Make insn, not expander.
(set_got_nopic, set_got_deep, set_got_nodeep): Remove.
From-SVN: r54021
| 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.in | 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... |