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=13646039cf0e47d9d14f6931ec6c094eeaec423907ba93fff1f18ff6312ed623
view more