use of org.graalvm.compiler.lir.aarch64.AArch64Move.LoadAddressOp in project graal by oracle.
the class AArch64MoveFactory method createMove.
@Override
public LIRInstruction createMove(AllocatableValue dst, Value src) {
boolean srcIsSlot = isStackSlotValue(src);
boolean dstIsSlot = isStackSlotValue(dst);
if (isConstantValue(src)) {
return createLoad(dst, asConstant(src));
} else if (src instanceof AArch64AddressValue) {
return new LoadAddressOp(dst, (AArch64AddressValue) src);
} else {
assert src instanceof AllocatableValue;
if (srcIsSlot && dstIsSlot) {
throw GraalError.shouldNotReachHere(src.getClass() + " " + dst.getClass());
} else {
return new AArch64Move.Move(dst, (AllocatableValue) src);
}
}
}
Aggregations