CLang -> llvm clang -S -emit-llvm program.c llvm -> assembly llc program.ll -o program.s Evaluate llvm bit code lli struct.ll Make So files from C in clang clang -O3 -dynamiclib -undefined dynamic_lookup runtime.c program.s -o program.so