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