Mercurial > hg > graal-compiler
changeset 21442:607ddc0b8d21
NodeLIRBuilder#createPhiOut: do not put fixed registers into phiOuts.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 18 May 2015 14:48:02 +0200 |
parents | 1fc2966023e1 |
children | 4563ed9308c0 |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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()]);