An SSA instruction that selects a value based on which predecessor block control arrived from.
Open any .ll file from clang -O1 and phi nodes appear at loop headers; placement uses dominance frontiers per the classic Cytron algorithm.