LONDON Crossware has released version 3.0 of its C/C++ compiler for ARM-based microcontrollers.
The compiler, available as part of Crosswares ARM Development Suite, is able to perform optimizations that can increase the execution speed and also reduce the code size of the final compiled application.
The Crossware compilers complex analysis of both program and data flow is used to perform a sequence of transformations which then enable a range of advanced optimization algorithms to be applied. These algorithms include dead code elimination and conditional constant propagation. Combining these optimizations with loop transformation provides a further improvement.
Another optimisation performed by the new compiler is conditional branch elimination which takes advantage of the ARM instruction set. Where appropriate, conditional branch instructions are removed and the ARM instructions are instead conditionally executed. This results in faster execution speed by avoiding any pipeline delays that would otherwise occur.
Stack frame elimination has been also implemented in version 3.0 of the compiler to reduce the function call overhead. This overcomes the need to save and restore the stack pointer at the beginning and end of each function thereby further reducing code size and increasing execution speed.
Including C/C++ compiler, libraries, wizards, simulator and debugger, Crosswares ARM Development Suite provides a complete development environment for the ARM family of microprocessors and microcontrollers.