Публикации по теме 'llvm'


Написание LLVM Pass в 2018 - Предисловие
Написание LLVM Pass в 2018 - Предисловие TL; DR: Официальное руководство все еще работает, но оно давно устарело Вы написали пропуск HelloWorld, следуя официальному руководству … А теперь вы хотите узнать больше, увидеть больше… Итак, вы погрузитесь в чудесное дерево исходных кодов LLVM, чтобы увидеть, как эти знаменитые и мощные оптимизации записываются в проходах… Но оказывается, что меня смущает экзотический синтаксис построения проходов, который не похож на учебник,..

Вопросы по теме 'llvm'

Встроенный анализатор в Xcode 3.1.4
Интересно, делает ли встроенный анализатор в Xcode 3.1.4 избыточным использование статического анализатора LLVM / Clang отдельно? См. Исходную статью здесь: Поиск утечек памяти с помощью статического анализатора LLVM / Clang Спасибо.
421 просмотров
schedule 28.02.2024

Как реализован LLVM isa‹›?
Из http://llvm.org/docs/CodingStandards.html#ci_rtti_exceptions LLVM широко использует ручную форму RTTI, в которой используются такие шаблоны, как isa‹>, cast‹> и dyn_cast‹>. Эта форма RTTI не является обязательной и может быть добавлена...
6816 просмотров
schedule 04.03.2024

Сборка мусора переопределена в LLVM 3?
Я читал о том, что LLVM v3 использует статический анализ кода для реализации своего рода автоматической сборки мусора, которая подготавливается и выполняется во время компиляции. Если компилятор статически вставляет, сохраняет и выпускает, тогда...
1627 просмотров
schedule 18.04.2024

