Lines Matching refs:DRS
796 DAGRootSet DRS;
797 DRS.BaseInst = nullptr;
800 if (!DRS.BaseInst) {
801 DRS.BaseInst = KV.second;
802 DRS.SubsumedInsts = SubsumedInsts;
803 } else if (DRS.Roots.empty()) {
804 DRS.Roots.push_back(KV.second);
806 DRS.Roots.push_back(KV.second);
809 RootSets.push_back(DRS);
810 DRS.BaseInst = KV.second;
811 DRS.SubsumedInsts = SubsumedInsts;
812 DRS.Roots.clear();
815 RootSets.push_back(DRS);
900 for (auto &DRS : RootSets) {
901 Exclude.insert(DRS.Roots.begin(), DRS.Roots.end());
902 Exclude.insert(DRS.SubsumedInsts.begin(), DRS.SubsumedInsts.end());
903 Exclude.insert(DRS.BaseInst);
907 for (auto &DRS : RootSets) {
909 collectInLoopUserSet(DRS.BaseInst, Exclude, PossibleRedSet, VBase);
915 for (auto *Root : DRS.Roots) {
932 for (auto *I : DRS.SubsumedInsts) {
940 for (auto &DRS : RootSets) {
941 Exclude.insert(DRS.Roots.begin(), DRS.Roots.end());
942 Exclude.insert(DRS.SubsumedInsts.begin(), DRS.SubsumedInsts.end());
943 Exclude.insert(DRS.BaseInst);
971 for (auto &DRS : RootSets) {
972 if (DRS.BaseInst == I)
979 for (auto &DRS : RootSets) {
980 if (std::find(DRS.Roots.begin(), DRS.Roots.end(), I) != DRS.Roots.end())
1199 for (auto &DRS : RootSets) {
1200 if (DRS.Roots[Iter-1] == (Instruction*) Op2) {
1201 Op2 = DRS.BaseInst;
1273 for (auto &DRS : RootSets) {
1276 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst));
1288 KV.first->replaceUsesOfWith(DRS.BaseInst, NewIV);