Привет LLVM проход не загружается - PullRequest
1 голос
/ 11 февраля 2012

Я следую инструкциям Pass Pass для LLVM, работающим на OSX Lion.Я дошел до make в каталоге lib/Transforms/Hello, создал битовый код, а затем сделал это в каталоге Hello:

$ opt -load ../../../Debug/lib/LLVMHello.dylib -hello < hello.bc > /dev/null
opt: <stdin>: Unknown instruction

Я попытался найти это, но ничего не нашел.Любые предложения?

Я не уверен, если это имеет значение, но я использую gcc 4.2.1.

Спасибо

1 Ответ

2 голосов
/ 11 февраля 2012

Это означает, что ваши llvm-gcc и LLVM не синхронизированы / несовместимы.При неправильном LLVM даже простой lli не удастся:

$ lli hello.bc 
lli: hello.bc: Unknown instruction

Вы можете либо получить LLVM, соответствующий вашему компилятору, либо использовать компилятор, основанный на вашем LLVM.Для первого вы можете получить тег, используя --version, например:

$ llvm-gcc-4.2 --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc.
build 5658) (LLVM build 2335.15.00)

означает, что вы можете получить соответствующий LLVM из

http://llvm.org/svn/llvm-project/llvm/tags/Apple/llvmCore-2335.15

Как только вы получите соответствующий LLVM, всескважина:

$ Debug/bin/lli hello.bc 
hello world
$ Debug/bin/opt -load Debug/lib/LLVMHello.dylib -hello <hello.bc  >/dev/null
Hello: main
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...