8sa1-gcc/gcc/config
Hans-Peter Nilsson aa27696b79 cris: define HARD_FRAME_POINTER_REGNUM
Beware, tm.texi doesn't tell the whole story: a defined
HARD_FRAME_POINTER_REGNUM (different to FRAME_POINTER_REGNUM) is
supposed to make work easier for reload, being able to easily
tell actual frame-pointer-related addresses from those that
happen to use the same register or something to that effect.

On reasonable code the performance effect is barely measurable.

Looking at libgcc changes for -march=v10, the effect (where
noticeable) is mostly indeterminate churn.  Instances where it's
not just insns moved around at no obvious effect: one more insn
for addvdi3, subvdi3; two insns more in floatdisf; three insns
shorter fixunsdfdi.  Some of those seem related to pairing r8
with r9.  The only effect on coremark is an infinitesimal
positive effect from a three(!) cycles total (from the 15 calls)
faster execution paths in vfprintf_r.  Local microbenchmarks
give similar results.  With that in mind and not forgetting that
expectations in the register allocator and reload leaning
towards HARD_FRAME_POINTER_REGNUM defined (and different to)
FRAME_POINTER_REGNUM or to wit, "all the kids do it", why not.
Note that the offset at elimination really is 0.

gcc:
	* config/cris/cris.h (HARD_FRAME_POINTER_REGNUM): Define.
	Change FRAME_POINTER_REGNUM to correspond to a new faked
	register faked_fp, part of GENNONACR_REGS like faked_ap.
	(CRIS_FAKED_REGS_CONTENTS): New helper macro.
	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS):
	(REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGNO_OK_FOR_BASE_P)
	(ELIMINABLE_REGS, REGISTER_NAMES): Adjust accordingly.
	* config/cris/cris.md (CRIS_FP_REGNUM): Renumber to new faked
	register.
	(CRIS_REAL_FP_REGNUM): New constant.
	* config/cris/cris.c (cris_reg_saved_in_regsave_area): Check
	for HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
	(cris_initial_elimination_offset): Handle elimination changes
	to HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM
	and add one from FRAME_POINTER_REGNUM to
	HARD_FRAME_POINTER_REGNUM.
	(cris_expand_prologue, cris_expand_epilogue): Emit code for
	hard_frame_pointer_rtx instead of frame_pointer_rtx.
