I'm writing a basic compiler for the a subset of the C language, and I'm using the LLVM C++ api to write the backend. I'm following this tutorial mostly. I understand that each node in the AST must return an llvm::Value, that works for expressions, but what do I return for C statements?
For example, for an if-else block, I am required to create a phi node. The constructor Builder.CreatePHI takes the type of the value this if-else block is supposed to evaluate to, but what's that type supposed to be?