Como gerar código de máquina com llvm

Atualmente estou trabalhando em um projeto de compilador usando llvm. Tenho seguido vários tutoriais ao ponto em que tenho um analisador para criar uma árvore de sintaxe e, em seguida, a árvore é convertida em um módulo llvm usando o IRBuilder fornecido.

Meu objetivo é criar um executável e estou confuso quanto ao que fazer a seguir. Todos os tutoriais que encontrei criam o módulo llvm e imprimem o assembly usando Module.dump (). Além disso, a única documentação que posso encontrar é para desenvolvedores do llvm e não para usuários finais do projeto.

Se eu quiser gerar código de máquina, quais são os próximos passos? O projeto llvm-mc parece que pode fazer o que eu quero, mas não consigo encontrar qualquer tipo de documentação nele.

Talvez eu esteja esperando que llvm faça algo que não faz. Minha expectativa é que eu possa construir um módulo, então haveria uma API que eu posso chamar com o módulo e um triplo alvo e um arquivo de objeto será produzido. Eu encontrei documentação e exemplos sobre como produzir um JIT, e não estou interessado nisso. Eu estou procurando como produzir binários compilados.

Eu estou trabalhando no OS X, se isso tiver algum impacto.

questionAnswers(4)

yourAnswerToTheQuestion