freebsd-dev/contrib/gcc/config/i386
David E. O'Brien c92f6a5f61 Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks.  rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately.  rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy.  gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken.  One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by:	bde
2000-01-29 13:06:33 +00:00
..
386bsd.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
aix386.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
aix386ng.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
att.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
bsd386.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
bsd.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
config-nt.sed Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
crtdll.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
cygwin.asm Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
cygwin.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
dgux.c Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
dgux.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
djgpp-rtems.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
djgpp.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
freebsd-aout.h Virgin import of the GCC 2.95.1 compilers 1999-11-24 06:24:35 +00:00
freebsd.h Fix our -mprofiler-epilogue code. 2000-01-29 13:06:33 +00:00
freebsd.h.fixed Fix our -mprofiler-epilogue code. 2000-01-29 13:06:33 +00:00
gas.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
gmon-sol2.c Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
gnu.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
go32.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
gstabs.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
i386-aout.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
i386-coff.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
i386-interix.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
i386.c Fix our -mprofiler-epilogue code. 2000-01-29 13:06:33 +00:00
i386.h Use stock file here. 1999-10-16 08:10:36 +00:00
i386.md Merge in the restore pic register fix from the vendor branch. 2000-01-22 16:04:30 +00:00
i386iscgas.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
interix.c Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
isc.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
isccoff.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
iscdbx.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
linux-aout.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
linux-oldld.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
linux.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
lynx-ng.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
lynx.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
mach.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
mingw32.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
moss.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
netbsd.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
next.c Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
next.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
openbsd.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
os2.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
osf1-ci.asm Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
osf1-cn.asm Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
osf1elf.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
osf1elfgdb.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
osfelf.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
osfrose.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
perform.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
ptx4-i.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
rtems.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
rtemself.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sco4.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sco4dbx.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sco5.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
sco5gas.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sco.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
scodbx.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
seq2-sysv3.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
seq-gas.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
seq-sysv3.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sequent.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
sol2-c1.asm Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sol2-ci.asm Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
sol2-cn.asm Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
sol2-gc1.asm Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sol2.h Virgin import of the GCC 2.95.2 compilers 1999-11-01 08:28:22 +00:00
sol2gas.h Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch" 2000-01-22 02:59:08 +00:00
sun386.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
sun.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
svr3.ifile Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
svr3dbx.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
svr3gas.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
svr3z.ifile Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sysv3.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sysv4.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
sysv4gdb.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
sysv5.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-crtpic Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-crtstuff Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
t-cygwin Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-dgux Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-djgpp Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-i386bare Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
t-interix Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-iscscodbx Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
t-mingw32 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-next Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-osf Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-osf1elf Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-sco5 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-sco5gas Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-sol2 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-svr3dbx Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
t-udk Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-uwin Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-vsta Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
t-winnt Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
udk.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
unix.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
uwin.asm Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
uwin.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
v3gas.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
vsta.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
vxi386.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
win32.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
win-nt.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
winnt.c Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
x-aix Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-cygwin Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
x-dgux Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-djgpp Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
x-freebsd Merge in freebsd-specific changes 1996-09-18 06:54:11 +00:00
x-isc Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-isc3 Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-ncr3000 Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-next Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-osf1elf Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-osfrose Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-sco Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-sco4 Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-sco5 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-sysv3 Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
x-vsta Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-aix.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-bsd386.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-cygwin.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-dgux.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-djgpp.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-dos.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-freebsd.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-gnu.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-i386-interix.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-i386.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-isc.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-linux.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-lynx.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-mingw32.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-netbsd.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-next.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-openbsd.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-os2.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-osf1elf.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-osf.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-sco5.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-sco.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-sun.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-sysv3.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00
xm-sysv4.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-uwin.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-vsta.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-winnt.h Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the 1996-09-18 05:35:50 +00:00