ARM Compiler 6
Next-Generation Compiler Based on LLVM
ARM® Compiler 6 is the compilation toolchain for the ARM architecture, available in ARM Development Studio 5. ARM Compiler 6 brings together the modern LLVM compiler infrastructure and the highly optimized ARM C libraries to produce performance and power optimized embedded software for the ARM architecture.
Efficient code generation, better diagnostics, and faster feature development, coupled with ARM’s compiler backend expertise, make LLVM the natural choice for the next generation of ARM Compiler. Try a 30-day evaluation of DS-5 today and see what we mean.
The Best of Both Worlds
A complete toolchain that works out-of-the-box, ARM Compiler 6 is developed alongside the ARM architecture and is supported with DS-5 Professional Edition and Ultimate Edition.
Developed and maintained by ARM experts, ARM Compiler 6 has undergone exhaustive testing by ARM, our lead partners, and the community to ensure that it is stable, mature and efficient. ARM Compiler 6 makes use of Clang for the compiler front-end, whilst also retaining familiar sub-tools such as armasm, armlink, armar and fromelf.
Beyond the Future
ARM Compiler 6 is the reference compiler for the ARMv8 architecture and it is the choice of many ARM engineers working on the next generation products. With ARM Compiler 6, you get the earliest access to support for new ARM IP, giving you a head-start in code generation.
Collaborating to Bring the Code-Base Forwards
It’s easier than ever to collaborate with ARM on compiler customizations, making use of the open source framework and the associated LLVM community. ARM is committed to supporting the LLVM community and leveraging the open source for collaboration with our partnership and academia.
End customers benefit from LLVM’s modular framework and well defined interfaces making the code base easier to work with, helping to expedite new feature development. Tuning, testing and implementation are all much faster with LLVM.
Faster, Better, Stronger
Faster: ARM Compiler 6 gives up to 42% reduction of build time comparing to ARM Compiler 5 and makes better use of your hardware resource: a faster compiler means the same tasks can be completed in shorter time or, alternatively, more jobs can be run at the same time without upgrading your hardware.
Better: With C++11 and C++14, ARM Compiler 6 brings the support for the very latest C++ standards. Improve the readability of your code with the new keyword auto or improve performance of your classes by using Rvalue references and move constructors. ARM Compiler 6 improves the productivity during your software development activities by giving detailed and exhaustive error and warning messages.
Stronger: under the scrutiny of ARM engineers and hundreds of developers around the world, ARM Compiler 6 is a stable and robust toolchain. The testing framework used to validate ARM Compiler 5 has been enhanced and adapted to ARM Compiler 6 as a guarantee of the quality of tools, perfect for your new generation of products.
Migrating to ARM Compiler 6
Migration to ARM Compiler 6 from previous versions of ARM Compiler is simplified by our comprehensive migration guide: providing useful information regarding the differences between ARM Compiler 6 and earlier versions, the ARM Compiler migration guide explains variations in source code compatibility and command line options.
ARM Compiler 6 improves the compatibility with GNU GCC, making the task of porting code easier and with the support of the community and ARM engineers.
|Platform||ARM Compiler 5||ARM Compiler 6
|ARM Compiler 6
|ARMv8-A (e.g. Cortex-A72)|
|ARMv7-A (e.g. Cortex-A7)|
|ARMv7-M (e.g. Cortex-M3)||(*)||(*)|
|ARMv7E-M (e.g. Cortex-M7)||(*)||(*)|
|ARMv7-R (e.g. Cortex-R7)||(*)||(*)|
|ARMv6-M (e.g. Cortex-M0+)||(*)||(*)|
|ARMv6 and previous (e.g. ARM11)|
(*) Beta support