The Llvm Intermediate Representation