Описание тега llvm-3.0

0 ответов

Сбой getAnalysis в цепочке ModulePassA->FunctionPassB->FunctionPassC

opt вылетает из-за следующей ошибки (изменил имя прохода в соответствии с примером): include / llvm / PassAnalysisSupport.h: 213: AnalysisType & llvm:: Pass:: getAnalysisID (const void *) const [with AnalysisType = PassC]: утверждение `ResultPass &&…
15 сен '17 в 16:29
0 ответов

Основанные на LLVM зависимости проекта lib для CMake в Windows

Это было задано здесь ранее, но я не мог найти решение, которое работает для меня. Пример файла CMakeLists.txt для проекта LLVM - это был оригинальный вопрос. Однако есть несколько проблем, с которыми я сталкиваюсь при создании проекта с LLVM. Платф…
23 апр '12 в 04:24
2 ответа

Получить имя файла и местоположение из функции

У меня есть проход LLVM, который перебирает ИК-код LLVM, и я хотел бы получить каталог и имя файла для функций и базовых блоков для исходного кода. Я знаю, что когда у меня есть указатель инструкций, я легко могу получить информацию, используя следу…
27 апр '17 в 04:41
1 ответ

Выполнить программу Openmp в LLVM-3.0

Я сгенерировал файл.ll, используя llvm-gcc для программы Openmp (написана на c).Затем оптимизирован с помощью opt(версия 3.0)Но когда я пытаюсь выполнить оптимизированный файл.ll, используя lli или llvm-ld, получаю следующие ошибки: LLVM ERROR: Prog…
06 мар '12 в 16:11
2 ответа

Компиляция кода C внутри кода C++ внутри кода Objective-C++

Моя проблема немного сложна: Библиотека: у меня есть библиотека, написанная на C и C++. Он идеально компилируется в XCode с Apple LLVM. Работа самой библиотеки выполняется кодом C, в то время как часть C++ - это просто интерфейс C++, потому что я пр…
03 июл '12 в 22:05
1 ответ

Приведение от uint8_t* к StringRef

Я использую ExecutionEngine.cpp. Я хочу получить StringRef из найденных адресов с помощью следующего кода: const APInt &IntVal; uint8_t *y2 = reinterpret_cast<uint8_t *>(const_cast<uint64_t *>(IntVal.getRawData())); int v2 = *reinter…
06 янв '18 в 18:25
1 ответ

Ошибка при компиляции llvm во FreeBSD 8.4

Я пытаюсь собрать LLVM из исходного кода во FreeBSD 8.4. Вот шаги, которые я выполнил Скачал источник с http://llvm.org/releases/3.8.0/llvm-3.8.0.src.tar.xz Извлек источник в папку. Создал каталог сборки и внутри него запустил $ cmake ../llvm-3.8.0.…
21 июн '16 в 22:03
1 ответ

Обнаружение массива в списке функций arg LLVM opt pass

Предположим, у меня есть следующий LLVM IR определить void @foo(i32* %a, i32* %m) существительное { ... и я вызываю foo, передавая массив для первого аргумента и передавая адрес переменной для m. Теперь мне нужно проанализировать список аргументов f…
10 дек '12 в 17:59
1 ответ

Строковое представление llvm:: структура типа

llvm::Type 2.9 и ранее имели getDescription метод для получения строкового представления типа. Этот метод больше не существует в llvm 3.0. Я не уверен, что это не рекомендуется в пользу Type::print(raw_ostream&), но в любом случае мне интересно …
04 янв '12 в 01:55
2 ответа

Использование CloneFunctionInto() от llvm

Мне нужно клонировать функцию в другую функцию с помощью CloneFunctionInto в проходе функции LLVM, чтобы сохранить исходный граф потока управления от любых изменений, которые я могу внести в первую очередь. http://llvm.org/docs/doxygen/html/Cloning_…
28 май '13 в 12:41
1 ответ

llvm: стратегии постепенного создания JIT-контента

Я хочу, чтобы мой языковой бэкэнд создавал функции и типы постепенно, но не загрязнял основной модуль и контекст, когда функции и типы не могут быть успешно построены (из-за проблем с пользовательским вводом). Я задаю более ранний вопрос по этому по…
05 фев '12 в 14:55
1 ответ

Как я могу добавить свой пропуск до X86 AT&T-Style Assembly Printer?

Как я могу добавить свой пропуск до X86 AT&T-Style; Assembly Printer? Мне нужно изменить MachineFunction и сохранить изменения в ASM-файл. Проблема в том, что мой пропуск срабатывает в конце концов. Пройдите отладку: 0x202a430 Проход освобождения "И…
01 июн '13 в 10:01
3 ответа

C++ -std= C++11 -stdlib=libC++, выдающий ошибки на osx lion

Это должен быть повторяющийся вопрос. Но я немного погуглил и не нашел хита, который решает мою проблему. Я пытаюсь использовать стандартную функцию C++11 на OSX LION, и она не работает. Я считаю, что эта функция называется списком инициализаторов. …
10 янв '13 в 17:27
1 ответ

Ошибка при связывании LLVM

Всякий раз, когда я создаю две отдельные библиотеки с LLVM 3.0 и связываю их вместе. Я всегда получаю следующую трассировку стека при выходе. Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address…
12 мар '12 в 14:58
1 ответ

LLVM: вставлять строки отладки в исходный код C++

Я скачал LLVM 3.1 и успешно его собрал. Мое требование - добавить несколько строк отладки в файлы исходного кода C++. Я закодировал модуль используя CLANG 3.1. Но CLANG сообщает об ошибке AST, чего нет у gcc. Обратите внимание, мой код прекрасно ком…
14 мар '13 в 11:33
0 ответов

Конвертация с LLVM

Я работал над проектом по преобразованию языка C+ACSL в другой язык, сначала преобразовав его в LLVM IR, а затем преобразовав его в другой язык. Я не могу сказать об этом, потому что это связано с группой людей, которые не хотят раскрывать это, поэт…
21 окт '13 в 18:48
1 ответ

Как я могу вставить / удалить ребро в LLVM?

Могу ли я вставить новое ребро, изменив его назначение, и удалить другое ребро по его источнику и назначению. Другими словами, могу ли я заменить назначение основного блока ребра другим, чтобы внести некоторые изменения в CFG? Я старался getEdge() ф…
26 май '13 в 14:42
1 ответ

Почему флаг компоновщика -ObjC необходим для связывания категорий в статических библиотеках? (LLVM)

Относительно этого технического Q&A; от Apple: http://developer.apple.com/library/mac/ Я думаю, что компилятор может пометить вызовы методов, определенных в категориях, во время компиляции (он знает, что они были определены в категории, а не в основ…
18 июн '12 в 20:31
1 ответ

LLVM IR: как вызвать функцию в другом файле.ll

Я пишу код LLVM IR, могу ли я вызвать функцию в другом файле.ll? Например: в файле.ll есть функция foo(); Могу ли я использовать эту функцию в b.ll, например, просто вызвать foo? Если да, то как я могу включить Спасибо
07 июл '16 в 13:16
1 ответ

Идентификатор или номер инструкции в LLVM IR

В Execution.cpp я могу получить все инструкции и значения всех переменных. Есть ли способ получить идентификатор или номер каждой инструкции.
15 мар '18 в 09:25