independent rule based peep hole optimizer.adaptable MCU specific backend that should be well suited for other 8 bit MCUs.MCU specific optimizations, including a global register allocator.Variables and loop reversing), constant folding and propagation,Ĭopy propagation, dead code elimination and jump tables for 'switch' statements. a host of standard optimizations such as global sub expressionĮlimination, loop optimizations (loop invariant, strength reduction of induction.
extensive MCU specific language extensions, allowing effective use of the underlying hardware.sdcc C compiler, originally written by Sandeep Dutta (GPL).gcc-test regression tests, derived from gcc-testsuite (no license explicitely specified, but since it is a part of GCC is probably GPL licensed).Microchip requires that "The header files should state that they are only to be used with authentic Microchip devices" which makes them incompatible with the GPL. Pic device libraries and header files are derived from Microchip header (.inc) and linker script (.lkr) files.
sdbinutils library archive utilities, including sdar, sdranlib and sdnm, derived from GNU Binutils (GPL).sdcdb source level debugger, originally written by Sandeep Dutta (GPL).ucsim simulators, originally written by Daniel Drotos (GPL).sdcpp preprocessor, based on GCC cpp (GPL).sdas and sdld, a retargettable assembler and linker, based on ASXXXX, written by Alan Baldwin (GPL).SDCC suite is a collection of several components derived from different sources withĭifferent FOSS licenses.
SDCC can be retargeted for other microprocessors. Work is in progress on supporting the Padauk pdk13 target Microchip PIC16 and PIC18 Maxim (formerly Dallas) DS80C390 variants,įreescale (formerly Motorola) HC08 based (hc08, s08),
SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11) compiler suite that