Test for select generation for conditional returns. For example rewrites a simpled diamond pattern e.g.: If [ Condition ] / \ false branch true branch \ / Return Phi[FalseValue, TrueValue] to: true branch false branch return Select [FalseValue, TrueValue, Condition] It tests: * Simple diamond pattern with: * Same value on each branch * Different value * Double diamond pattern (i.e. nested simple diamonds) with: * Same value * All different values * Same value in some cases but not all For all cases it tests: * Branches merging with a Phi. * Branches returning instead of having a Phi.