private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
@Override public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
public void visitBlock(SsaBasicBlock v, SsaBasicBlock parent) { DFSInfo bbInfo = new DFSInfo(); bbInfo.semidom = ++dfsNum; bbInfo.rep = v; bbInfo.parent = parent; vertex.add(v); info[v.getIndex()] = bbInfo; } }
private SsaBasicBlock eval(SsaBasicBlock v) { DFSInfo bbInfo = info[v.getIndex()]; if (bbInfo.ancestor == null) { return v; } compress(v); return bbInfo.rep; }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
/** * Gets the register set associated with the start of the given * block. This is just convenient shorthand for * {@code getStarts(block.getLabel())}. * * @param block {@code non-null;} the block in question * @return {@code non-null;} the associated register set */ public RegisterSpecSet getStarts(SsaBasicBlock block) { return getStarts(block.getIndex()); }
/** * Adds an operand to this phi instruction. * * @param registerSpec register spec, including type and reg of operand * @param predBlock predecessor block to be associated with this operand */ public void addPhiOperand(RegisterSpec registerSpec, SsaBasicBlock predBlock) { operands.add(new Operand(registerSpec, predBlock.getIndex(), predBlock.getRopLabel())); // Un-cache sources, in case someone has already called getSources(). sources = null; }