From: Geoffrey Y. <gy...@is...> - 2002-01-31 16:52:11
|
Dear Sandeep, 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 improving this? 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. :-) Geoffrey |