PATCH RFA: Split stack [2/7]: Middle-end support
Ian Lance Taylor
iant@google.com
Thu Sep 23 08:02:00 GMT 2010
This is the second of the -fsplit-stack patches. This patch is the
general middle-end support. It implements the following:
* Let the backend insert a split stack prologue at the start of the
function.
* Handle dynamic stack space allocation (for alloca or variably sized
arrays) by calling a support function if necessary.
* Add magic sections which let the linker automatically adjust
split-stack functions which call non-split-stack functions.
This patch is all middle-end code and hence I do not require any
specific approval. However I would of course be happy to see any
comments.
Ian
2010-09-21 Ian Lance Taylor <iant@google.com>
* function.c (thread_prologue_and_epilogue_insns): If
flag_split_stack, add split stack prologue.
* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
* varasm.c (saw_no_split_stack): New static variable.
(assemble_start_function): Set saw_no_split_stack if the function
has the no_split_stack attribute.
(file_end_indicate_split_stack): New function.
* output.h (file_end_indicate_split_stack): Declare.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: split-5.patch
Type: text/x-diff
Size: 8779 bytes
Desc: split2
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100923/12f6bd43/attachment.bin>
More information about the Gcc-patches
mailing list