You mentioned that you were working on pointer optimizations,
> * src/SDCCptropt.c:
> added some pointer arithmetic optimizations but not stable yet
> so not called from anywhere (will get this working shortly)
I noticed that SDCC is performing literal pointer arithmetic at
run time. The following example shows what I mean. Are you working on
xdata unsigned char HIGH;
xdata unsigned char LOW;
xdata unsigned char DATA;
void f1( void )
// Computed at run time.
HIGH = ((unsigned short)&DATA)>>8;
LOW = ((unsigned short)&DATA);
// As opposed to something like:
void f2( void )
// Computed at compile time.
HIGH = 0x1000 >> 8;
LOW = 0x1000;
I just wanted to throw this out while I was thinking about it.