aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/picochip
diff options
context:
space:
mode:
authorHariharan Sandanagobalane <hariharan@picochip.com>2009-01-30 10:25:54 +0000
committerHariharan Sandanagobalane <hariharans@gcc.gnu.org>2009-01-30 10:25:54 +0000
commit9e8be1e49e810a2147662a085f5b2e62d79c06b9 (patch)
tree8239064a5f039dd58adc19e087aca9d4d9e48c53 /gcc/config/picochip
parentdf9198abb2b7096e0be52419bacf35b94585bdb4 (diff)
downloadgcc-9e8be1e49e810a2147662a085f5b2e62d79c06b9.zip
gcc-9e8be1e49e810a2147662a085f5b2e62d79c06b9.tar.gz
gcc-9e8be1e49e810a2147662a085f5b2e62d79c06b9.tar.bz2
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
Diffstat (limited to 'gcc/config/picochip')
-rw-r--r--gcc/config/picochip/picochip.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 3617042..a0686bd 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,