- VBCC
vbcc is the name of a portable and retargetable
ISO /ANSI C compiler.It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).
It is divided into two parts. One is target-independent and the other is target-dependent. vbcc provides complete abstraction of host-arithmetic and target-arithmetic. It fully supports cross-compiling for
8bit ,16bit ,32bit and64bit architectures.Embedded systems are supported by features like different pointer-sizes, ROM-able code, inline-assembly, bit-types, interrupt-handlers, section-attributes, stack-calculation and many others (depending on the backend).
vbcc provides a large set of high-level optimizations as well as target-specific optimizations to produce faster or smaller code. it is also able to optimize across functions and modules. Target-independent optimizations includes:
*cross-module function-inlining
*partial inlining of recursive functions
*inter-procedural data-flow analysis
*inter-procedural register-allocation
*register-allocation for global variables
*global common-subexpression-elimination
*global constant-propagation
*global copy-propagation
*dead-code-elimination
*alias-analysis
*loop-unrolling
*induction-variable elimination
*loop-invariant code-motion
*loop-reversal Currently backends (with different degree of maturity) exist 68k,Coldfire ,PowerPC ,80x86 (386 and above),Alpha ,C16x /ST10,68HC12 ,z-machine architectures.All common operating systems can be supported as host systems, including Windows and
Unix /Linux systems.External links
* [http://www.compilers.de/vbcc.html Dr. Volker Barthelmann´s Compiler Page]
* [http://sun.hasenbraten.de/vbcc/ vbcc - ISO/ANSI-C Compiler]
Wikimedia Foundation. 2010.