LINUX.ORG.RU

Llvm


48

0

Всего сообщений: 47

GCC-плагин DragonEgg прошёл тест на самосборку

Группа Open Source

Разработчики проекта LLVM сообщили о новом достижении - GCC-плагин DragonEgg достиг состояния, позволяющего пересобрать самого себя. В начале с использованием DragonEgg были пересобраны исходные тексты GCC-4.5, LLVM и dragonegg, а затем эксперимент был повторен с задействованием для пересборки свежескомпилированного бинарного файла.

DragonEgg представляет собой подключаемый к набору компиляторов GCC плагин, позволяющий в максимально прозрачном режиме использовать в стандартном GCC оптимизаторы и генераторы кода, разработанные в рамках LLVM.

В настоящий момент до достаточно высокого уровня доведена работоспособность DragonEgg для языков Си и Си++, частично реализована поддержка Fortran и Ada, хуже обстоят дела с поддержкой Obj-C и Obj-C++, много работы предстоит проделать для поддержки Java. На текущей стадии развития DragonEgg поддерживает архитектуры x86-32 и x86-64, может работать в Linux и Darwin.

Запись в блоге LLVM

>>> Взято с Opennet.ru

 , , ,

jeuta
()

Успешный бутстрап (bootstrap) Clang

Группа Open Source

Clang наконец-то способен откомпилировать сам себя!

Сегодня Clang впервые успешно выполнил бутстрап самого себя (более 550 тысяч строк на C++). Результирующие бинарники прошли все регрессионные тесты Clang и LLVM, а Clang, откомпилированный Clang'гом смог потом откомпилировать весь LLVM и Clang снова. Получившийся Clang (третий этап) также был полностью функциональным и таким образом завершил бутстрап.

Поздравляем всех разработчиков LLVM и Clang с этим важным этапом развития их проекта!

>>> Подробности

 , , ,

val-amart
()

LLVM 2.6

Группа Open Source

Шесть месяцев усердной разработки принесли свежие плоды: релиз Low-Level Virtual Machine за номером 2.6.

  • Архитектуры
    • Серьёзно и основательно доработана кодогенерция x86-64
    • Поддержка архитектуры ARM V7 (включая Thumb2 и NEON)
    • Новые кодогенераторы для MSP430, SystemZ, и BlackFin
    • SSE 4.2
  • Новые виды оптимизации
  • Многопоточная компиляция и оптимизация кода
  • Оптимизация при линковке на ELF-архитектурах (плагин 'gold linker')
  • Clang
    • Компилятор для C и Objective-C перешёл в статус «production quality» на х86
    • По сравнению с GCC у Clang улучшены сообщения об ошибках и предупреждениях
    • Компиляция проходит в 3 раза быстрее, чем у GCC
  • Новые подпроекты:
    • compiler-rt: Compiler runtime library
    • KLEE: Symbolic Analysis & Test Case Generator
    • DragonEgg: «llvm-gcc» плагин для GCC 4.5
    • llvm-mc: фреймворк, ориентированный на операции с машкодом, в том числе ассемблер, дисассемблер и проч. Проект находится в ранней стадии.

Проект LLVM находит всё более широкое применение в самых различных областях. На данный момент:

  • Компания Apple использует LLVM для оптимизаций в OpenGL
  • Проекты Rubinius и MacRuby являются реализациями виртуальных машин языка Ruby
  • LLVM D компилятор
  • Unladen Swallow (Python)
  • Roadsend PHP compiler и многие другие

>>> Подробности

 , , ,

shahid
()

Unladen Swallow: новая реализация интерпретатора Python на базе LLVM

Группа Open Source

В лучших традициях большинства популярных интернет-ресурсов и по просьбе читателей мы делаем репост интересной новости от 28 марта 2009 года, исправленный и дополненный.

Несколько сотрудников компании Google, принимающие участие в разработке CPython, объявили о выпуске новой версии высокопроизводительной экспериментальной реализации интерпретатора языка Python — Unladen Swallow, в которой производится обкатка некоторых идей по существенному увеличению производительности.

Основные задачи:

  • Довести свою ветку Python до, как минимум, пятикратного увеличения производительности по сравнению с классическим CPython.
  • Производительность Python-приложений не должна опускаться ниже определённого уровня.
  • Доработка совместимости на уровне исходного кода с приложениями и расширениями CPython.

Хотя разработчики пока не рекомендуют использование данного ПО в промышленной эксплуатации, оно уже проходит все стандартные тесты на совместимость с базовой реализацией языка. Команда Unladen Swallow не планирует создавать форк Python - лишь заниматься поддержкой собственной ветки.

>>> Подробности

 , , ,

wyldrodney
()

Проект FreeBSD намерен сменить GCC на LLVM+Clang

Группа BSD

В квартальном отчете проекта FreeBSD сообщается о желании заменить набор компиляторов GNU Compiler Collection на связку LLVM и Clang, в текущее время развиваемого корпорацией Apple. Сообщается, что на текущий момент новый компилятор удачно справляется с 99% пакетов, в том числе и с ядром FreeBSD на архитектурах i386 и amd64. Разработчики команды FreeBSD уже отправили более 100 багрепортов в проект Clang.

>>> Подробности

 , , ,

shahid
()

Проект Unladen Swallow

Группа Open Source

Проект Unladen Swallow ("Ласточка налегке", отсылка к Monty Python) имеет целью увеличить производительность интерпретатора Python 2.6.1 минимум в 5 раз. при этом сохраняя совместимость со всеми Python-приложениями и модулями расширения. Проект не рассматривается как форк Python, и все усовершенствования планируется слить в основную ветку.

Самое существенное намеченное изменение - использование LLVM вместо текущей Python-специфичной VM, но запланированы и менее радикальные изменения, направленные на быстрое получение практически полезного ускоренного Python - усовершенствования "классического" интерпретатора (ceval.c), GC, внутренних структур данных, и эксперименты с новейшими GCC. Работа будет разбита на несколько этапов, с ежеквартальными релизами. Более подробный план работы здесь: http://code.google.com/p/unladen-swal..., уже достигнутые результаты здесь: http://code.google.com/p/unladen-swal....

Ссылка на Monty Python: http://www.armory.com/swallowscenes.html

Да, и регулярные выражения тоже планируется починить ;)

>>> Подробности

 , , ,

tailgunner
()

Вышел LLVM 2.2

Группа Open Source

LLVM -- это оптимизирующий компилятор из C, C++ и других языков в низкоуровневое представление, имеющее много общего с системой команд RISC-процессоров, а также трансляторы (статические и для преобразования "на лету") из этого промежуточного представления в команды обычных процессоров. LLVM поддерживает эффективную оптимизацию на этапах компиляции, компоновки (в том числе между процедурами) и выполнения, оставаясь "прозрачным" для разработчиков и сохраняя совместимость с существующими скриптами сборки.

Новое в версии 2.2:

  • генерация кода для процессоров Cell
  • экспериментальная поддержка преобразования Ada и FORTRAN через gcc-backend в промежуточное представление
  • поддержка типа long double на x86/x86_84 (80 бит) и Darwin PPC/PPC64 (128 бит)
  • поддержка более чем одного адресного пространства
  • в комплект поставки включены учебные руководства

>>> Подробности

 ,

AEP
()