34 lines
844 B
Java
34 lines
844 B
Java
package midend.llvm.instr;
|
|
|
|
import midend.llvm.value.IrBasicBlock;
|
|
import midend.llvm.value.IrValue;
|
|
import midend.llvm.type.IrInterType;
|
|
|
|
public class BranchInstr extends IrInstr {
|
|
public BranchInstr(String name, IrValue cond, IrBasicBlock trueBB, IrBasicBlock falseBB) {
|
|
super(IrInterType.VOID, name, IrInstrType.BR);
|
|
addUse(cond);
|
|
addUse(trueBB);
|
|
addUse(falseBB);
|
|
}
|
|
|
|
public IrValue getCond() {
|
|
return getUse(0);
|
|
}
|
|
|
|
public IrBasicBlock getTrueBB() {
|
|
return (IrBasicBlock) getUse(1);
|
|
}
|
|
|
|
public IrBasicBlock getFalseBB() {
|
|
return (IrBasicBlock) getUse(2);
|
|
}
|
|
|
|
public String toString() {
|
|
return "br i1 " + getCond().getName() +
|
|
", label %" + getTrueBB().getName() +
|
|
", label %" + getFalseBB().getName();
|
|
}
|
|
|
|
}
|