Oracle Developer Studio , ранее называвшаяся Oracle Solaris Studio , Sun Studio , Sun WorkShop , Forte Developer и SunPro Compilers , является флагманским продуктом разработки программного обеспечения корпорации Oracle для операционных систем Solaris и Linux . Он включает в себя оптимизирующие компиляторы C, C++ и Fortran , библиотеки и инструменты анализа производительности и отладки для Solaris на платформах SPARC и x86, а также Linux на платформах x86/x64, включая многоядерные системы.
Oracle Developer Studio можно загрузить и использовать бесплатно; однако существует множество обновлений безопасности и функциональности, которые доступны только при наличии контракта на поддержку от Oracle. [3]
В версии 12.4 добавлена частичная поддержка стандарта языка C++11 . [4] Поддерживаются все функции C++11, за исключением параллельных и атомарных операций, а также определяемых пользователем литералов. Версия 12.6 поддерживает стандарт языка C++14 . [5]
В комплект программного обеспечения Oracle Developer входят:
Для генерации кода используется общий оптимизирующий бэкэнд.
Используется промежуточное представление высокого уровня, называемое Sun IR , и оптимизации высокого уровня, выполненные в компоненте iropt (оптимизатор промежуточного представления), работают на уровне Sun IR. Основные оптимизации включают:
-xvector=simd
API распараллеливания общей памяти OpenMP является родным для всех трех компиляторов.
Tcov — инструмент анализа покрытия исходного кода и пооператорного профилирования — поставляется в качестве стандартной утилиты. Tcov генерирует точные подсчеты количества выполнений каждого оператора в программе и аннотирует исходный код для добавления инструментирования.
Утилита tcov предоставляет информацию о том, как часто программа выполняет сегменты кода. Она создает копию исходного файла, аннотированную с указанием частоты выполнения. Код может быть аннотирован на уровне базового блока или на уровне исходной строки. Поскольку операторы в базовом блоке выполняются одинаковое количество раз, количество выполнений базового блока равно количеству раз, когда выполняется каждый оператор в блоке. Утилита tcov не создает никаких временных данных.
Компилятор GCC для систем SPARC (GCCFSS) использует фронтенд GNU Compiler Collection (GCC) с кодогенерирующим бэкендом компилятора Oracle Developer Studio. Таким образом, GCCFSS способен обрабатывать директивы компилятора, специфичные для GCC, а также использовать преимущества оптимизации компилятора в бэкенде компилятора. Это значительно облегчает перенос приложений на основе GCC на системы SPARC.
GCCFSS 4.2 добавляет возможность использования в качестве кросс-компилятора ; двоичные файлы SPARC могут быть сгенерированы на машине x86 (или x64) под управлением Solaris. [8]
До отмены Rock был бы первым процессором общего назначения, поддерживающим аппаратную транзакционную память (HTM). Компилятор Oracle Developer Studio используется рядом исследовательских проектов, включая Hybrid Transactional Memory (HyTM) [9] и Phased Transactional Memory (PhTM), [10] для исследования поддержки и возможных оптимизаций HTM.
– Источник: [11]