armcc and armclang are the compilers for embedded C and C++ code. Recently, armclang has been gaining popularity as an alternative compiler.
What is the difference between armcc and armclang? Is there an advantage to using armclang?
The difference is what you'd expect if you give two different groups of people the same task like, "implement a compiler for this language" or "build a house from this blueprint".
The observable behavior of programs compiled with either compiler should be the same (and most often is) but there will be differences in how the final program achieves the observable behavior.
You can look at the executable's size, the assembly code and do performance measurements (benchmarking) to notice these differences - and then decide which one that suits your needs the best.