This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
DONT_ACCESS_GBLS_AFTER_EPILOGUE
- To: gcc at gcc dot gnu dot org
- Subject: DONT_ACCESS_GBLS_AFTER_EPILOGUE
- From: Geoff Keating <geoffk at cygnus dot com>
- Date: Fri, 11 Feb 2000 17:24:54 -0800
Does anyone know what this macro does?
It's set on ppc to
/* See nonlocal_goto_receiver for when this must be set. */
#define DONT_ACCESS_GBLS_AFTER_EPILOGUE (TARGET_TOC && TARGET_MINIMAL_TOC)
and since I'm just about to delete the nonlocal_goto_receiver pattern
(it turns out it should be builtin_setjmp_receiver instead),
I'm wondering whether the macro should be
(a) deleted;
(b) turned into the condition of nonlocal_goto_receiver, which will
be something along the lines of
((TARGET_TOC && TARGET_MINIMAL_TOC && get_pool_size () != 0)
|| ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
&& flag_pic == 1 && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]))
but with some terms missing;
(c) left alone;
(d) randomly mutated until someone complains :-).
I'm particularly confused because the epilogue is not exactly a fixed
target now that it is scheduled, and it is perfectly possible to end
up accessing globals in the middle of it without any special effort.
--
- Geoffrey Keating <geoffk@cygnus.com>