Lines Matching defs:DRS
785 DAGRootSet DRS;
786 DRS.BaseInst = nullptr;
789 if (!DRS.BaseInst) {
790 DRS.BaseInst = KV.second;
791 DRS.SubsumedInsts = SubsumedInsts;
792 } else if (DRS.Roots.empty()) {
793 DRS.Roots.push_back(KV.second);
795 DRS.Roots.push_back(KV.second);
798 RootSets.push_back(DRS);
799 DRS.BaseInst = KV.second;
800 DRS.SubsumedInsts = SubsumedInsts;
801 DRS.Roots.clear();
804 RootSets.push_back(DRS);
886 for (auto &DRS : RootSets) {
887 Exclude.insert(DRS.Roots.begin(), DRS.Roots.end());
888 Exclude.insert(DRS.SubsumedInsts.begin(), DRS.SubsumedInsts.end());
889 Exclude.insert(DRS.BaseInst);
893 for (auto &DRS : RootSets) {
895 collectInLoopUserSet(DRS.BaseInst, Exclude, PossibleRedSet, VBase);
901 for (auto *Root : DRS.Roots) {
918 for (auto *I : DRS.SubsumedInsts) {
926 for (auto &DRS : RootSets) {
927 Exclude.insert(DRS.Roots.begin(), DRS.Roots.end());
928 Exclude.insert(DRS.SubsumedInsts.begin(), DRS.SubsumedInsts.end());
929 Exclude.insert(DRS.BaseInst);
957 for (auto &DRS : RootSets) {
958 if (DRS.BaseInst == I)
965 for (auto &DRS : RootSets) {
966 if (std::find(DRS.Roots.begin(), DRS.Roots.end(), I) != DRS.Roots.end())
1204 for (auto &DRS : RootSets) {
1205 if (DRS.Roots[Iter-1] == (Instruction*) Op2) {
1206 Op2 = DRS.BaseInst;
1279 for (auto &DRS : RootSets) {
1282 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst));
1293 KV.first->replaceUsesOfWith(DRS.BaseInst, NewIV);