Компания ARM заявила о скором выходе нового сборочного инструментария. Его называют ARM Compiler 6, и он примечателен тем, что компания в этот раз отказалась от использования компиляторов GCC в пользу других -Clang и других наработок LLVM. В заявлении было сказано, что ARM Compiler 6 будет эталоном инструментария для генерации кода на архитектуре ARM, а так же процессоров на базе архитектур ARMv8 и ARMv7-A, и, например, серии ARM Cortex-A50.
Этот инструментарий состоит из полного сборочного окружения, предоставляющего C/C++ компилятор, компоновщик кода, набор библиотек и свой ассемблер. Предоставляемые библиотеки специально оптимизированы под архитектуру ARM. Это обеспечивает максимальную производительность и минимизацию размера кода. Новый набор инструментов этой компании полностью избавился от элементов с лицензией GPL. Этот инструментарий будет поставляться исключительно в составе продукта DS-5 DevelopmentStudioUltimateEdition.
Одна из главных причин использования именно Clang/LLVM – это модульная структура, которая упрощает создание улучшений и новых архитектур. Они так же поставляют расширенные средства для оптимизации кода и его статического анализа. Еще один плюс – продукция распространяется под лицензией BSD, что позволяет связывать код с проприетарными продуктами и не требует открытия производственных работ.
Несмотря на это, работа по улучшению поддержки ARM в LLVM ведется в открытых рамках и интегрируется в основную кодовую базу проекта.
Очень важно то, что все компании заинтересованные в развитии архитектуры ARM присоединились к разработке LLVM. В результате совместных работ прослеживается быстрое увеличение качества продуктов. Компании так де поработали над производительностью и энергоэффективностью кода, который генерируется для процессоров на базе этой архитектуры. В процессе работ, сильно быстро развилась тестовая инфраструктура, а так же оптимизировалась производительность процесса.
После перехода ARM на Clang, у него появилось несколько новых возможностей. Например, расширение средств для диагностики проблем в коде, которые позволяют выявить ошибки на начальных стадиях разработки и упрощают процесс отладки программы. А так же, теперь при компиляции можно использовать большое количество техник генерации кода программы.
Да и такой гигант индустрии как Apple присоединился к инициативе компаний. Они создали новый бэкэнд для поддержки AArch64/ARM64 в Clang. Его использовали для сборки iOS для iPhone 5S.