From: Johan K. <joh...@id...> - 2001-10-11 17:14:48
|
Hi, I received some private emails about this. So I will explain in public. char c; if (c<9) { whatever; } The constant 9 was an int value, so c was casted to an int and an int compare was done: a waste of code and time. Ok, so what, a couple of bytes of code and some milliseconds. Hey, what about this: char c; for (c=0; c<126; c++) { whatever; } Every time the condition was checked, c was casted to an int and an int compare was done: that really was a waste of time. That doesn't happen anymore. I knew that this would expose/generate bugs. Most of them have been dealt with now (although there were far more than I expected: even in label generation, let's not talk about endianess), some will still exist. I will try to tackle them when they are exposed. In the mean time sdcc will generate more compact and faster code for all ports. I hope this satisfies you all, Johan |