Компания AMD выпустила оптимизирующий C/C++ компилятор AOCC 1.2

Компания AMD представила выпуск компилятора AOCC 1.2 (AMD Optimizing C/C++ Compiler), построенного на базе LLVM и включающего дополнительные улучшения и оптимизации для 17 семейства процессоров AMD на базе микроархитектуры Zen, например для уже выпускаемых процессоров AMD Ryzen. Компилятор также содержит общие улучшения, связанные с векторизацией, генерацией кода, высокоуровневой оптимизацией, межпроцедурным анализом и преобразованием циклов. По умолчанию задействован компоновщик LLD. В поставку входит оптимизированный вариант математической библиотеки libm — AMDLibM. Компилятор доступен для 32- и 64-разрядных Linux-систем. Предлагаемые для загрузки исполняемые файлы протестированы в RHEL 7.4, SLES 12 SP3 и Ubuntu 16.04 LTS. AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения.

В новом выпуске кодовая база обновлена до ветки LLVM 6.0. Добавлены средства для блокирования второго варианта уязвимости Spectre (CVE-2017–5715), основанные на использовании механизма Retpoline (применение специальной последовательности инструкций, исключающей вовлечение механизма спекулятивного выполнения для косвенных переходов). Представлен Flang, экспериментальный фронтэнд для языка Fortran, дополняющий ранее доступный фронтэнд DragonEgg Fortran, поддержка которого полностью сохранена. Внесены дополнительные оптимизации.

© OpenNet