{
Compiler* m_compiler;
- bool m_changed;
- bool m_hasPossibleBackEdge;
+ bool m_changed;
+ bool m_hasPossibleBackEdge;
bool m_heapLiveIn;
bool m_heapLiveOut;
VARSET_TP m_liveOut;
LiveVarAnalysis(Compiler* compiler)
- : m_compiler(compiler), m_changed(false), m_hasPossibleBackEdge(false), m_heapLiveIn(false), m_heapLiveOut(false), m_liveIn(VarSetOps::MakeEmpty(compiler)), m_liveOut(VarSetOps::MakeEmpty(compiler))
+ : m_compiler(compiler)
+ , m_changed(false)
+ , m_hasPossibleBackEdge(false)
+ , m_heapLiveIn(false)
+ , m_heapLiveOut(false)
+ , m_liveIn(VarSetOps::MakeEmpty(compiler))
+ , m_liveOut(VarSetOps::MakeEmpty(compiler))
{
}
- void PerBlock(BasicBlock* block, bool updateInternalOnly, bool keepAliveThis)
+ void PerBlockAnalysis(BasicBlock* block, bool updateInternalOnly, bool keepAliveThis)
{
/* Compute the 'liveOut' set */
VarSetOps::ClearD(m_compiler, m_liveOut);
/* Has there been any change in either live set? */
- if (!VarSetOps::Equal(m_compiler, block->bbLiveIn, m_liveIn) || !VarSetOps::Equal(m_compiler, block->bbLiveOut, m_liveOut))
+ if (!VarSetOps::Equal(m_compiler, block->bbLiveIn, m_liveIn) ||
+ !VarSetOps::Equal(m_compiler, block->bbLiveOut, m_liveOut))
{
if (updateInternalOnly)
{
noway_assert(block->bbFlags & BBF_INTERNAL);
- if (!VarSetOps::Equal(m_compiler, VarSetOps::Intersection(m_compiler, block->bbLiveIn, m_liveIn), m_liveIn) ||
- !VarSetOps::Equal(m_compiler, VarSetOps::Intersection(m_compiler, block->bbLiveOut, m_liveOut), m_liveOut))
+ if (!VarSetOps::Equal(m_compiler, VarSetOps::Intersection(m_compiler, block->bbLiveIn, m_liveIn),
+ m_liveIn) ||
+ !VarSetOps::Equal(m_compiler, VarSetOps::Intersection(m_compiler, block->bbLiveOut, m_liveOut),
+ m_liveOut))
{
#ifdef DEBUG
if (m_compiler->verbose)
void Run(bool updateInternalOnly)
{
- const bool keepAliveThis = m_compiler->lvaKeepAliveAndReportThis() && m_compiler->lvaTable[m_compiler->info.compThisArg].lvTracked;
+ const bool keepAliveThis =
+ m_compiler->lvaKeepAliveAndReportThis() && m_compiler->lvaTable[m_compiler->info.compThisArg].lvTracked;
/* Live Variable Analysis - Backward dataflow */
do
}
}
- PerBlock(block, updateInternalOnly, keepAliveThis);
+ PerBlockAnalysis(block, updateInternalOnly, keepAliveThis);
}
// if there is no way we could have processed a block without seeing all of its predecessors
// then there is no need to iterate