armclang vs clang

ARM compiler version 6 toolchain uses armclang which is built on LLVM component; clang. In the ARM toolchian, we then have armlink, fromelf and armar. On the LLVM side, we have similar counterparts. So basically one can use LLVM infrastructure and not use ARM toolchain at all for his/her ARM based SoC firmware development. This will be cost effective, but I'm more interested in performance, code size, generated assembly and those kind of differences between the two (armclang and clang). Is there a clear winner here ? 

  • Apologies for the slow reply, I must have missed this when it was first posted.

    Arm do not publish performance differences between different compilers. However the primary differences will come from the features you describe, with optimized C libraries, proprietary linker functionality, and other such toolchain specific features. Optimization can be tuned (with both toolchains) for performance or code size. If code size is the key metric for you, I recommend using the Arm Microlib.