@Override public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newArray = array.getSimplifiedOperand(valueMap, force); if (newArray instanceof Array) { Array a = (Array) newArray; return (a.elts.length == 1) ? a.elts[0] : a; } else { return (newArray == array) ? this : new SValue(newArray); } }
@Override public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newArray = array.getSimplifiedOperand(valueMap, force); if (newArray instanceof Array) { Array a = (Array) newArray; return (a.elts.length == 1) ? a.elts[0] : a; } else { return (newArray == array) ? this : new SValue(newArray); } }
public static SValue decode(IRReaderDecoder d) { return new SValue(d.decodeOperand()); }
public static SValue decode(IRReaderDecoder d) { return new SValue(d.decodeOperand()); }
@Override public Operand cloneForInlining(InlinerInfo ii) { return hasKnownValue() ? this : new SValue(array.cloneForInlining(ii)); }
@Override public Operand cloneForInlining(CloneInfo ii) { return hasKnownValue() ? this : new SValue(array.cloneForInlining(ii)); }
@Override public Operand cloneForInlining(CloneInfo ii) { return hasKnownValue() ? this : new SValue(array.cloneForInlining(ii)); }
@Override public Operand cloneForInlining(InlinerInfo ii) { return hasKnownValue() ? this : new SValue(array.cloneForInlining(ii)); }
public Operand buildSValue(SValueNode node, IRScope s) { // SSS FIXME: Required? Verify with Tom/Charlie return copyAndReturnValue(s, new SValue(build(node.getValue(), s))); }
@Override public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newArray = array.getSimplifiedOperand(valueMap, force); if (newArray instanceof Array) { Array a = (Array) newArray; return (a.getElts().length == 1) ? a.getElts()[0] : a; } else { return (newArray == array) ? this : new SValue(newArray); } }
@Override public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newArray = array.getSimplifiedOperand(valueMap, force); if (newArray instanceof Array) { Array a = (Array) newArray; return (a.getElts().length == 1) ? a.getElts()[0] : a; } else { return (newArray == array) ? this : new SValue(newArray); } }
public Operand buildSValue(SValueNode node) { // SSS FIXME: Required? Verify with Tom/Charlie return copyAndReturnValue(new SValue(build(node.getValue()))); }
public Operand buildSValue(SValueNode node) { // SSS FIXME: Required? Verify with Tom/Charlie return copyAndReturnValue(new SValue(build(node.getValue()))); }
public Operand buildSValue(SValueNode node, IRScope s) { // SSS FIXME: Required? Verify with Tom/Charlie return copyAndReturnValue(s, new SValue(build(node.getValue(), s))); }