From ba970760b38b93d1a3f163c0c5b5c790024372dd Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Fri, 5 Nov 2010 14:13:18 +0100 Subject: [PATCH] SDCC 3.0 can build uLUt but its GCSE optimization goes mad for gavl_balance_one. The common expression elimination optimization leads to allocation of whole internal memory when enabled for gavl_balance_one function. Signed-off-by: Pavel Pisa --- ulut/ul_gavlprim.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ulut/ul_gavlprim.c b/ulut/ul_gavlprim.c index fb6352d..8880be3 100644 --- a/ulut/ul_gavlprim.c +++ b/ulut/ul_gavlprim.c @@ -77,6 +77,10 @@ gavl_prev_node(const gavl_node_t *node) } } +#ifdef SDCC +#pragma save +#pragma nogcse +#endif /*SDCC*/ /** * gavl_balance_one - Balance One Node to Enhance Balance Factor * @subtree: pointer to pointer to node for which balance is enhanced @@ -213,6 +217,9 @@ gavl_balance_one(gavl_node_t **subtree) /*printf("#%d",ret);*/ return(ret); } +#ifdef SDCC +#pragma restore +#endif /*SDCC*/ /** * gavl_insert_primitive_at - Low Lewel Routine to Insert Node into Tree -- 2.39.2