O LLVM usa o sphinx para gerar sua documentação, e o sphinx suporta a geração de documentação do pdf via latexpdf. Supondo que você tenha tanto a esfinge quanto o látex instalados, em um sistema unix, tudo o que você precisa é de um pequeno patch para o arquivo de látex gerado funcionar com o uso zeloso de alguns caracteres Unicode não suportados pelo pacote inputenc.
Um procedimento completo pode ter a seguinte aparência:
#! /bin/bash
svn co http://llvm.org/svn/llvm-project/llvm/branches/release_34/docs llvm34-doc
cd llvm34-doc
make -f Makefile.sphinx latex
patch -p0 <<ZZZ
--- _build/latex/LLVM.tex 2013-12-08 17:54:29.000000000 -0500
+++ _build/latex/LLVM.tex 2013-12-08 17:54:08.000000000 -0500
@@ -3,6 +3,13 @@
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
+\usepackage{pifont}
+\DeclareUnicodeCharacter{2264}{$\leq$}
+\DeclareUnicodeCharacter{2265}{$\geq$}
+\DeclareUnicodeCharacter{2260}{$\neq$}
+\DeclareUnicodeCharacter{21D2}{$\Rightarrow$}
+\DeclareUnicodeCharacter{2714}{\ding{51}}
+\DeclareUnicodeCharacter{2718}{\ding{55}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
ZZZ
cd _build/latex
make
cd ../..
Note que a documentação não é realmente testada / mantida para saída em pdf, então haverá algumas falhas aqui e ali. A saída tem 820 páginas.