ARM adopts open-source platform for upcoming compilers
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 multi-core 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."
The move to LLVM open-source will not create a free tool suite either, he said. "I don't think it will pull down the cost of DS-5; the value is about the full integrated package for end-to-end development all the way from an emulator or FPGA all the way to the finished device.
"ARM Compiler 6 will be another choice with our proprietary tools around it. Long term we want to pull the compilers out and have them as plug-ins to eclipse as they are big and the whole package is getting big, but we are not there yet. You can plug in your own version of GCC today into Eclipse and we ship the Linaro GCC compiler because that's the one we invest in.
"Lead customers are already using the new LLVM technology. We have a v8 tool chain today that's not public; it's been in use by our lead partners for a couple of years now. We will also announce the public availability of that previously private tool chain, effectively it's DS-5 Ultimate, which is DS-5 Pro with the new compiler and support for ARM v8.
"The tools for v8 are not new for ARM, the real announcement is the new compiler and we really need to have a good silicon platform to start doing the optimisation. We will have platforms this year and we have optimisations planned for both GCC and LLVM and as its open source, anyone can go and do their benchmarks. In the past the proprietary compiler we did not allow open benchmarking, but now anyone can run their own benchmarks. All of the optimisations will go back into open-source first and then pull in a snapshot for the commercial product."
- Nick Flaherty
EE Times Europe
|Related Articles||Editor's Choice|
|Related Articles||Editor's Choice|