changeset 21441:1fc2966023e1

SSALinarScanResolveDataFlowPhase: do not allow registers as phi operands.
author Josef Eisl <josef.eisl@jku.at>
date Mon, 18 May 2015 14:40:32 +0200
parents 1c8383a27c1b
children 607ddc0b8d21
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinarScanResolveDataFlowPhase.java
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinarScanResolveDataFlowPhase.java	Wed May 20 15:01:24 2015 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinarScanResolveDataFlowPhase.java	Mon May 18 14:40:32 2015 +0200
@@ -59,6 +59,8 @@
             PhiValueVisitor visitor = new PhiValueVisitor() {
 
                 public void visit(Value phiIn, Value phiOut) {
+                    assert !isRegister(phiOut) : "phiOut is a register: " + phiOut;
+                    assert !isRegister(phiIn) : "phiIn is a register: " + phiIn;
                     Interval toInterval = allocator.splitChildAtOpId(allocator.intervalFor(phiIn), toBlockFirstInstructionId, LIRInstruction.OperandMode.DEF);
                     if (isConstant(phiOut)) {
                         numPhiResolutionMoves.increment();