Описание тега lto

LTO сокращает оптимизацию времени соединения. LTO - это этап оптимизации, применяемый к скомпилированной программе на этапе связывания, с тем преимуществом, что все скомпилированные объектные файлы, составляющие программу, затем могут быть проанализированы вместе. Обычная оптимизация выполняется только компилятором, который может генерировать и оптимизировать только один объектный файл за раз.
1 ответ

cmake, сохранение флагов ссылок внутренних библиотек

В src/foo я создаю lib foo, связанный с -lwhwhat add_library(foo foo.cpp) target_link_libraries(foo -lwhatever) В src/bar я использую foo add_executable (bar bar.cpp) target_link_libraries(bar foo) Может быть, благодаря LTO, но мне нужно добавить -l…
10 ноя '14 в 18:55
1 ответ

Возможность плагина LLVM LTO Pass?

Мне было интересно, возможно ли в настоящее время провести "внешний" (.so/.dylib) плагин (модуль) LLVM, запланированный на время LTO? Причина, по которой я хочу этого, - это интермодульная оптимизация, которую я хочу добавить. Я также нашел эту тему…
06 окт '15 в 16:08
2 ответа

arm-linux-androideabi-g++: -fuse-linker-plugin, но liblto_plugin.so не найден

Когда я скомпилировал Chrome V8 под Ubuntu 12.04, я столкнулся с проблемой, которая arm-linux-androideabi-g++: фатальная ошибка, -fuse-linker-plugin, но liblto_plugin.so не найден Версия ndk - r8b. Как я могу решить эту проблему?
09 окт '13 в 12:49
1 ответ

Как включить LinkTimeOptimization с помощью Clion?

Я хотел бы оптимизировать время ссылки моей программы. Где я должен ввести его, чтобы включить его? Если это имеет значение (надеюсь, что нет): я использую MinGW-w64 5.0 на Windows. редактировать: я действительно не понимаю, почему это не имеет знач…
09 авг '16 в 13:18
0 ответов

Связывание не выполняется, если включена оптимизация времени ссылки

У меня есть (большой) проект wxWidgets, который плавно компилируется и на более высоких уровнях оптимизации. Теперь я включил Оптимизацию всей программы (/GL) для строительных объектов и Link Time Generation Generation (/LTCG) в настройках этого про…
2 ответа

LTO на Android с лязгом - это должно работать?

У меня есть проект NDK, который составлен GCC, Теперь я пытаюсь скомпилировать это с clangи работает, кроме одного: как только добавлю APP_CFLAGS += -flto (который работает с GCC), компоновщик говорит "недопустимый символ" для каждого и каждого .o ф…
04 июн '15 в 08:10
1 ответ

Требования к использованию flto

Если я хочу скомпилировать свой проект с -flto Достаточно ли, чтобы построить GCC с --enable-gold или мне тоже нужно собрать золото и заменить на него ld? И мне нужны какие-нибудь другие флаги? Т.е. я делаю это gcc -flto one.c two.c
28 июл '15 в 22:16
1 ответ

Неопределенная перекрестная компиляция ссылок с использованием LTO в GCC

Я пытаюсь использовать GCC 4.9.2 для кросс-компиляции приложения из Linux (x86_64-pc-linux-gnu) для Windows (x86_64-w64-mingw32). При создании целей, которые связываются со статическими библиотеками, а также с использованием оптимизации времени соед…
09 дек '14 в 06:24
3 ответа

LTO с LLVM и CMake

Я пытаюсь применить Link Time Optimization с LLVM к проекту CMake, который создает общую библиотеку. Мой вопрос почти такой же, как этот: Переключение между GCC и Clang / LLVM с использованием CMake. Тем не менее, ответы, кажется, больше не применим…
10 мар '16 в 17:12
1 ответ

Может ли программа gcc определить, когда включена оптимизация времени соединения (-flto)?

