Biggest insight from the article: clang does not need to generate SSA with phi nodes (which can get complicated and subtle). It can simply generate a sort of "degenerate" SSA which avoids phi nodes by storing and loading results to memory. This way the front end can concentrate on converting the front end C/C++ code to something simple.
Many of memory/load stores will be removed later in the pipeline and changed to registers. That is something for the optimization pipeline. Thats when phi nodes etc. will be insert and come into play.