Lines Matching defs:Root
74 Shape *Root;
186 : Root(nullptr), MinSize(false), BlockIdCounter(1),
213 void FindLive(Block *Root) {
215 ToInvestigate.push_back(Root);
728 Root = Analyzer(this).Process(AllBlocks, Entries, nullptr);
729 assert(Root);
775 void FindNaturals(Shape *Root, Shape *Otherwise = nullptr) {
776 if (Root->Next) {
777 Root->Natural = Root->Next;
778 FindNaturals(Root->Next, Otherwise);
780 Root->Natural = Otherwise;
783 ShapeSwitch(Root, [](SimpleShape* Simple) {
786 FindNaturals(iter.second, Root->Natural);
796 void RemoveUnneededFlows(Shape *Root, Shape *Natural = nullptr,
801 Shape *Next = Root;
803 Root = Next;
806 Root,
904 void FindLabeledLoops(Shape *Root) {
905 Shape *Next = Root;
907 Root = Next;
911 Root,
913 MultipleShape *Fused = dyn_cast<MultipleShape>(Root->Next);
955 Next = Root->Next;
965 Next = Root->Next;
971 Next = Root->Next;
976 void Process(Shape * Root) {
977 FindNaturals(Root);
978 RemoveUnneededFlows(Root);
979 FindLabeledLoops(Root);
983 PostOptimizer(this).Process(Root);