interpreter: redesign phi-node handling
it is not valid to treat these like statements, since they are actually arguments to the basic block
it turns out to be a bit hard to deal with this particular representation of phi nodes in an interpreter,
since the information is spread out across multiple statements and could pop up at any time,
but with some care, it is possible. we just need to be careful to process phi nodes as a block,
and taking care to look for implicit edges.
fix #29342