PR target/83368 * config/sparc/sparc.h (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM in PIC mode except for TARGET_VXWORKS_RTP. * config/sparc/sparc.c: Include cfgrtl.h. (TARGET_INIT_PIC_REG): Define. (TARGET_USE_PSEUDO_PIC_REG): Likewise. (sparc_pic_register_p): New predicate. (sparc_legitimate_address_p): Use it. (sparc_legitimize_pic_address): Likewise. (sparc_delegitimize_address): Likewise. (sparc_mode_dependent_address_p): Likewise. (gen_load_pcrel_sym): Remove 4th parameter. (load_got_register): Adjust call to above. Remove obsolete stuff. (sparc_expand_prologue): Do not call load_got_register here. (sparc_flat_expand_prologue): Likewise. (sparc_output_mi_thunk): Set the pic_offset_table_rtx object. (sparc_use_pseudo_pic_reg): New function. (sparc_init_pic_reg): Likewise. * config/sparc/sparc.md (vxworks_load_got): Set the GOT register. (builtin_setjmp_receiver): Enable only for TARGET_VXWORKS_RTP. From-SVN: r256575
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| biarch64.h | Loading commit data... | |
| constraints.md | Loading commit data... | |
| cypress.md | Loading commit data... | |
| default64.h | Loading commit data... | |
| driver-sparc.c | Loading commit data... | |
| freebsd.h | Loading commit data... | |
| hypersparc.md | Loading commit data... | |
| leon.md | Loading commit data... | |
| linux.h | Loading commit data... | |
| linux64.h | Loading commit data... | |
| long-double-switch.opt | Loading commit data... | |
| m8.md | Loading commit data... | |
| netbsd-elf.h | Loading commit data... | |
| niagara.md | Loading commit data... | |
| niagara2.md | Loading commit data... | |
| niagara4.md | Loading commit data... | |
| niagara7.md | Loading commit data... | |
| openbsd1-64.h | Loading commit data... | |
| openbsd64.h | Loading commit data... | |
| predicates.md | Loading commit data... | |
| rtemself.h | Loading commit data... | |
| sol2.h | Loading commit data... | |
| sp-elf.h | Loading commit data... | |
| sp64-elf.h | Loading commit data... | |
| sparc-c.c | Loading commit data... | |
| sparc-modes.def | Loading commit data... | |
| sparc-opts.h | Loading commit data... | |
| sparc-passes.def | Loading commit data... | |
| sparc-protos.h | Loading commit data... | |
| sparc.c | Loading commit data... | |
| sparc.h | Loading commit data... | |
| sparc.md | Loading commit data... | |
| sparc.opt | Loading commit data... | |
| sparclet.md | Loading commit data... | |
| supersparc.md | Loading commit data... | |
| sync.md | Loading commit data... | |
| sysv4.h | Loading commit data... | |
| t-elf | Loading commit data... | |
| t-leon | Loading commit data... | |
| t-leon3 | Loading commit data... | |
| t-linux | Loading commit data... | |
| t-linux64 | Loading commit data... | |
| t-netbsd64 | Loading commit data... | |
| t-rtems | Loading commit data... | |
| t-rtems-64 | Loading commit data... | |
| t-sol2 | Loading commit data... | |
| t-sparc | Loading commit data... | |
| t-vxworks | Loading commit data... | |
| tso.h | Loading commit data... | |
| ultra1_2.md | Loading commit data... | |
| ultra3.md | Loading commit data... | |
| visintrin.h | Loading commit data... | |
| vxworks.h | Loading commit data... | |
| x-sparc | Loading commit data... |