ARM is moving its future compilers to open-source under the LLVM license in a fundamental shift away from proprietary technology.
ARM Compiler 6 supports the coming 64bit ARMv8 architecture and will be integrated into future versions of the DS-5 development suite for high- and system-on-chip development. This will also become the basis of the compiler for microcontroller projects.
“The benefit for our users is greater feature velocity from open source,” said Daniel Owens, product manager for software development tools at ARM. “The ARM v8 backend is in open source today as it goes into open-source first, then we pull it back in for integration and testing in DS-5.”
V8 will be supported out of the gate and then V7A and R, and that will happen by the end of this year. Following on is V7M, probably in 2015, so Keil will stay with V7 through that time, he said.
ARM bought Keil eight years ago, and at that time the tools were a separate tool chain with their own compiler, but they quickly adopted the RVDS RealView Compilation tools.
“DS-5 and Keil have the same proprietary compiler but they are still separate tool chains because they are different in the way they operation and we just haven’t had the engineering capacity to merge those two,” said Owens. “For DS-5 we have been building in microcontroller features so eventually it will cover this. We don’t want to force people over but allow them to move at their own pace and that’s why we are slowly adding features for microcontrollers into DS-5.”
The licensing is the most distinguishing feature, he said. LLVM is more attractive to corporate contributors versus people who are just hobbyist or enthusiasts. Intel, Nvidia, Google, and Qualcomm have all been heavy contributors because they are not fond of GPL for obvious reasons.
“We own the architecture and having a compiler that improves the performance, code size and power consumption that is a proprietary has never been popular with the partnerships so what are moving into the open. Then customers have the option to take that from the open source and build their own tool chain or take the DS-5 bundle so it’s really the best of both worlds."
ARM has supported GCC open-source but LLVM will form the basis of all new compiler technology developments.
“We have invested heavily in GCC over the years, that’s the basis for Linux and Android so that’s not going away any time soon,” he said. “LLVM has more features such as just in time compilation and link time optimisation so this is the basis for the next 25 years.”
He added: "We have shipped GCC inside DS-5 for years but when we looked at the new networking, server, and multicore applications we weren’t able to push that technology where it needs to go so we either had to develop a new compiler, but that would take 8 to 10 years, or use something that’s already out there. LLVM gives us the ability to collaborate with partners and even the academic community so it’s an easy choice to use that as the framework for our tools."