llvmir some opt
This commit is contained in:
33
midend/llvm/instr/BranchInstr.java
Normal file
33
midend/llvm/instr/BranchInstr.java
Normal file
@@ -0,0 +1,33 @@
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user