A B C D E G I M N O P R S T V

A

addEdge(BasicBlock) - Method in class ic.cfg.BasicBlock
Add an edge from this block to successor.

B

BasicBlock - Class in ic.cfg
Represents one BasicBlock in a CFG.
BasicBlock(int, TInstr) - Constructor for class ic.cfg.BasicBlock
Create a new block with the given id and instruction.
blocks - Variable in class ic.cfg.ControlFlowGraph
 
boundary() - Method in class ic.dfa.DataFlowAnalysis
Initial value for out[enter] or in[exit], depending on direction.
boundary() - Method in class ic.dfa.ReachableAnalysis
 
boundary() - Method in class ic.dfa.ReachableAnalysisWithVisitor
 

C

cfg - Variable in class ic.dfa.DataFlowAnalysis
The graph to analyze
ControlFlowGraph - Class in ic.cfg
A ControlFlowGraph manages a collection of Basic Blocks and provides some basic operations on them.
ControlFlowGraph() - Constructor for class ic.cfg.ControlFlowGraph
 

D

DataFlowAnalysis<T> - Class in ic.dfa
Abstract Dataflow analysis engine.
DataFlowAnalysis(ControlFlowGraph) - Constructor for class ic.dfa.DataFlowAnalysis
Create a new dataflow instance that will compute information about the given flow graph.
dotToFile(String) - Method in class ic.cfg.ControlFlowGraph
Writes a dot graph description to the file named fileName.

E

enter - Variable in class ic.cfg.ControlFlowGraph
 
equals(T, T) - Method in class ic.dfa.DataFlowAnalysis
Return true if t1 and t2 are equivalent.
equals(Boolean, Boolean) - Method in class ic.dfa.ReachableAnalysis
 
equals(Boolean, Boolean) - Method in class ic.dfa.ReachableAnalysisWithVisitor
 
exit - Variable in class ic.cfg.ControlFlowGraph
 

G

getEnter() - Method in class ic.cfg.ControlFlowGraph
Return the block representing enter.
getExit() - Method in class ic.cfg.ControlFlowGraph
Return the block representing exit.
getId() - Method in class ic.cfg.BasicBlock
Return the id of the block.
getInstr() - Method in class ic.cfg.BasicBlock
Return the instruction in the block.
getPredecessors() - Method in class ic.cfg.BasicBlock
Return a list of predecessors that you can iterator over.
getSuccessors() - Method in class ic.cfg.BasicBlock
Return a list of successors that you can iterator over.

I

ic.cfg - package ic.cfg
 
ic.dfa - package ic.dfa
 
ic.opt - package ic.opt
 
id - Variable in class ic.cfg.BasicBlock
 
in - Variable in class ic.dfa.DataFlowAnalysis
Map for the in values
in(BasicBlock) - Method in class ic.dfa.DataFlowAnalysis
Return in[b].
instr - Variable in class ic.cfg.BasicBlock
 
isForward() - Method in class ic.dfa.DataFlowAnalysis
Return true iff the analysis is a forward analysis.
isForward() - Method in class ic.dfa.ReachableAnalysis
 
isForward() - Method in class ic.dfa.ReachableAnalysisWithVisitor
 
iterator() - Method in class ic.cfg.ControlFlowGraph
Returns an iterator for the blocks.

M

meet(T, T) - Method in class ic.dfa.DataFlowAnalysis
Return the meet of t1 and t2 in the lattice.
meet(Boolean, Boolean) - Method in class ic.dfa.ReachableAnalysis
 
meet(Boolean, Boolean) - Method in class ic.dfa.ReachableAnalysisWithVisitor
 

N

newBlock(TInstr) - Method in class ic.cfg.ControlFlowGraph
Allocate a new block that holds the given instruction.

O

Optimization - Class in ic.opt
To create an optimization, simply subclass this class and define optimize(md) to compute any dataflow information necessary to perform the optimization on md and then modify the method's TAC list.
Optimization() - Constructor for class ic.opt.Optimization
 
optimize(Program) - Method in class ic.opt.Optimization
Apply the optimization to each Method in p.
optimize(MethodDecl) - Method in class ic.opt.Optimization
Apply the optimization to the method md.
out - Variable in class ic.dfa.DataFlowAnalysis
Map for the out values
out(BasicBlock) - Method in class ic.dfa.DataFlowAnalysis
Return out[b].

P

predecessors - Variable in class ic.cfg.BasicBlock
 

R

ReachableAnalysis - Class in ic.dfa
A simple analysis to determine whether there are unreachable statements in a program.
ReachableAnalysis(ControlFlowGraph) - Constructor for class ic.dfa.ReachableAnalysis
 
ReachableAnalysisWithVisitor - Class in ic.dfa
Same as ReachableAnalysis, but illustrates how to leverage the TAC visitor pattern (if you have one) to implement the transfer functions in a relatively elegant way.
ReachableAnalysisWithVisitor(ControlFlowGraph) - Constructor for class ic.dfa.ReachableAnalysisWithVisitor
 

S

setEnter(BasicBlock) - Method in class ic.cfg.ControlFlowGraph
Set the block representing enter.
setExit(BasicBlock) - Method in class ic.cfg.ControlFlowGraph
Set the block representing exit.
solve() - Method in class ic.dfa.DataFlowAnalysis
Solve a dataflow instance with the iterative algorithm.
solveBackward() - Method in class ic.dfa.DataFlowAnalysis
Solve a backward analysis.
solveForward() - Method in class ic.dfa.DataFlowAnalysis
Solve a forward analysis and set up in and out.
successors - Variable in class ic.cfg.BasicBlock
 

T

top() - Method in class ic.dfa.DataFlowAnalysis
Top value in the lattice of T elements.
top() - Method in class ic.dfa.ReachableAnalysis
 
top() - Method in class ic.dfa.ReachableAnalysisWithVisitor
 
toString() - Method in class ic.cfg.BasicBlock
A printable rep for a block.
toString() - Method in class ic.cfg.ControlFlowGraph
Return a string rep for a CFG.
toString() - Method in class ic.dfa.DataFlowAnalysis
Print out the in/out values for each basic block.
transfer(TInstr, T) - Method in class ic.dfa.DataFlowAnalysis
Return the result of applying the transfer function for instr to t.
transfer(TInstr, Boolean) - Method in class ic.dfa.ReachableAnalysis
 
transfer(TInstr, Boolean) - Method in class ic.dfa.ReachableAnalysisWithVisitor
 

V

visit(TBinary, Boolean) - Method in class ic.dfa.ReachableAnalysisWithVisitor
 
visit(TCopy, Boolean) - Method in class ic.dfa.ReachableAnalysisWithVisitor
 

A B C D E G I M N O P R S T V