@Chaos Lord
I think they all do in truth. while that simple issue I don't remember seeing with DICE (which uses a similar Lattice v4 C compiler) - I do remember fixing heavy conditioned loops on more than one occasion.
For the most part though DICE is as good as you are as a coder. So if your logic is sound and you build on tight register variable loops then you often get good code from it. However if logic is sloppy and thrawt with a ton of nested conditions...
the resulting code is an absolute horrid horror to look at under the ASM output.
Once I am happy with a function / asm output I generally hit the linker up and compile down to object code, usually by updating the toolbox.c - makes for better compile times, and also allowed me to draw / underling the function as done
In regards to watches and debuggers.... since I used text files - no IDE... there is no environment to watch vars or debug / step though code - it was printf statements logging out the functions.... working out on scribble paper what was going on and where... pacing in the kitchen with coffee in one hand and cigarette in the other (although I quit smoking 8 years ago!) trying to track down that void pointer!
I think they all do in truth. while that simple issue I don't remember seeing with DICE (which uses a similar Lattice v4 C compiler) - I do remember fixing heavy conditioned loops on more than one occasion.
For the most part though DICE is as good as you are as a coder. So if your logic is sound and you build on tight register variable loops then you often get good code from it. However if logic is sloppy and thrawt with a ton of nested conditions...
the resulting code is an absolute horrid horror to look at under the ASM output.
Once I am happy with a function / asm output I generally hit the linker up and compile down to object code, usually by updating the toolbox.c - makes for better compile times, and also allowed me to draw / underling the function as done
In regards to watches and debuggers.... since I used text files - no IDE... there is no environment to watch vars or debug / step though code - it was printf statements logging out the functions.... working out on scribble paper what was going on and where... pacing in the kitchen with coffee in one hand and cigarette in the other (although I quit smoking 8 years ago!) trying to track down that void pointer!