Я играл с LLVM, чтобы узнать, как его использовать.
Однако мой ум ошеломлен уровнем сложности интерфейса.
Возьмем, например, свою функцию Фибоначчи
int fib(int x) {
if(x<=2)
return 1;
return fib(x-1) + fib(x-2);
}
Чтобы получить это для вывода LLVM IR, требуется 61 строка кода!!!
Они также включают BrainFuck, который известен тем, что имеет самый маленький компилятор (200 байт). К сожалению, с LLVM он превышает 600 строк (18 kb).
Является ли это нормой для компилятора? До сих пор кажется, что было бы намного проще выполнить сборку или C-сервер.