2021-03-11 03:43:48 +01:00
..
aarch64 aarch64: Fix typo in aarch64.c comment 2021-03-10 15:11:16 +00:00
alpha Update copyright years. 2021-01-04 10:26:59 +01:00
arc arc: Remove orphan function. 2021-03-09 12:32:20 +02:00
arm Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
avr Update copyright years. 2021-01-04 10:26:59 +01:00
bfin Update copyright years. 2021-01-04 10:26:59 +01:00
bpf Update copyright years. 2021-01-04 10:26:59 +01:00
c6x Update copyright years. 2021-01-04 10:26:59 +01:00
cr16 Update copyright years. 2021-01-04 10:26:59 +01:00
cris cris: define HARD_FRAME_POINTER_REGNUM 2021-03-11 03:43:48 +01:00
csky Update copyright years. 2021-01-04 10:26:59 +01:00
epiphany Update copyright years. 2021-01-04 10:26:59 +01:00
fr30 Update copyright years. 2021-01-04 10:26:59 +01:00
frv Update copyright years. 2021-01-04 10:26:59 +01:00
ft32 Update copyright years. 2021-01-04 10:26:59 +01:00
gcn amdgcn: Add gfx908 support 2021-02-03 14:25:33 +00:00
h8300 Update copyright years. 2021-01-04 10:26:59 +01:00
i386 i386: Properly set ix86_isa_flags 2021-03-09 09:26:55 +01:00
ia64 i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905] 2021-01-13 11:36:38 +01:00
iq2000 Update copyright years. 2021-01-04 10:26:59 +01:00
lm32 Update copyright years. 2021-01-04 10:26:59 +01:00
m32c Update copyright years. 2021-01-04 10:26:59 +01:00
m32r Update copyright years. 2021-01-04 10:26:59 +01:00
m68k Update copyright years. 2021-01-04 10:26:59 +01:00
mcore Update copyright years. 2021-01-04 10:26:59 +01:00
microblaze Update copyright years. 2021-01-04 10:26:59 +01:00
mips [PATCH v4 1/2] MIPS: unaligned load: use SImode for SUBREG if OK (PR98996) [PATCH v4 2/2] ada: add 128bit operation for MIPS N32 and N64 2021-02-25 19:56:07 -07:00
mmix Update copyright years. 2021-01-04 10:26:59 +01:00
mn10300 Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
moxie Update copyright years. 2021-01-04 10:26:59 +01:00
msp430 Update copyright years. 2021-01-04 10:26:59 +01:00
nds32 Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
nios2 RTEMS: Add -mcustom-fpu-cfg=fph2 multilib 2021-01-16 17:54:28 +01:00
nvptx nvptx: properly use flag_patchable_function_entry 2021-02-10 18:52:45 +01:00
or1k or1k: Fixup exception header data encodings 2021-01-14 08:45:01 +09:00
pa Add mi_thunk support for vcalls on hppa. 2021-02-22 15:34:33 +00:00
pdp11 Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
pru Update copyright years. 2021-01-04 10:26:59 +01:00
riscv RISC-V: Avoid zero/sign extend for volatile loads. Fix for 97417. 2021-02-13 12:33:44 -08:00
rl78 Update copyright years. 2021-01-04 10:26:59 +01:00
rs6000 aix: align double complex 2021-03-10 18:52:50 -05:00
rx Fix building the RX port of gcc. 2021-03-09 15:29:23 +00:00
s390 IBM Z: arch14 fix option string used for Binutils 2021-03-09 14:51:50 +01:00
sh sh: Remove match_scratch operand test 2021-01-13 11:37:18 +00:00
sparc Fix miscompilation of Ada runtime on 64-bit SPARC 2021-03-10 12:32:03 +01:00
stormy16 Update copyright years. 2021-01-04 10:26:59 +01:00
tilegx Update copyright years. 2021-01-04 10:26:59 +01:00
tilepro Update copyright years. 2021-01-04 10:26:59 +01:00
v850 Update copyright years. 2021-01-04 10:26:59 +01:00
vax Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
visium Add input_modes parameter to TARGET_MD_ASM_ADJUST hook 2021-03-04 14:33:41 +01:00
vms Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks
xtensa Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-driver.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-f.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-ppc-ldouble-patch.def Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-protos.h dwarf2unwind : Force the CFA after remember/restore pairs [44107/48097]. 2021-03-01 19:37:09 +00:00
darwin-sections.def Update copyright years. 2021-01-04 10:26:59 +01:00
darwin.c dwarf2unwind : Force the CFA after remember/restore pairs [44107/48097]. 2021-03-01 19:37:09 +00:00
darwin.h dwarf2unwind : Force the CFA after remember/restore pairs [44107/48097]. 2021-03-01 19:37:09 +00:00
darwin.opt Update copyright years. 2021-01-04 10:26:59 +01:00
dbx.h Update copyright years. 2021-01-04 10:26:59 +01:00
dbxcoff.h Update copyright years. 2021-01-04 10:26:59 +01:00
dbxelf.h Update copyright years. 2021-01-04 10:26:59 +01:00
default-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
default-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly.h Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly.opt Update copyright years. 2021-01-04 10:26:59 +01:00
elfos.h Update copyright years. 2021-01-04 10:26:59 +01:00
flat.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-nthr.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-spec.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
fuchsia.h Update copyright years. 2021-01-04 10:26:59 +01:00
fused-madd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
g.opt Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
gnu-user.h Update copyright years. 2021-01-04 10:26:59 +01:00
gnu-user.opt Update copyright years. 2021-01-04 10:26:59 +01:00
gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
host-darwin.c Darwin : Update a disgnostic message [NFC]. 2021-02-27 16:31:54 +00:00
host-darwin.h Update copyright years. 2021-01-04 10:26:59 +01:00
host-hpux.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-linux.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-netbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-openbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-solaris.c Update copyright years. 2021-01-04 10:26:59 +01:00
hpux11.opt Update copyright years. 2021-01-04 10:26:59 +01:00
hpux-stdint.h
initfini-array.h Update copyright years. 2021-01-04 10:26:59 +01:00
kfreebsd-gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
kopensolaris-gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux-android.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux-android.opt Update copyright years. 2021-01-04 10:26:59 +01:00
linux-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux.c Update copyright years. 2021-01-04 10:26:59 +01:00
linux.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux.opt Update copyright years. 2021-01-04 10:26:59 +01:00
lynx.h Update copyright years. 2021-01-04 10:26:59 +01:00
lynx.opt Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-elf.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-elf.opt Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
newlib-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd-libpthread.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd-stdint.h
openbsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
phoenix.h Update copyright years. 2021-01-04 10:26:59 +01:00
print-sysroot-suffix.sh Update copyright years. 2021-01-04 10:26:59 +01:00
README
rpath.opt Update copyright years. 2021-01-04 10:26:59 +01:00
rtems.h RTEMS: Fix default linker script 2021-01-25 12:31:23 +01:00
rtems.opt Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-clearcap.map
sol2-clearcapv2.map
sol2-cxx.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-stubs.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.h Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.opt Update copyright years. 2021-01-04 10:26:59 +01:00
t-darwin Update copyright years. 2021-01-04 10:26:59 +01:00
t-dragonfly Update copyright years. 2021-01-04 10:26:59 +01:00
t-freebsd Update copyright years. 2021-01-04 10:26:59 +01:00
t-glibc Update copyright years. 2021-01-04 10:26:59 +01:00
t-libunwind Update copyright years. 2021-01-04 10:26:59 +01:00
t-linux Update copyright years. 2021-01-04 10:26:59 +01:00
t-lynx Update copyright years. 2021-01-04 10:26:59 +01:00
t-musl
t-netbsd Update copyright years. 2021-01-04 10:26:59 +01:00
t-openbsd
t-pnt16-warn Update copyright years. 2021-01-04 10:26:59 +01:00
t-rtems
t-slibgcc
t-sol2 Update copyright years. 2021-01-04 10:26:59 +01:00
t-sysroot-suffix
t-uclibc
t-vxworks robustify vxworks glimits.h overriding 2021-01-06 08:05:35 -03:00
t-winnt Update copyright years. 2021-01-04 10:26:59 +01:00
tm-dwarf2.h
usegas.h Update copyright years. 2021-01-04 10:26:59 +01:00
usegld.h
vx-common.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-dummy.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.c Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.opt Update copyright years. 2021-01-04 10:26:59 +01:00
vxworksae.h Update copyright years. 2021-01-04 10:26:59 +01:00
winnt-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
x-cflags-O1
x-darwin
x-hpux
x-linux
x-netbsd
x-openbsd
x-solaris

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.