Class LiveAnalysis
java.lang.Object
com.ibm.wala.cast.ir.ssa.analysis.LiveAnalysis
- Author:
- Julian Dolby
Live-value analysis for a method's IR (or
ControlFlowGraph
andSymbolTable
) using aIKilldallFramework
based implementation.Pre-requisites - Knowledge of SSA form: control flow graphs, basic blocks, Phi instructions - Knowledge of data flow analysis theory.
Implementation notes:
- The solver uses node transfer functions only. - Performance: inverts the CFG to traverse backwards (backward analysis).
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic LiveAnalysis.Result
perform
(ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg, SymbolTable symtab) static LiveAnalysis.Result
perform
(ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg, SymbolTable symtab, BitVector considerLiveAtExit) static LiveAnalysis.Result
-
Constructor Details
-
LiveAnalysis
public LiveAnalysis()
-
-
Method Details
-
perform
-
perform
public static LiveAnalysis.Result perform(ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg, SymbolTable symtab) -
perform
public static LiveAnalysis.Result perform(ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg, SymbolTable symtab, BitVector considerLiveAtExit) - Parameters:
considerLiveAtExit
- given set (of variables) to consider to be live after the exit.todo: used once in
SSAConversion
; Explain better the purpose.
-