Class EvalContext
- java.lang.Object
-
- ru.ispras.microtesk.translator.mir.InsnVisitor
-
- ru.ispras.microtesk.translator.mir.EvalContext
-
public final class EvalContext extends InsnVisitor
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.List<BasicBlock>
breadthFirst(BasicBlock entry, BasicBlock endpoint)
static java.util.List<BasicBlock>
breadthFirst(MirContext mir)
static EvalContext
eval(MirContext mir, java.util.Map<java.lang.String,java.math.BigInteger> presets)
static EvalContext
propagatePhi(MirContext mir, java.util.Map<java.lang.String,java.math.BigInteger> presets)
static java.util.List<BasicBlock>
targetsOf(BasicBlock bb)
static java.util.List<BasicBlock>
topologicalOrder(MirContext mir)
void
visit(ru.ispras.microtesk.translator.mir.GlobalNumbering.SsaStore insn)
void
visit(Instruction.Assignment insn)
void
visit(Instruction.Conditional insn)
void
visit(Instruction.Disclose insn)
void
visit(Instruction.Extract insn)
void
visit(Instruction.Load insn)
void
visit(Instruction.Sext insn)
void
visit(Instruction.Store insn)
void
visit(Instruction.Zext insn)
-
Methods inherited from class ru.ispras.microtesk.translator.mir.InsnVisitor
visit, visit, visit, visit, visit, visit, visit, visitAll, visitBlocks
-
-
-
-
Method Detail
-
eval
public static EvalContext eval(MirContext mir, java.util.Map<java.lang.String,java.math.BigInteger> presets)
-
propagatePhi
public static EvalContext propagatePhi(MirContext mir, java.util.Map<java.lang.String,java.math.BigInteger> presets)
-
visit
public void visit(Instruction.Assignment insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Extract insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Disclose insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Load insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Conditional insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Store insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(ru.ispras.microtesk.translator.mir.GlobalNumbering.SsaStore insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Sext insn)
- Overrides:
visit
in classInsnVisitor
-
visit
public void visit(Instruction.Zext insn)
- Overrides:
visit
in classInsnVisitor
-
topologicalOrder
public static java.util.List<BasicBlock> topologicalOrder(MirContext mir)
-
breadthFirst
public static java.util.List<BasicBlock> breadthFirst(MirContext mir)
-
breadthFirst
public static java.util.List<BasicBlock> breadthFirst(BasicBlock entry, BasicBlock endpoint)
-
targetsOf
public static java.util.List<BasicBlock> targetsOf(BasicBlock bb)
-
-