From: Hariharan Sandanagobalane Date: Fri, 30 Jan 2009 10:25:54 +0000 (+0000) Subject: picochip.c (flag_conserve_stack): set PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_G... X-Git-Tag: releases/gcc-4.4.0~696 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e8be1e49e810a2147662a085f5b2e62d79c06b9;p=thirdparty%2Fgcc.git picochip.c (flag_conserve_stack): set PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under... * config/picochip/picochip.c (flag_conserve_stack): set PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under fconserve-stack. Reduce call-overhead used by inliner. From-SVN: r143785 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 120b50eae092..6dc807bb4ca9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Hariharan Sandanagobalane + + * config/picochip/picochip.c (flag_conserve_stack): set + PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under + fconserve-stack. Reduce call-overhead used by inliner. + Hariharan Sandanagobalane PR/38157 diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c index 36170421d191..a0686bdb262b 100644 --- a/gcc/config/picochip/picochip.c +++ b/gcc/config/picochip/picochip.c @@ -50,6 +50,7 @@ along with GCC; see the file COPYING3. If not, see #include "target-def.h" #include "langhooks.h" #include "reload.h" +#include "params.h" #include "picochip-protos.h" @@ -303,6 +304,16 @@ picochip_return_in_memory(const_tree type, const_tree fntype ATTRIBUTE_UNUSED) void picochip_override_options (void) { + /* If we are optimizing for stack, dont let inliner to inline functions + that could potentially increase stack size.*/ + if (flag_conserve_stack) + { + PARAM_VALUE (PARAM_LARGE_STACK_FRAME) = 0; + PARAM_VALUE (PARAM_STACK_FRAME_GROWTH) = 0; + } + /* The function call overhead on picochip is not very high. Let the + inliner know so its heuristics become more reasonable. */ + PARAM_VALUE (PARAM_INLINE_CALL_COST) = 2; /* Turn off the elimination of unused types. The elaborator generates various interesting types to represent constants,