The OpenNET Project / Index page

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



"Релиз набора компиляторов LLVM 11.0 "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Релиз набора компиляторов LLVM 11.0 " +/
Сообщение от erthink (ok), 16-Окт-20, 15:45 
>>> Т.е не ясно, почему 1й вариант, а не 2й.
>> Там четыре варианта в зависимости от целевого ядра.
>> Поиграйтесь флагом -march на https://godbolt.org/z/j9q4oG
>
>Так варианты машинного кода не объясняют причину, почему выбрана именно такая. В моём случай "ясно", это когда я найду что-то вроде:

Ну как-бы очевидно что компилятор руководствуется подобными правилами, которые более-менее скрупулезно закодированные у него внутри.
С явным описанием таких правил у Штеуда достаточно плохо, по многим инструкциям нет даже базовой информации.
Если хотите поднатореть в этом больше чем позволяют официальные штеуд-мануалы и (например) рекомендации Agner Fog, то это болезненный и малополезный путь.

> Почему GCC не заинлайнил функцию из 5-ти строк, вызываемую из единственного места, загадка.

Чудес не бывает.
Вероятно, она объявлена не static и visibilty для DSO оставлен по-умолчанию, что заставляет GCC допускать возможность переопределения функции в другом DSO.
Либо еще какие-то проблемы с опциями оптимизации.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз набора компиляторов LLVM 11.0 , opennews, 12-Окт-20, 22:53  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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