Class MirBlock
- java.lang.Object
-
- ru.ispras.microtesk.translator.mir.MirBlock
-
public final class MirBlock extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description BasicBlock
bb
MirContext
ctx
-
Constructor Summary
Constructors Constructor Description MirBlock(MirContext ctx, BasicBlock bb)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends Instruction>
Tappend(T insn)
Instruction.Assignment
assign(ru.ispras.microtesk.translator.mir.Local lhs, Operand rhs)
Instruction.Assignment
assign(ru.ispras.microtesk.translator.mir.Local lhs, ru.ispras.microtesk.translator.mir.Rvalue rhs)
ru.ispras.microtesk.translator.mir.Local
assignLocal(Operand op)
ru.ispras.microtesk.translator.mir.Local
assignLocal(ru.ispras.microtesk.translator.mir.Rvalue rhs)
ru.ispras.fortress.util.Pair<MirBlock,MirBlock>
branch(Operand cond)
Instruction.Call
call(Operand callee, java.lang.String method, java.util.List<Operand> args, ru.ispras.microtesk.translator.mir.Local ret)
Instruction.Disclose
disclose(ru.ispras.microtesk.translator.mir.Local lhs, Operand src, int index)
ru.ispras.microtesk.translator.mir.Local
extract(Operand src, int size, Operand lo, Operand hi)
ru.ispras.microtesk.translator.mir.Local
getLocal(int index)
ru.ispras.microtesk.translator.mir.Local
getNamedLocal(java.lang.String name)
Instruction.Branch
jump(BasicBlock bb)
Instruction.Branch
jump(MirBlock block)
ru.ispras.microtesk.translator.mir.Local
newLocal(int size)
ru.ispras.microtesk.translator.mir.Local
newLocal(MirTy type)
Instruction.Call
thiscall(java.lang.String method, java.util.List<Operand> args, ru.ispras.microtesk.translator.mir.Local ret)
-
-
-
Field Detail
-
bb
public final BasicBlock bb
-
ctx
public final MirContext ctx
-
-
Constructor Detail
-
MirBlock
public MirBlock(MirContext ctx, BasicBlock bb)
-
-
Method Detail
-
getLocal
public ru.ispras.microtesk.translator.mir.Local getLocal(int index)
-
newLocal
public ru.ispras.microtesk.translator.mir.Local newLocal(int size)
-
newLocal
public ru.ispras.microtesk.translator.mir.Local newLocal(MirTy type)
-
getNamedLocal
public ru.ispras.microtesk.translator.mir.Local getNamedLocal(java.lang.String name)
-
assign
public Instruction.Assignment assign(ru.ispras.microtesk.translator.mir.Local lhs, Operand rhs)
-
assign
public Instruction.Assignment assign(ru.ispras.microtesk.translator.mir.Local lhs, ru.ispras.microtesk.translator.mir.Rvalue rhs)
-
assignLocal
public ru.ispras.microtesk.translator.mir.Local assignLocal(Operand op)
-
assignLocal
public ru.ispras.microtesk.translator.mir.Local assignLocal(ru.ispras.microtesk.translator.mir.Rvalue rhs)
-
extract
public ru.ispras.microtesk.translator.mir.Local extract(Operand src, int size, Operand lo, Operand hi)
-
jump
public Instruction.Branch jump(MirBlock block)
-
jump
public Instruction.Branch jump(BasicBlock bb)
-
disclose
public Instruction.Disclose disclose(ru.ispras.microtesk.translator.mir.Local lhs, Operand src, int index)
-
thiscall
public Instruction.Call thiscall(java.lang.String method, java.util.List<Operand> args, ru.ispras.microtesk.translator.mir.Local ret)
-
call
public Instruction.Call call(Operand callee, java.lang.String method, java.util.List<Operand> args, ru.ispras.microtesk.translator.mir.Local ret)
-
append
public <T extends Instruction> T append(T insn)
-
-