Custom Made CFGs
hi,
I wish to create a CFG in which each node consists of a a block of sequential statements [as opposed to the one node per statement that Phoenix builds on its own]. Is it better to create it from scratch ?, or manipulate the CFG built by Phoenix by merging nodes etc. For e.g, a program which has a bunch of sequential statements, a loop, and then another bunch of sequential statements will have a CFG with 3 nodes, in addition to the start/end nodes.
Also, in the code sample for enumerating the aliases of a particular tag
Alias::Info ^ info = func->AliasInfo;
Alias::Tag tag;
BitVector::Sparse::Position sbvPos;
Alias::Tag aliasTag;
for (aliasTag = info->GetFirstMayPartialAlias(tag, sbvPos);
aliasTag != safe_cast(Alias::Constants::InvalidTag);
aliasTag = info->GetNextMayPartialAlias(tag, sbvPos))
{
// Enumerating all the direct and indirect aliased locations
}
the first condition in the for loop gives me the following error :
error C2664: 'Phx::Alias::Info::GetNextMayPartialAlias' : cannot convert parameter 2 from 'Phx::BitVector::Sparse::Position' to 'cli::interior_ptr'
1> with
1> [
1> Type=Phx::BitVector::Sparse::Position
1> ]
Any help will be much appreciated.
regards ...

