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
ControlFlowGraphandSymbolTable) using aIKilldallFrameworkbased 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
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic LiveAnalysis.Resultperform(ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg, SymbolTable symtab) static LiveAnalysis.Resultperform(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.
-