The **llc** , **lli** , **llvm-ar** , **llvm-as** , **llvm-bcanalyzer** , **llvm-c-test** , **llvm-config** , and **llvm-cov** commands from the **d** software series of Slackware. Also, an off-script rogue demo of **lcov**. There isn't much of a logical flow to these commands, but here are a bunch of examples to demonstrate syntax: $ clang -E -emit-llvm hello.c > hello.i $ clang -S -emit-llvm hello.i # outputs hello.ll $ llvm-as hello.ll # outputs hello.bc $ llc hello.bc -o hello.s # outputs assembly $ llvm-as hello.bc -o hello.s # outputs assembly $ llvm-ar r hello.a hello.bc # outputs hello.a For **llvm-gcov** : $ clang -fprofile-arcs -ftest-coverage hello.c $ ./hello $ llvm-gcov show hello.c $ lcov --capture --initial --directory . -o hello.info $ genhtml hello.info --output-directory html $ firefox ./html/index.html shasum -a256=7c8e146a3b11ad5551e89e26264e1b83656ce9eb12946c10583fe26223160892