>      at_udata = Safe_strdup("udata");
> instead, but this wouldn't help you: at_udata is never used in the
> compiler again ... This must be some ancient development help
> (originating around 2004?!?) that never completely made it into
> the official repository.
Ok, abandon that approach, no problem. After spending a week or
so tweaking my code it seems that some more pragmas to let the
programmer have more control over variable placement would be
useful, especially seeing that different targets have rather
different architectures for which the may require manual help
from the programmer to produce fast enough code. But I do
not have anything concrete yet to suggest.
> 
> Though I have no workaround for the local register problem, you can
> try to reduce BANKSELs by grouping global variables into a struct.
> All struct members are considered to reside in the same bank, so this
> could save you same instructions (if banksels are still a problem).
> 
> unsigned glo;
> __data char *ptr;
> 
> with glo and ptr being often used together could be turned into
> 
> struct {
>    unsigned glo;
>    __data char *ptr;
> } cluster0;
> 
> #define glo cluster0.glo
> #define ptr cluster0.ptr
> 
That looks promising, I'll test this approach.

Thanks br, Kusti


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to