32 lines
741 B
Java
32 lines
741 B
Java
package midend.llvm.instr;
|
|
|
|
import midend.llvm.type.IrType;
|
|
import midend.llvm.value.IrValue;
|
|
|
|
public class ExtendInstr extends IrInstr {
|
|
private IrType targetType;
|
|
|
|
public ExtendInstr(String name, IrType targetType, IrValue src) {
|
|
super(targetType, name, IrInstrType.EXTEND);
|
|
this.targetType = targetType;
|
|
addUse(src);
|
|
}
|
|
|
|
public IrValue getSrc() {
|
|
return getUse(0);
|
|
}
|
|
|
|
public IrType getTargetType() {
|
|
return this.targetType;
|
|
}
|
|
|
|
public IrType getSrcType() {
|
|
return getSrc().getType();
|
|
}
|
|
|
|
public String toString() {
|
|
return getName() + " = zext " + getSrc().getType()
|
|
+ " " + getSrc().getName() + " to " + getTargetType();
|
|
}
|
|
}
|