-
p3: É o diretório em que seus códigos de otimização devem ficar; cada otimização deve ter um .cpp próprio
-
Release: É o diretório que ficará a biblioteca compilada (.so) da sua otimização
Para compilar suas otimizações presentes em p3
$ make
Para limpar
$ make clean
Para utilizar a otimizacao que está em p3/Hello.cpp no arquivo LLVM-IR tests/QuickSort.ll
$ opt -S -load Release/P3.so -hello tests/QuickSort.ll > tests/QuickSort.opt.ll
O resultado QuickSort.opt.ll está em LLVM-IR (ASCII).
Montando arquivos LLVM-IR (ASCII) em LLVM bytecode
$ llvm-as input.ll -o output.bc
Compilando arquivos .cpp para LLVM-IR (ASCII)
$ clang++ -emit-llvm -S input.cpp -o output.ll
Compilando arquivos .cpp para LLVM-IR bytecode
$ clang++ -emit-llvm -c input.cpp -o output.bc