NoneLli - это инструмент командной строки для выполнения модулей [tag:llvm-ir].
1 ответ

Как можно использовать I Address Sanitizer в lli (LLVM)

Я хотел бы запустить битовый код с аргументом sanitizer адреса, но у меня есть проблема с этим, если я его запусту, произойдет ошибка сегментации. $cat sample.c #include <stdlib.h> void *p; int main() { p = malloc(7); return 0; } $clang -emit-…
12 янв '19 в 05:25
1 ответ

Как эмулировать thread_local в llvm-ir?

Следующий код в настоящее время не работает в lli: //main.cpp extern thread_local int tls; int main() { tls = 42; return 0; } //clang++ -S -emit-llvm main.cpp && lli main.ll LLVM-л: ; ModuleID = 'main.cpp' target datalayout = "e-m:e-i64:64-f…
07 фев '17 в 16:59
0 ответов

Внешние функции из стандартных библиотек не разрешены в lli

Я пытаюсь запустить простой код в llvm lli (в соответствии с разделом Начало работы с системой LLVM) #include <stdio.h> int main() { printf("hello world\n"); return 0; } Я получил файл.bc с clang –O3 –emit-llvm hello.c –c –o hello.bc а также l…
07 фев '17 в 15:52
0 ответов

Как использовать LLVM JIT для выполнения кода C++ IR на Windows

Код C++: #include <iostream> int main() { std::cout << "hello world\n"; } используйте лязг & lli: clang ++ -S -emit-llvm hello.cpp -o hello.ll lli.exe hello.ll Он сообщает о фатальной ошибке, что-то вроде "Программа использовала внешнюю …
19 дек '18 в 11:32
0 ответов

Как выполнить TargetLowering в проходе ИК-трансформации?

Чтобы обеспечить поддержку TLS для orcjit, я хотел бы преобразовать llvm::Modules без эмуляции TLS в те, которые эмулируют TLS и зависят от времени выполнения. Подобная функциональность уже реализована в TargetLowering::LowerToTLSEmulatedModelОднако…
10 фев '17 в 16:10
1 ответ

Скомпилированная программа на Haskell для LLVM IR отсутствует main

После этого поста о компиляции программ на Haskell для LLVM IR я взял ту же программу на Haskell и попытался запустить получившийся код LLVM IR: quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = fil…
29 авг '18 в 03:21
1 ответ

LLVM, генерируемый rustc, выдает ошибку о типе аргумента main при запуске с lli

Я пытаюсь немного узнать о ИК LLVM, особенно о том, что именно дает ржавчина. У меня возникли небольшие проблемы с управлением даже очень простым делом. Я положил следующее в исходном файле simple.rs: fn main() { let x = 7u32; let y = x + 2; } и бег…
24 авг '17 в 06:09
0 ответов

Как собрать lli (LLVM JIT) для RISCV?

Я пытаюсь создать JIT для платформы RISC-V, но я не мог понять, как. Не могли бы вы дать несколько советов? Большое спасибо! Первоначально я обнаружил, что LLVM имеет RISCV-бэкэнд, и скомпилировал его, следуя приведенным здесь инструкциям. Я получил…
18 дек '18 в 01:51
2 ответа

lli: LLVM ОШИБКА: невозможно выбрать: X86ISD::WrapperRIP TargetGlobalTLS Адрес:i64

Выполнение следующего кода с clang++ -S -emit-llvm main.cpp && lli main.ll в Linux(Debian) #include <future> int main () { return std::async([]{return 1;}).get(); } не запускается на lli из-за следующей ошибки: LLVM ERROR: Cannot selec…
03 фев '17 в 11:11
1 ответ

Как получить след выполнения lli

Есть ли способ получить след выполнения lli. В качестве примера для данной программы: define dso_local i32 @main() { %1 = alloca i32, align 4 store i32 1, i32* %1, align 4 %2 = load i32, i32* %1, align 4 ret i32 %2 } Я хотел бы иметь некоторые выход…
28 окт '18 в 12:04
0 ответов

bash: /usr/local/bin/lli: невозможно выполнить двоичный файл: ошибка формата Exec

Я пытаюсь использовать lli file.ll но эта ошибка появилась bash: /usr/local/bin/lli: cannot execute binary file: Exec format error В чем может быть проблема?
05 июн '17 в 11:51
2 ответа

Как запустить интерпретатор LLVM с общей библиотекой?

Я имею mylib.c файл, который имеет некоторые функции. Я хочу использовать эти функции из моего .c файл как внешние в скомпилированном коде llvm. Я играю с переводчиком LLVM (lli-4.0) и мне интересно, как я могу сказать lli использовать функции из мо…
25 май '17 в 20:23
1 ответ

Ошибка llvm: перемещение еще не осуществлено! при запуске RxCpp в orcjit или lli

Я хотел бы запустить пример RxCpp в ИК-интерпретаторе llvm lli, К сожалению, запуск любого из примеров RxCpp завершается неудачно в lli: git clone https://github.com/Reactive-Extensions/RxCpp.git --depth 1 cd RxCpp/Rx/v2/examples/pythogerian clang++…
03 фев '17 в 12:25
1 ответ

Неразумная путаница в именах в LLVM

Я пытался построить и выполнить модули LLVM. Мой код для генерации модулей довольно длинный, поэтому я не буду публиковать его здесь. Вместо этого мой вопрос о том, как Clang и LLVM работают вместе, чтобы добиться искажения имен. Я объясню свою конк…
03 фев '17 в 17:25
0 ответов

Поиск имени переменной при использовании LLVM Interpreter

При использовании LLVM Interpreter (Aka lli), Instruction объект запущен в Interpreter::run() функция как в коде. void Interpreter::run() { while (!ECStack.empty()) { // Interpret a single instruction & increment the "PC". ExecutionContext &…
12 мар '19 в 07:31
0 ответов

интерпретатор clang не смог материализовать символы

Я новичок в наборе инструментов LLVM, и все, что я пытаюсь сделать, это получить очень простую программу C++ "привет мир" для компиляции в LLVM IR, а затем запустить ее с помощью инструмента lli. Итак, вот программный код (hello.cpp): #include <i…
07 янв '20 в 18:37
1 ответ

Отключение исключений памяти в интерпретаторе LLVM LLI

Есть ли способ отключить исключения при запуске интерпретатора lli? Я хотел бы отключить следующее от сбоев, чтобы я мог провести анализ памяти - в настоящее время он прерывается после ошибки free-after-free: Программа, с которой я работаю: #include…
12 ноя '19 в 10:05
1 ответ

LLVM Inteopleter (lli) и загрузка общих объектов

Я пытаюсь использовать lli для интерпретации /JIT-компиляции файла с битовым кодом a.bc который использует функции, определенные в общем объекте afl-llvm-rt.so. Когда я пытаюсь использовать lli вот так lli -dlopen ./afl-llvm-rt.so a.bc Я получил: PL…
19 сен '20 в 14:31
2 ответа

GDB отображает переменные LLVM IR не работает

Я создаю простое приложение: Привет #include <stdio.h> void foo(int x) { printf("%d", x); } int main() { printf("Hello\n"); foo(6+5); return 0; } С представлением LLVM IR: ; ModuleID = 'hello.ll' source_filename = "hello.c" target datalayout =…
24 апр '21 в 11:34
1 ответ

Использование printf в LLVM IR

Итак, я писал компилятор для простого лиспа на Rust и генерировал LLVM IR с помощью ящика Inkwell . Пытаясь найти способ вывода значений на стандартный вывод, я натолкнулся на множество ответов на использование функции печати, как в C/C++. Кажется, …
16 май '21 в 15:46