У меня есть код, который ДОЛЖЕН иметь включенную оптимизацию времени соединения, чтобы работать правильно. Мне нужна постоянная оценка выражения: extern const char[] PROGMEM constantTable = {1,2,3,4,5}; : char x = constantTable[4]; (PROGMEM - это ко…
08 ноя '18 в 00:01
3 ответа

Как написать пользовательский межмодульный проход в LLVM?

Я написал стандартный проход анализа в LLVM, расширив класс FunctionPass. Кажется, все имеет смысл. Теперь я хотел бы написать пару межмодульных проходов, то есть проходов, которые позволяют мне анализировать более одного модуля за раз. Целью одного…
12 май '15 в 18:01
1 ответ

Статически связанный исполняемый файл с LTO (оптимизация времени соединения): как сделать это с ранее созданными библиотеками

В Ubuntu с g++4.9 я собрал статическую библиотеку (назовем ее libZeroMQ.a), следуя ее инструкциям, и она была собрана без "-flto" (оптимизация времени ссылки). Сейчас я работаю над проектом (назовите его MyEXE), который использует libZeroMQ.a, и я б…
19 май '17 в 13:35
1 ответ

LLVM 3.3 с набором инструментов TileGX и LTO не работает

У меня есть простая программа HelloWorld.c (поэтому я помещаю ее сюда), которую я пытаюсь собрать с версией 3.3 clang с включенным LTO, которая выдает странные ошибки. Я строю это с cmake с использованием -DCMAKE_TOOLCHAIN_FILE, Я могу успешно постр…
12 фев '19 в 22:18
0 ответов

GCC LTO - fno-fat-lto-objects поддерживаются только с плагином linker

Я пытаюсь использовать LTO в моей базе кода. я использовал -flto флаг во время компиляции и ссылки. Он создал толстые объекты, но двоичный файл, сгенерированный после компоновки, остался таким же, как и без использования LTO (без разницы в размере и…
24 окт '18 в 07:33
1 ответ

Неопределенные ссылки с оптимизацией времени соединения

Я пытаюсь связать статическую библиотеку с исполняемым файлом, следуя этому примеру, но на MinGW-w64. Мой файл CMakeLists: (обратите внимание, что это идентично тому, что в этом ответе) cmake_minimum_required (VERSION 2.6) project (hellow) SET(CMAKE…
01 окт '17 в 12:19
0 ответов

Как скомпилировать библиотеку Linux LTO с поддержкой Premake 5?

ТАКАЯ мудрость, я обращаюсь к тебе. Я пытаюсь создать 64-битную статическую библиотеку, используя LTO с Makefiles и Premake 5 на Ubuntu 16.04 LTS. Вот сценарий premake, который я использую: -- premake5.lua workspace "TestApp" location "TestApp" -- T…
23 июл '17 в 12:43
0 ответов

pybind11 lto-wrapper не удалось

У меня проблема с созданием существующей библиотеки C++, которая обеспечивает доступ к Python. Часть файла CMake: pybind11_add_module(py_env ${SRC}/py_env.cpp) target_link_libraries(py_env PRIVATE grl pthread dl yaml-cpp) set_target_properties(py_en…
14 дек '17 в 17:39
2 ответа

Использование оптимизации времени соединения GCC со статическими связанными библиотеками

Я пытаюсь использовать оптимизацию времени соединения с -flto флаг GCC (6.1.1). Хотя он отлично работает с моим кодом, он не связывается со статической связанной библиотекой, которую я также строю и связываю с моим проектом (это Engine, а библиотека…
30 авг '16 в 20:53
4 ответа

Предотвратить GCC LTO от удаления функции

Я работаю с GCC-ARM-Embedded и FreeRTOS. FreeRTOS имеет функцию vTaskSwitchContext() который используется только в некотором встроенном коде ассемблера. Проблема в том, что когда я использую LTO, GCC не учитывает встроенный код ассемблера и думает, …
15 июл '16 в 06:56
0 ответов

binutils и gcc с LTO

У меня binutils-2.25.1 установлен в /usr/local/binutils-2.25.1, настроен с ../configure --prefix=/usr/local/binutils-2.25.1 --enable-plugins --enable-gold --disable-werror И я хочу собрать пакет RPM - gcc с поддержкой LTO, который использует линкер …
24 сен '15 в 22:10