Example #1
0
        public void Reg00013()
        {
            ProcedureStructure proc = CompileTest("Fragments/regressions/r00013.asm");

            proc.DumpDerivedSequence(Console.Out);
            for (int j = 0; j < proc.DerivedGraphs.Count; ++j)
            {
                for (int i = 0; i < proc.DerivedGraphs[j].Intervals.Count; ++i)
                {
                    Interval      interval  = proc.DerivedGraphs[j].Intervals[i];
                    SccLoopFinder finder    = CreateSccLoopFinder(proc, interval, j);
                    var           loopNodes = finder.FindLoop();
                    var           items     = new List <StructureNode>(loopNodes);
                    items.Sort(delegate(StructureNode a, StructureNode b) { return(string.Compare(a.Name, b.Name)); });
                    foreach (StructureNode sn in items)
                    {
                        Console.Out.Write(sn.Name + " ");
                    }
                    Console.Out.WriteLine();
                }
            }
        }