示例#1
0
        public HashSet <IBaseBlock> ComputeIDF(IBaseBlock block)
        {
            List <IBaseBlock> t = new List <IBaseBlock>();

            t.Add(block);
            return(ComputeIDF(t));
        }
示例#2
0
 public void Flush()
 {
     if (!_currentBlock.Enumerate().Any())
     {
         return;
     }
     _blocks.Add(_currentBlock);
     _currentBlock = new BaseBlock();
 }
示例#3
0
 public HashSet <LabelValue> UseLabels(IBaseBlock b)
 {
     return(new HashSet <LabelValue>(Use[b].Select(d => d.Item1)));
 }
示例#4
0
 static IEnumerable <Tuple <LabelValue, IdentificatorValue> > CalcGen(IBaseBlock block)
 {
     return(block.Enumerate()
            .Where(IsDefinition)
            .Select(t => Tuple.Create(t.Label, t.AsDefinition())));
 }
示例#5
0
 public HashSet <LabelValue> KillLabels(IBaseBlock b)
 {
     return(new HashSet <LabelValue>(Kill[b].Select(d => d.Item1)));
 }
示例#6
0
文件: CFGNode.cs 项目: nikki161/b8
 public CFGNode(IBaseBlock val)
 {
     Value = val;
 }