Не совсем понимаю где кончается clang, начинаются llvm и binutils
1. Clang препроцессит си-код и получает чистый си-код
2. Clang берет чистый си-код и строит AST.
[ тут магия ]
4. LLVM берет LLVM-байткод из магии и производит на свет файл ассемблера для конкретной архитектуры
[ Здесь clang и llvm больше не используются. Вступают в дело binutils, а именно as и ld ]
5. as берет файл ассемблера и производит объектный файл
6. ld превращает объектный файл в исполняемый