# HG changeset patch # User Thomas Wuerthinger # Date 1357826415 -3600 # Node ID 3f78e0041007f93edba4ac1538b569d9b8e57457 # Parent 31f218c152f373066e731b3a1f50736dc7757df1 Remove PhiLabelOp. diff -r 31f218c152f3 -r 3f78e0041007 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java Wed Jan 09 23:55:05 2013 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java Thu Jan 10 15:00:15 2013 +0100 @@ -113,22 +113,6 @@ } assert lir.lir(block).get(0) instanceof StandardOp.LabelOp : "block must start with label"; - if (block.numberOfPreds() > 1) { - assert lir.lir(block).get(0) instanceof StandardOp.PhiLabelOp : "phi mapping required for multiple predecessors"; - Value[] phiDefinitions = ((StandardOp.PhiLabelOp) lir.lir(block).get(0)).getPhiDefinitions(); - if (!beforeRegisterAllocation) { - assert phiDefinitions.length == 0; - } - for (Block pred : block.getPredecessors()) { - assert pred.numberOfSux() == 1; - LIRInstruction last = lir.lir(pred).get(lir.lir(pred).size() - 1); - assert last instanceof StandardOp.PhiJumpOp : "phi mapping required for multiple successors"; - Value[] phiUses = ((StandardOp.PhiJumpOp) last).getPhiInputs(); - if (!beforeRegisterAllocation) { - assert phiUses.length == 0; - } - } - } if (block.numberOfSux() > 0) { LIRInstruction last = lir.lir(block).get(lir.lir(block).size() - 1); diff -r 31f218c152f3 -r 3f78e0041007 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Wed Jan 09 23:55:05 2013 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Thu Jan 10 15:00:15 2013 +0100 @@ -70,23 +70,6 @@ } } - public static class PhiLabelOp extends LabelOp { - @Def({REG, STACK}) protected Value[] phiDefinitions; - - public PhiLabelOp(Label label, boolean align, Value[] phiDefinitions) { - super(label, align); - this.phiDefinitions = phiDefinitions; - } - - public void markResolved() { - phiDefinitions = EMPTY; - } - - public Value[] getPhiDefinitions() { - return phiDefinitions; - } - } - /** * LIR operation that is an unconditional jump to {@link #destination()}. * When the LIR is constructed, the last operation of every block must implement this interface. After