1. EachPod

gnuWorldOrder_424

Author
[email protected] (Klaatu)
Published
Sat 04 Sep 2021
Episode Link
http://gnuworldorder.info//audiophile/gnuWorldOrder_424.m4a

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

Share to: