NoneLlc - статический компилятор LLVM. Используйте этот тег для вопросов, связанных с запуском llc или проблем, возникающих при его использовании.
2 ответа

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

Я собираю это: int main(){ } С помощью clang, используя эту командную строку: clang++.exe -S -o %OUTFILE%.clang -emit-llvm %INFILE% -I. -I%INCLUDE_PATH% -std=c++14 -ftemplate-depth=1000 Который дает мне llvm байт-код. Тогда я использую llc вот так, …
04 июн '16 в 19:44
0 ответов

Как определить метаданные для @llvm.dbg.declare?

Я пытаюсь использовать @llvm.dbg.declare, чтобы получить информацию о переменной внутри кода llvm. Я использую следующий код: define i32 @main() nounwind ssp { %1 = alloca i32, align 4 %tsi = alloca %struct.timespec, align 8 %tsf = alloca %struct.ti…
02 июн '15 в 15:51
2 ответа

Рекомендуемый способ распространения сгенерированных функций Halide?

В настоящее время я экспериментирую с Halide, первые тесты показывают довольно многообещающие улучшения производительности. Теперь мне интересно, какова лучшая стратегия распространения кода Halide. Требование пользователей к установке Halide на дан…
1 ответ

ООО: неподдерживаемое перемещение по символу

проблема llc дает мне следующую ошибку: ОШИБКА LLVM: неподдерживаемое перемещение по символу Подробная компиляция Я реализую интерфейс LLVM для IR среднего уровня (MIR) компилятора, и после того, как я конвертирую различные методы во множество файло…
1 ответ

OSX - скомпилировать в WebAssembly с llc "llc:: error: невозможно получить цель для 'wasm32', см. --Version и --triple."

Я работаю на OSX и пытаюсь скомпилировать следующий код c для WebAssembly: void test(){ //do stuff } Я посмотрел на этот пример и попытался выполнить следующие команды: clang -emit-llvm --target=wasm32 -Oz test.c -c -o test.bc llc -asm-verbose=false…
03 апр '18 в 10:53
2 ответа

Что такое код операции "move" в LLVM IR?

Я новичок в LLVM IRи я пытаюсь смоделировать некоторые инструкции x86 в LLVM IR, Вот простой случай: move %eax, %ebx Однако я не нашел соответствующего mov Опкод после просмотра материалов здесь и здесь. Итак, мой вопрос: Если я хочу смоделировать m…
27 июн '15 в 18:01
0 ответов

LLVM с op & ld - ошибка компоновки

Я пытаюсь ознакомиться с LLVM & clang для проекта, где я буду работать с различными оптимизациями. Поэтому мне нужно взаимодействовать с LLVM не только через clang, но и использовать opt & llc. Теперь мне не удается связать очень простой пример с ис…
23 апр '18 в 18:49
1 ответ

Как избежать нежелательного свертывания констант, выполняемого генератором кода LLVM?

То, чего я пытаюсь добиться, - это избежать постоянного свертывания некоторых констант (которые представляют адреса в моем коде), таких как 100000000 константа ниже. Мне это нужно, потому что позже JIT-скомпилированный код может быть исправлен, что …
0 ответов

Отправка ICMP Echo Request с помощью Scapy с использованием LLC и SNAP

Я пытаюсь отправить Ping, используя LLC и SNAP. переменные dst и src установлены правильно, пинг с приведенным ниже кодом работает нормально, я получаю ответ: pingFrame = Ether(src=etherSrc,dst=etherDst)/IP(dst=dst,src=src)/ICMP() ans = srp1(pingFra…
08 ноя '18 в 00:16
0 ответов

Планирование инструкций LLVM в RISC-V

Я смотрю на планирование команд в LLVM для бэкэнда RISC-V. Я понял, что есть два способа планирования (ScheduleDAGRRList & MachineScheduler). Из журналов отладки я могу RISC-V использует подход ScheduleDAGRRList. Является ли MachineScheduler лучше, …
15 ноя '18 в 07:22
1 ответ

Какие арги передаются из Clang в llc?

Я работаю над проектом llvm. Недавно я попытался скомпилировать один из моих файлов.c с помощью командной строки clang в файл.s с помощью следующей команды: clang --target=arch -S -O0 select.c -o select.s и произошел сбой в бэкэнде в функции ARCHIns…
17 ноя '15 в 08:55
2 ответа

LLVM как базовый компилятор для разных языков

Я новичок в компиляторе LLVM и инфраструктуре. У меня есть следующая мысль. Clang - это интерфейс LLVM для C/C++, аналогично Rustc для языка программирования Rust. Оба могут испускать ИК-код LLVM, и испускаемый код может быть скомпилирован в исполня…
07 июл '16 в 14:33
3 ответа

Нет LLC на Windows?

Я хотел поиграть с LLVM IR и установить последнюю версию LLVM v4 (на моем ПК с Windows), но я не могу найти llc среди установленных файлов (смотрите в папке "bin" и во всех остальных). Хотите знать, если этот инструмент недоступен или, возможно, он …
30 апр '17 в 16:51
1 ответ

llc -view-*-dags foo.ll не работает в Ubuntu

Я установил LLVM3.6 на мою машину с Ubuntu 14.04. Я также установил путь для LLVM_PATH_DOT=/usr/bin/dot и позже LLVM_PATH_DOT=/usr/bin/dotty, Я тоже пытался проверить LLVM_ENABLE_DOXYGEN во время настройки CMake, и дал путь для DOTTY. Это также не р…
10 окт '15 в 13:07
1 ответ

Как получить инструкцию в MachineInstr?

Я хотел знать переменную зависимость в реальном регистре (например, X86:EAX, EBX ...). Итак, я создал IR-PASS, который может идентифицировать зависимости от IR. Этот проход использует недавно добавленные переменные unsigned HasDependency: 1; а также…
07 фев '18 в 08:09
0 ответов

get hasFlag(Feature) Error

Я использую llvm для экспериментов с llvm. Так что я использую инструменты ООО. При запуске команды llc -march=cpu0 -relocation-model=pic -filetype=asm test.bc llc выводит сообщение об ошибке на терминале, говоря llc: /home/dalas/llvmbackend/src/lib…
23 июн '18 в 03:17
2 ответа

Как сгенерировать код API LLVM с помощью ИК-кода в текущих версиях?

Я пытаюсь сгенерировать код API LLVM, который может регенерировать код IR, который подается в него. Как я обнаружил с помощью различных вопросов, таких как этот вопрос, в какой-то момент можно было сделать следующее для достижения этой цели: clang++…
0 ответов

Как использовать проход -block-размещения в LLVM

Сейчас я работаю над проектом, включающим профильную оптимизацию. Я нахожу документацию по адресу http://llvm.org/docs/Passes.html именем прохода LLVM -block-placement сделать простую ПГО. Мне интересно, какой инструмент и флаги мне следует использо…
22 янв '19 в 19:25
0 ответов

Есть ли способ избежать удаления дублирующейся инструкции загрузки при компиляции с использованием LLVM

Я работаю над созданием проходного модуля LLVM. Итак, в основном мне нужно продублировать все инструкции по загрузке и сохранить в другом реестре. При значении -O0 для инструмента clang, opt и llc эта дублированная инструкция загрузки удаляется. Я п…
31 янв '19 в 11:59
2 ответа

Почему для Windows clang/llvm требуется Link.exe в Visual Studio?

Согласно сайту LLVM Getting Started (Windows): ... Clang может использоваться для передачи битового кода, прямой передачи объектных файлов или даже связанных исполняемых файлов с помощью Visual.exe link.exe. Почему использование Link.exe на винде на…
14 янв '13 в 04:46