Изменение процесса компиляции с помощью SPEC для использования LLVM - PullRequest
5 голосов
/ 12 апреля 2011

В настоящее время я работаю над выполнением некоторых проходов llvm и хотел бы сравнить их полезность с помощью набора тестов производительности процессора SPEC 2006. Тем не менее, я не выяснил, как изменить настройку SPEC, чтобы сделать что-то кроме использования llvm-gcc для вывода битового кода llvm. Вот что я хотел бы изменить, чтобы сделать рабочий процесс SPEC:

скомпилируйте .o файлы с помощью llvm в llvm-bytecode

llvm-gcc -emit-llvm *.c

Для каждого файла .o выполните команду opt (этап оптимизации llvm):

opt -adce -mem2reg cfline.o

Ссылка с llvm-ссылкой:

llvm-link *.o -o out.o.linked

Превратить байт-код llvm в сборку

llc out.o.linked

И, наконец, превратить это в исполняемый код:

gcc out.o.linked -o out.executable

Есть ли способ, которым я могу это сделать? Я знаю, что могу редактировать файлы .cfg для генерации llvm, но тогда я не знаю, как выбрать другую процедуру линковки / предварительной линковки.

Спасибо!

1 Ответ

3 голосов
/ 12 апреля 2011

LLVM имеет подпроект test-suite , который уже знает, как собрать и запустить SPEC. См. документы для получения дополнительной информации.

...