LLVM вставляет встроенную функцию Cos
Я пытаюсь вставить встроенный вызов функции cos() в проход LLVM. Мой код в FunctionPass: std::vector<Type *> arg_type; arg_type.push_back(Type::getFloatTy(getGlobalContext())); Function *fun = Intrinsic::getDeclaration(F.getParent(),...
2951 просмотров
schedule 08.04.2024

Разница между LLVM, GCC 4.2 и компилятором Apple LLVM 3.1
В чем основные различия между LLVM GCC 4.2 и Apple LLVM compiler 3.1? Я новичок в компиляторах, поэтому приветствую любую помощь. Также меня особенно интересует, как два компилятора могут повлиять на производительность игры.
7446 просмотров
schedule 24.06.2022

Загрузка плагинов Haskell на лету
Мне нужно написать приложение Haskell, которое на лету загружает другие плагины Haskell. Плагин представляет собой произвольный исходный код, после загрузки он работает довольно долго, поэтому было бы полезно его как-то скомпилировать перед...
243 просмотров
schedule 05.12.2023

LLVM BasicBlock проход
Я новичок в LLVM. Я пытаюсь перемещаться между инструкциями BasicBlock и не могу. В этом конкретном примере я пытаюсь получить предыдущую инструкцию завершения. Я пробую 2 метода: У меня есть следующая последовательность кода: bool...
1429 просмотров
schedule 14.11.2022

ошибка сегментации в llvm ir
Я получаю ошибку seg fault при вызове memcpy (последняя строка) в следующем коде. Кто-нибудь может догадаться, почему? %gds0 = getelementptr i16* %ldcs0, i32 0 %gds0.i8 = bitcast i16* %gds0 to i8* %gdd0 = getelementptr i16* %ldcs0, i32 0 %gdd0.i8...
145 просмотров
schedule 07.03.2024

Некоторые проблемы при использовании Boost Library в Xcode
Я использую Xcode 4.5.2 и не хочу использовать Boost, но у меня есть некоторые проблемы. В настройках сборки, если я выберу libc++ (стандартная библиотека LLVM C++ с поддержкой C++11), я получу сообщение об ошибке «Ошибка компоновщика Apple Mach-O...
3758 просмотров
schedule 23.09.2022

Поддерживает ли CMAKE Python 3?
Я пытаюсь собрать Clang в Windows 7 с помощью CMAKE. Я выполнил следующие шаги; как указано в этом руководстве . Руководство ошибочно в одном аспекте: Python требуется , и без него cmake возвращает ошибку. Я предполагаю, что, поскольку cmake...
990 просмотров
schedule 08.02.2024

Скомпилируйте модули ядра Linux в битовый код LLVM .bc
Задний план Я пытаюсь скомпилировать определенные драйверы в ядре Linux: драйверы drm ( drivers/gpu/drm/drm_drv.o ) и radeon ( drivers/gpu/drm/radeon/ ) gpu. Я использую LLVM для целей статического анализа (отслеживание аргументов, используемых в...
2502 просмотров
schedule 14.12.2023

Подписка объектов Objective-C, iOS5 и GCC
У меня есть библиотека, скомпилированная с помощью компилятора Apple LLVM 4.2 (Base SDK 6.1). В нем есть объектная подписка. Представьте, что в моей библиотеке всего один класс с одним методом. Этот метод делает следующее: NSLog(@"******...
256 просмотров
schedule 20.03.2024

STL/Boost эквивалент LLVM SmallVector?
Я пытался понять, смогу ли я оптимизировать случай, когда у меня много небольших векторов данных. В моем случае может быть более 100 000 таких векторов, поэтому размер хранилища векторов имеет решающее значение. Каждый может иметь только 1 или 2...
5454 просмотров
schedule 17.10.2023

Как получить фи-инструкцию в llvm без оптимизации
Когда я использую команду clang -emit-llvm -S test.c -o test.ll , в файле IR нет инструкции "phi". Как я могу это получить? Я знаю, что могу использовать пароль "-mem2reg" или "-gvn", чтобы получить инструкцию "phi". Но они сделают некоторую...
1002 просмотров
schedule 05.12.2023

Как вызвать функцию C ++ в LLVM IR?
Я новичок в LLVM IR, у меня есть исходный код LLVM IR, и он использует некоторые функции объявления extern. Эти функции реализованы в файле C ++. Итак, мой вопрос: Как вызвать эти функции c ++ в LLVM IR? Правильно ли скомпилировать файл c ++...
1818 просмотров
schedule 29.09.2022

xcode LLVM 5.1 ошибка лязга
Мне не повезло в последние несколько дней с момента выхода Xcode 5.1. Я продолжаю получать эту ошибку в старом проекте, поддерживающем iOS 6.0: ERROR: clang: error: unknown argument: '-fno-obj-arc'...
32256 просмотров
schedule 16.02.2024

Получение LLVM и Clang из скачанных исходников и Visual Studio 2013
Я только что скачал исходники LLVM и Clang в виде сжатых файлов. Файлы, которые у меня есть до сих пор: cfe-3.5.0.src.tar компилятор-rt-3.5.0.src.tar libcxx-3.5.0.src.tar libcxxabi-3.5.0.src.tar llvm-3.5.0.src.tar Мне нужно...
717 просмотров
schedule 30.10.2023

Проверить наличие printf в инструкции вызова
%1 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([22 x i8]* @.str, i64 0, i64 0), i32 7) #3 Для приведенной выше инструкции, как я могу проверить, содержит ли инструкция вызова printf?
336 просмотров
schedule 05.11.2022

Добавление вызова функции в мой ИК-код в llvm
Можете ли вы привести пример того, как добавить простой вызов функции, например foo(x); на мой ИК-код с моим пропуском в llvm?
12221 просмотров
schedule 03.10.2023

Как отлаживать код LLVM с помощью lldb?
У меня есть часть рукописной сборки llvm, которую я хочу отладить с помощью lldb. Как заставить llc выдавать отладочную информацию, чтобы lldb мог отображать исходную сборку llvm вместо нативной сборки в стиле at&t, которая отображается в данный...
325 просмотров
schedule 27.10.2023