From 9e8be1e49e810a2147662a085f5b2e62d79c06b9 Mon Sep 17 00:00:00 2001 From: Hariharan Sandanagobalane Date: Fri, 30 Jan 2009 10:25:54 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/picochip/picochip.c | 11 +++++++++++ 2 files changed, 17 insertions(+) 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, -- 2.47.2