Files
MY_COMPILER/midend/llvm/instr/BranchInstr.java
2025-12-10 17:58:17 +08:00

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();
}
}