> Я не понимаю только зачем нужен сишный франтэнд для виртуальной машины. Еще бы ассемблер к LLVM прикрутили..."Большинство инструкций в LLVM принимают два аргумента (операнда) и возвращают одно значение (трёхадресный код). Значения определяются текстовым идентификатором. Локальные значения обозначаются префиксом %, а глобальные — @. Локальные значения также называют регистрами, а LLVM — виртуальной машиной с бесконечным числом регистров." -- http://ru.wikipedia.org/wiki/Low_Level_Virtual_Machine
Т.ч. инструкции LLVM и так есть, фактически, ассемблер. Прикручивать ничего не надо. :-)
А насчет C'шного фронтенда... Прочтите "Альфред Ахо, Рави Сети, Джеффри Ульман - Компиляторы. Принципы, технологии, инструменты" (взять можно, например, здесь: http://iboo.ru/502.htm). Вопросы, в том числе и про "трехадресный код" отпадут сами.