public void visitPhiJoinStmt(final PhiJoinStmt stmt) {
		if (stmt.target() != null) {
			stmt.target().visit(this);
		}

		print(" := Phi(");

		if (stmt.hasParent()) {
			final Tree tree = (Tree) stmt.parent();
			final Block block = tree.block();

			final Iterator e = block.graph().preds(block).iterator();

			while (e.hasNext()) {
				final Block pred = (Block) e.next();

				final Expr operand = stmt.operandAt(pred);
				print(pred.label() + "=");
				operand.visit(this);

				if (e.hasNext()) {
					print(", ");
				}
			}
		} else {
			final Iterator e = stmt.operands().iterator();

			while (e.hasNext()) {
				final Expr operand = (Expr) e.next();
				operand.visit(this);

				if (e.hasNext()) {
					print(", ");
				}
			}
		}

		println(")");
	}