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 exsists"); 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()
1148 void createEntryPHI(LinearizedRegion *CurrentRegion, unsigned DestReg);
1174 LinearizedRegion *InnerRegion, unsigned DestReg,
1389 unsigned DestReg = getPHIDestReg(PHI); in storePHILinearizationInfo() local
1391 MRI->createVirtualRegister(MRI->getRegClass(DestReg)); in storePHILinearizationInfo()
1549 auto DestReg = getPHIDestReg(PHI); in replaceEntryPHI() local
1550 replaceRegisterWith(DestReg, CombinedSourceReg); in replaceEntryPHI()
1951 unsigned DestReg, in insertChainedPHI() argument
1963 InnerRegion->replaceRegisterInsideRegion(SourceReg, DestReg, true, MRI); in insertChainedPHI()
1967 storePHILinearizationInfoDest(DestReg, *DefInstr); in insertChainedPHI()
1970 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
1977 InnerRegion->replaceRegisterOutsideRegion(SourceReg, DestReg, false, MRI); in insertChainedPHI()
1979 const TargetRegisterClass *RegClass = MRI->getRegClass(DestReg); in insertChainedPHI()
1981 bool IsLastDef = PHIInfo.getNumSources(DestReg) == 1; in insertChainedPHI()
1983 insertMergePHI(IfBB, InnerRegion->getExit(), MergeBB, DestReg, NextDestReg, in insertChainedPHI()
1986 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
1991 PHIInfo.deleteDef(DestReg); in insertChainedPHI()
1993 PHIInfo.replaceDef(DestReg, NextDestReg); in insertChainedPHI()
2062 unsigned DestReg; in rewriteLiveOutRegs() local
2063 PHIInfo.findDest(SI, CodeBB, DestReg); in rewriteLiveOutRegs()
2064 insertChainedPHI(IfBB, CodeBB, MergeBB, InnerRegion, DestReg, SI); in rewriteLiveOutRegs()
2080 unsigned DestReg = *DRI; in prunePHIInfo() local
2081 auto SE = PHIInfo.sources_end(DestReg); in prunePHIInfo()
2085 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2096 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2103 std::make_tuple(DestReg, SourceReg, SourceMBB)); in prunePHIInfo()
2119 unsigned DestReg) { in createEntryPHI() argument
2127 auto SE = PHIInfo.sources_end(DestReg); in createEntryPHI()
2129 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2134 auto SRI = PHIInfo.sources_begin(DestReg); in createEntryPHI()
2136 replaceRegisterWith(DestReg, SourceReg); in createEntryPHI()
2140 TII->get(TargetOpcode::PHI), DestReg); in createEntryPHI()
2141 LLVM_DEBUG(dbgs() << "Entry PHI " << printReg(DestReg, TRI) << " = PHI("); in createEntryPHI()
2145 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2199 unsigned DestReg = *DRI; in createEntryPHIs() local
2200 createEntryPHI(CurrentRegion, DestReg); in createEntryPHIs()
2243 unsigned DestReg = *DRI; in resolvePHIInfos() local
2244 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) << "\n"); in resolvePHIInfos()
2245 auto SRI = PHIInfo.sources_begin(DestReg); in resolvePHIInfos()
2247 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) in resolvePHIInfos()
2250 assert(PHIInfo.sources_end(DestReg) == ++SRI && in resolvePHIInfos()
2252 replaceRegisterWith(DestReg, SourceReg); in resolvePHIInfos()