# HG changeset patch # User Josef Eisl # Date 1431953282 -7200 # Node ID 607ddc0b8d216bd070a285d145ce7d7211d9cac7 # Parent 1fc2966023e16ec183d7183fc085a347567c09ec NodeLIRBuilder#createPhiOut: do not put fixed registers into phiOuts. diff -r 1fc2966023e1 -r 607ddc0b8d21 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java Mon May 18 14:40:32 2015 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java Mon May 18 14:48:02 2015 +0200 @@ -239,6 +239,13 @@ for (PhiNode phi : merge.valuePhis()) { Value value = operand(phi.valueAt(pred)); assert value != null; + if (isRegister(value)) { + /* + * Fixed register intervals are not allowed at block boundaries so we introduce a + * new Variable. + */ + value = gen.emitMove(value); + } values.add(value); } return values.toArray(new Value[values.size()]);