The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз GCC-плагина DragonEgg 2.8

13.10.2010 10:06

Увидел свет релиз проекта DragonEgg 2.8, представляющего собой плагин к набору компиляторов GCC 4.5, заменяющий оригинальные оптимизаторы и генераторы кода GCC на аналоги, созданные в рамках проекта LLVM. DragonEgg предоставляет наиболее простой способ использования технологий LLVM без модификации кода GCC (при сборке достаточно добавить "-fplugin=path/dragonegg.so").

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

Из улучшений, добавленных в DragonEgg 2.8, можно отметить:

  • Синхронизация с кодовой базой LLVM-2.8;
  • Сокращено число экспортируемых символов, что позволило ускорить загрузку плагина;
  • Реализованы дополнительные векторные оптимизации, такие как addps256;
  • Для языка Ada не инициализированные глобальные переменные больше не обнуляются, что в результате привело к более высокой оптимизации кода;
  • Флаг '-fplugin-arg-dragonegg-enable-gcc-optzns' теперь может выполнять любые оптимизаторы GCC;
  • Налажен процесс связывания программ на языке Фортран, использующих общие переменные;
  • Устранена проблема с крахом компилятора, при работе конструкций GNU OMP.


  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Новая версия набора компиляторов LLVM 2.8
  3. OpenNews: GCC-плагин DragonEgg достиг возможности собственной пересборки
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/28264-gcc
Ключевые слова: gcc, llvm, plugin, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:41, 13/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и что, этот плугин оптимизит лучше чем стандартные средства gcc? не верю!
     
     
  • 2.2, Aquarius (ok), 10:56, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а никто этого и не утверждал (?)
     

  • 1.3, Dron (ok), 10:56, 13/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    llvm в плане оптимизации пока отстает от gcc... Но зато он развивается гораздо стремительнее. Не пройдет и года как gcc отправится на свалку истории. :)

    Кроме того llvm значительно информативнее рапортует об ошибках. Причем диагностирует больше, чем gcc. Для разработчиков очень ценное качество.

    В чем смысл сабжа - не знаю :)

     
     
  • 2.12, User294 (ok), 16:36, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Не пройдет и года как gcc отправится на свалку истории. :)

    А этот ваш год - это по масштабам какой планеты? Зуб даю что не планеты Земля :). Или у вас есть железная уверенность что через год LLVM будет генерить мипсовые инструкции оптимальнее гцц? :)

     
     
  • 3.15, Dron (ok), 16:43, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Не пройдет и года как gcc отправится на свалку истории. :)
    > А этот ваш год - это по масштабам какой планеты? Зуб даю
    > что не планеты Земля :). Или у вас есть железная уверенность
    > что через год LLVM будет генерить мипсовые инструкции оптимальнее гцц? :)

    llvm сделан правильнее... gcc за ним не угонится.
    FreeBSD уже отказывается от gcc - но у них мотивы другие, лицензионные.

    Год или не год - видно будет в конце 2011 :)
    Надо где нибудь записать - то дескать великий я предсказал смерть gcc в конце 2011. :D

     
  • 3.16, аноним (?), 16:57, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > мипсовые инструкции оптимальнее гцц? :)

    Поверьте, будет. Как человек, разрабатывающий под MIPS скажу - хуже, чем это делает gcc сделать сложно.

     
  • 2.17, Кракен (?), 16:57, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Кроме того llvm значительно информативнее рапортует об ошибках.

    Причем тут llvm? clang - да.

     

  • 1.4, Толстый_ (?), 11:37, 13/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    лучше бы не тратили время на плагин к gcc, а работали непосредственно над clang и llvm. Разработчики gcc этого не оценят, а толку все равно немного. Лучше бы реализовали эти чертовы исключения в Windows.
     
     
  • 2.5, Sylvia (ok), 12:20, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    итак работают
    а плагин - всего-лишь замена llvm-gcc для более современных версий GCC >= 4.5.x ( llvm-gcc 4.2.1 )
     
  • 2.7, fr0ster (ok), 14:43, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Это не для разрабов гцц, а для пользователей.
     
  • 2.9, Andrey Mitrofanov (?), 15:36, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >лучше бы не тратили
    >а работали непосредственно
    >Лучше бы реализовали эти чертовы исключения в Windows.

    Поддерживаю!! Начинай быстрее!!!

     
  • 2.13, User294 (ok), 16:39, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Лучше бы реализовали эти чертовы исключения в Windows.

    Думаю что кому надо - тот и реализует.


     

  • 1.6, Геннадий (??), 14:41, 13/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наконец то может быть будут сломаны старые устои. Надоел уже gcc, надеюсь llvm будет лучше и прозрачнее для меня как для разработчика.
     
     
  • 2.8, pavlinux (ok), 14:57, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Наконец то может быть будут сломаны старые устои. Надоел уже gcc, надеюсь
    > llvm будет лучше и прозрачнее для меня как для разработчика.

    Прозрачные программисты рисуют квадратики, ромбики и стрелочки, сохраняют в UML и
    отдают на пожирание кодогенератору и 5 числа каждого месяца получают бабло.

    Алгоритмические художники! Ёпть, Архитекторы Матриц!  :)


      

     
     
  • 3.14, User294 (ok), 16:40, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А, так вот почему матрицу все хакали... там оказывается бредогенераторы код генерили :)
     
  • 2.19, Xaionaro (ok), 18:34, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А я наоборот привык к gcc и мне лень осваивать какие-то там llvm :(
     
     
  • 3.20, Crazy Alex (??), 20:24, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Э... А что вы с компилятором делаете, что его надо "осваивать"?
     
  • 3.22, аноним (?), 22:11, 13/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А я наоборот привык к gcc и мне лень осваивать какие-то там
    > llvm :(

    К чему там привыкать, тем более что clang/clang++ - drop-in замена gcc/g++? Ошибки показывает гораздо нагляднее, код генерирует более эффективный, больше, собственно, ничего не нужно.

     
     
  • 4.24, Аноним (24), 10:19, 14/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ... код генерирует более эффективный ...

    Пруфлинк?

     

  • 1.25, Mna (??), 15:14, 15/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > до достаточно высокого уровня доведена работоспособность DragonEgg для языков
    > Си и Си++ <...> много работы предстоит проделать для поддержки Java.

    А что надо для поддержки Java? надо чтоб VM-kit стал нормальным, или что?
    Вроде фронтэнд gcc (gcj) парзит Jav'у нормально, но что там с бэкэндом?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру