This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH RFA: Split stack [2/7]: Middle-end support


On Thu, Sep 23, 2010 at 12:02 AM, Ian Lance Taylor <iant@google.com> wrote:
> 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.

Are there any optimizations for functions which do either not require
stack or are leaf functions and thus would be fine with using the
red zone?  (does -fsplit-stack make sure that space for the red zone
is available as well?)

Thanks,
Richard.

> 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.
>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]