Compiler toolchains are a set of programming tools, including a compiler, which is used by programmers to perform complex software development tasks, like creation of applications or a system platform itself. These days the software development often is done in a cross environment in which the tools are used and run on one platform and the resulting product is prepared for a different platform.
We have been involved in the creation and maintenance of compiler toolchains for various targets. Some, like ARM, are common now, and some are still quite unique in the areas of microcontrollers, SoCs and DSPs.
System libraries such as libc and libc++ are quite standard when facing toward applications. On the other end, each of them requires some porting and tuning for a particular platform to be efficient.
We can help with porting the system libraries to your platform or tuning them up for your platform.
Having your platform officially supported by a large open source project like LLVM could save significant time and effort in adapting changes from upstream. There are certain requirements for getting a platform formally supported.
We know the procedures and practices, helping you minimize the risk, time and effort of getting formal support.
A big part of quality software applications is having the right tools for identifying unsafe or non-optimal code constructions that are specific to a target platform. Some of these checkers perform when compiling and check statically, while others must perform at run time.
In both cases the compiler can be of service in aiding the checkers and placing instrumentation points. It helps to have compiler-based tools made for specific tasks as a part of a modern toolchain.