Lines Matching refs:DestReg

43     unsigned DestReg;
58 PHIInfoElementT *findPHIInfoElement(unsigned DestReg);
65 void addDest(unsigned DestReg, const DebugLoc &DL);
67 void deleteDef(unsigned DestReg);
68 void addSource(unsigned DestReg, unsigned SourceReg,
70 void removeSource(unsigned DestReg, unsigned SourceReg,
73 unsigned &DestReg);
75 unsigned getNumSources(unsigned DestReg);
112 return Info->DestReg; in phiInfoElementGetDest()
117 Info->DestReg = NewDef; in phiInfoElementSetDef()
159 PHILinearize::findPHIInfoElement(unsigned DestReg) { in findPHIInfoElement() argument
161 if (phiInfoElementGetDest(I) == DestReg) { in findPHIInfoElement()
196 void PHILinearize::addDest(unsigned DestReg, const DebugLoc &DL) { in addDest() argument
197 assert(findPHIInfoElement(DestReg) == nullptr && "Dest already exists"); in addDest()
200 NewElement->DestReg = DestReg; in addDest()
210 void PHILinearize::deleteDef(unsigned DestReg) { in deleteDef() argument
211 PHIInfoElementT *InfoElement = findPHIInfoElement(DestReg); in deleteDef()
216 void PHILinearize::addSource(unsigned DestReg, unsigned SourceReg, in addSource() argument
218 phiInfoElementAddSource(findPHIInfoElement(DestReg), SourceReg, SourceMBB); in addSource()
221 void PHILinearize::removeSource(unsigned DestReg, unsigned SourceReg, in removeSource() argument
223 phiInfoElementRemoveSource(findPHIInfoElement(DestReg), SourceReg, SourceMBB); in removeSource()
227 unsigned &DestReg) { in findDest() argument
231 DestReg = phiInfoElementGetDest(InfoElement); in findDest()
238 unsigned DestReg; in isSource() local
239 return findDest(Reg, SourceMBB, DestReg); in isSource()
242 unsigned PHILinearize::getNumSources(unsigned DestReg) { in getNumSources() argument
243 return phiInfoElementGetSources(findPHIInfoElement(DestReg)).size(); in getNumSources()
252 dbgs() << "Dest: " << printReg(Element.DestReg, TRI) in dump()
1143 void createEntryPHI(LinearizedRegion *CurrentRegion, unsigned DestReg);
1169 LinearizedRegion *InnerRegion, unsigned DestReg,
1377 unsigned DestReg = getPHIDestReg(PHI); in storePHILinearizationInfo() local
1379 MRI->createVirtualRegister(MRI->getRegClass(DestReg)); in storePHILinearizationInfo()
1537 auto DestReg = getPHIDestReg(PHI); in replaceEntryPHI() local
1538 replaceRegisterWith(DestReg, CombinedSourceReg); in replaceEntryPHI()
1924 unsigned DestReg, in insertChainedPHI() argument
1936 InnerRegion->replaceRegisterInsideRegion(SourceReg, DestReg, true, MRI); in insertChainedPHI()
1940 storePHILinearizationInfoDest(DestReg, *DefInstr); in insertChainedPHI()
1943 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
1950 InnerRegion->replaceRegisterOutsideRegion(SourceReg, DestReg, false, MRI); in insertChainedPHI()
1952 const TargetRegisterClass *RegClass = MRI->getRegClass(DestReg); in insertChainedPHI()
1954 bool IsLastDef = PHIInfo.getNumSources(DestReg) == 1; in insertChainedPHI()
1956 insertMergePHI(IfBB, InnerRegion->getExit(), MergeBB, DestReg, NextDestReg, in insertChainedPHI()
1959 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
1964 PHIInfo.deleteDef(DestReg); in insertChainedPHI()
1966 PHIInfo.replaceDef(DestReg, NextDestReg); in insertChainedPHI()
2035 unsigned DestReg; in rewriteLiveOutRegs() local
2036 PHIInfo.findDest(SI, CodeBB, DestReg); in rewriteLiveOutRegs()
2037 insertChainedPHI(IfBB, CodeBB, MergeBB, InnerRegion, DestReg, SI); in rewriteLiveOutRegs()
2053 unsigned DestReg = *DRI; in prunePHIInfo() local
2054 auto SE = PHIInfo.sources_end(DestReg); in prunePHIInfo()
2058 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2069 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2076 std::make_tuple(DestReg, SourceReg, SourceMBB)); in prunePHIInfo()
2092 unsigned DestReg) { in createEntryPHI() argument
2100 auto SE = PHIInfo.sources_end(DestReg); in createEntryPHI()
2102 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2107 auto SRI = PHIInfo.sources_begin(DestReg); in createEntryPHI()
2109 replaceRegisterWith(DestReg, SourceReg); in createEntryPHI()
2113 TII->get(TargetOpcode::PHI), DestReg); in createEntryPHI()
2114 LLVM_DEBUG(dbgs() << "Entry PHI " << printReg(DestReg, TRI) << " = PHI("); in createEntryPHI()
2118 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2172 unsigned DestReg = *DRI; in createEntryPHIs() local
2173 createEntryPHI(CurrentRegion, DestReg); in createEntryPHIs()
2216 unsigned DestReg = *DRI; in resolvePHIInfos() local
2217 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) << "\n"); in resolvePHIInfos()
2218 auto SRI = PHIInfo.sources_begin(DestReg); in resolvePHIInfos()
2220 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) in resolvePHIInfos()
2223 assert(PHIInfo.sources_end(DestReg) == ++SRI && in resolvePHIInfos()
2225 replaceRegisterWith(DestReg, SourceReg); in resolvePHIInfos()