a157febd0c
* c-common.c (enum attrs): Add A_NO_LIMIT_STACK. (init_attributes): Add A_NO_LIMIT_STACK. (decl_attributes): Handle A_NO_LIMIT_STACK. * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK. * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]: Handle stack bounds checking. * flags.h (flag_stack_check): Use the word 'probe' rather than 'check', because the flag doesn't actually cause any checking to be done. * function.c (expand_function_start): Set current_function_limit_stack. * function.h (struct function): Add limit_stack. (current_function_limit_stack): Define. * invoke.texi (Code Gen Options): Document new options. * rtl.h: Declare stack_limit_rtx. * toplev.c (stack_limit_rtx): New variable. (decode_f_option): Handle new options -fstack-limit-register=REG, -fstack-limit-symbol=IDENT, -fno-stack-limit. (main): Add stack_limit_rtx as GC root. * tree.h (DECL_NO_LIMIT_STACK): New macro. (struct tree_decl): New member no_limit_stack. * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle stack_limit_rtx. * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx. (conditional_trap+1): Get new mnemonic correct. (conditional_trap+2): New pattern for DImode traps. * config/m68k/m68k.c (output_function_prologue): Handle stack_limit_rtx. * config/m68k/m68k.md (trap): New insn. (conditional_trap): New insn. * md.texi (Standard Names): Document `trap' and `conditional_trap'. * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence() so a cc0 setter doesn't get emitted at some random place in the function. * config/i960/i960.md (trap): New insn. (conditional_trap): New expander. (conditional_trap+1, conditional_trap+2): New insns for signed and unsigned cases. * config/i960/i960.c (i960_function_prologue): Use STARTING_FRAME_OFFSET. Handle stack_limit_rtx. Co-Authored-By: Greg McGary <gkm@gnu.org> From-SVN: r30771 |
||
---|---|---|
.. | ||
3b1.h | ||
3b1g.h | ||
a-ux.h | ||
altos3068.h | ||
amix.h | ||
apollo68.h | ||
atari.h | ||
aux-crt1.c | ||
aux-crt2.asm | ||
aux-crtn.asm | ||
aux-exit.c | ||
aux-low.gld | ||
aux-mcount.c | ||
auxas.h | ||
auxgas.h | ||
auxgld.h | ||
auxld.h | ||
ccur-GAS.h | ||
coff.h | ||
crds.h | ||
crti.s | ||
crtn.s | ||
ctix.h | ||
dpx2.h | ||
dpx2.ifile | ||
dpx2cdbx.h | ||
dpx2g.h | ||
fpgnulib.c | ||
hp2bsd.h | ||
hp3bsd44.h | ||
hp3bsd.h | ||
hp310.h | ||
hp310g.h | ||
hp320.h | ||
hp320g.h | ||
hpux7.h | ||
isi-nfp.h | ||
isi.h | ||
lb1sf68.asm | ||
linux-aout.h | ||
linux.h | ||
lynx-ng.h | ||
lynx.h | ||
m68k-aout.h | ||
m68k-coff.h | ||
m68k-none.h | ||
m68k-psos.h | ||
m68k.c | ||
m68k.h | ||
m68k.md | ||
m68kelf.h | ||
m68kemb.h | ||
m68kv4.h | ||
m68020-elf.h | ||
mot3300-crt0.S | ||
mot3300.h | ||
mot3300Mcrt0.S | ||
netbsd.h | ||
news3.h | ||
news3gas.h | ||
news.h | ||
newsgas.h | ||
next21.h | ||
next.h | ||
openbsd.h | ||
pbb.h | ||
plexus.h | ||
rtems.h | ||
rtemself.h | ||
sgs.h | ||
sun2.h | ||
sun2o4.h | ||
sun3.h | ||
sun3mach.h | ||
sun3n3.h | ||
sun3n.h | ||
sun3o3.h | ||
t-aux | ||
t-crtstuff | ||
t-linux | ||
t-linux-aout | ||
t-lynx | ||
t-m68kbare | ||
t-m68kelf | ||
t-mot3300 | ||
t-mot3300-gald | ||
t-mot3300-gas | ||
t-mot3300-gld | ||
t-next | ||
t-vxworks68 | ||
tower-as.h | ||
tower.h | ||
vxm68k.h | ||
x-alloca-c | ||
x-amix | ||
x-apollo68 | ||
x-ccur | ||
x-crds | ||
x-dpx2 | ||
x-hp2bsd | ||
x-hp320 | ||
x-hp320g | ||
x-mot3300 | ||
x-mot3300-gas | ||
x-next | ||
x-tower | ||
xm-3b1.h | ||
xm-altos3068.h | ||
xm-amix.h | ||
xm-atari.h | ||
xm-aux.h | ||
xm-crds.h | ||
xm-hp320.h | ||
xm-linux.h | ||
xm-lynx.h | ||
xm-m68k.h | ||
xm-m68kv.h | ||
xm-mot3300.h | ||
xm-next.h | ||
xm-openbsd.h | ||
xm-plexus.h | ||
xm-sun3.h | ||
xm-tower.h |