public HashSet <IBaseBlock> ComputeIDF(IBaseBlock block) { List <IBaseBlock> t = new List <IBaseBlock>(); t.Add(block); return(ComputeIDF(t)); }
public void Flush() { if (!_currentBlock.Enumerate().Any()) { return; } _blocks.Add(_currentBlock); _currentBlock = new BaseBlock(); }
public HashSet <LabelValue> UseLabels(IBaseBlock b) { return(new HashSet <LabelValue>(Use[b].Select(d => d.Item1))); }
static IEnumerable <Tuple <LabelValue, IdentificatorValue> > CalcGen(IBaseBlock block) { return(block.Enumerate() .Where(IsDefinition) .Select(t => Tuple.Create(t.Label, t.AsDefinition()))); }
public HashSet <LabelValue> KillLabels(IBaseBlock b) { return(new HashSet <LabelValue>(Kill[b].Select(d => d.Item1))); }
public CFGNode(IBaseBlock val) { Value = val; }