Lines Matching refs:DestReg

62     unsigned DestReg;
77 PHIInfoElementT *findPHIInfoElement(unsigned DestReg);
84 void addDest(unsigned DestReg, const DebugLoc &DL);
86 void deleteDef(unsigned DestReg);
87 void addSource(unsigned DestReg, unsigned SourceReg,
89 void removeSource(unsigned DestReg, unsigned SourceReg,
92 unsigned &DestReg);
94 unsigned getNumSources(unsigned DestReg);
131 return Info->DestReg; in phiInfoElementGetDest()
136 Info->DestReg = NewDef; in phiInfoElementSetDef()
178 PHILinearize::findPHIInfoElement(unsigned DestReg) { in findPHIInfoElement() argument
180 if (phiInfoElementGetDest(I) == DestReg) { in findPHIInfoElement()
215 void PHILinearize::addDest(unsigned DestReg, const DebugLoc &DL) { in addDest() argument
216 assert(findPHIInfoElement(DestReg) == nullptr && "Dest already exsists"); in addDest()
219 NewElement->DestReg = DestReg; in addDest()
229 void PHILinearize::deleteDef(unsigned DestReg) { in deleteDef() argument
230 PHIInfoElementT *InfoElement = findPHIInfoElement(DestReg); in deleteDef()
235 void PHILinearize::addSource(unsigned DestReg, unsigned SourceReg, in addSource() argument
237 phiInfoElementAddSource(findPHIInfoElement(DestReg), SourceReg, SourceMBB); in addSource()
240 void PHILinearize::removeSource(unsigned DestReg, unsigned SourceReg, in removeSource() argument
242 phiInfoElementRemoveSource(findPHIInfoElement(DestReg), SourceReg, SourceMBB); in removeSource()
246 unsigned &DestReg) { in findDest() argument
250 DestReg = phiInfoElementGetDest(InfoElement); in findDest()
257 unsigned DestReg; in isSource() local
258 return findDest(Reg, SourceMBB, DestReg); in isSource()
261 unsigned PHILinearize::getNumSources(unsigned DestReg) { in getNumSources() argument
262 return phiInfoElementGetSources(findPHIInfoElement(DestReg)).size(); in getNumSources()
271 dbgs() << "Dest: " << printReg(Element.DestReg, TRI) in dump()
1164 void createEntryPHI(LinearizedRegion *CurrentRegion, unsigned DestReg);
1190 LinearizedRegion *InnerRegion, unsigned DestReg,
1405 unsigned DestReg = getPHIDestReg(PHI); in storePHILinearizationInfo() local
1407 MRI->createVirtualRegister(MRI->getRegClass(DestReg)); in storePHILinearizationInfo()
1569 auto DestReg = getPHIDestReg(PHI); in replaceEntryPHI() local
1570 replaceRegisterWith(DestReg, CombinedSourceReg); in replaceEntryPHI()
1971 unsigned DestReg, in insertChainedPHI() argument
1983 InnerRegion->replaceRegisterInsideRegion(SourceReg, DestReg, true, MRI); in insertChainedPHI()
1987 storePHILinearizationInfoDest(DestReg, *DefInstr); in insertChainedPHI()
1990 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
1997 InnerRegion->replaceRegisterOutsideRegion(SourceReg, DestReg, false, MRI); in insertChainedPHI()
1999 const TargetRegisterClass *RegClass = MRI->getRegClass(DestReg); in insertChainedPHI()
2001 bool IsLastDef = PHIInfo.getNumSources(DestReg) == 1; in insertChainedPHI()
2003 insertMergePHI(IfBB, InnerRegion->getExit(), MergeBB, DestReg, NextDestReg, in insertChainedPHI()
2006 PHIInfo.removeSource(DestReg, SourceReg, CodeBB); in insertChainedPHI()
2011 PHIInfo.deleteDef(DestReg); in insertChainedPHI()
2013 PHIInfo.replaceDef(DestReg, NextDestReg); in insertChainedPHI()
2082 unsigned DestReg; in rewriteLiveOutRegs() local
2083 PHIInfo.findDest(SI, CodeBB, DestReg); in rewriteLiveOutRegs()
2084 insertChainedPHI(IfBB, CodeBB, MergeBB, InnerRegion, DestReg, SI); in rewriteLiveOutRegs()
2100 unsigned DestReg = *DRI; in prunePHIInfo() local
2101 auto SE = PHIInfo.sources_end(DestReg); in prunePHIInfo()
2105 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2116 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in prunePHIInfo()
2123 std::make_tuple(DestReg, SourceReg, SourceMBB)); in prunePHIInfo()
2139 unsigned DestReg) { in createEntryPHI() argument
2147 auto SE = PHIInfo.sources_end(DestReg); in createEntryPHI()
2149 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2154 auto SRI = PHIInfo.sources_begin(DestReg); in createEntryPHI()
2156 replaceRegisterWith(DestReg, SourceReg); in createEntryPHI()
2160 TII->get(TargetOpcode::PHI), DestReg); in createEntryPHI()
2161 LLVM_DEBUG(dbgs() << "Entry PHI " << printReg(DestReg, TRI) << " = PHI("); in createEntryPHI()
2165 for (auto SRI = PHIInfo.sources_begin(DestReg); SRI != SE; ++SRI) { in createEntryPHI()
2219 unsigned DestReg = *DRI; in createEntryPHIs() local
2220 createEntryPHI(CurrentRegion, DestReg); in createEntryPHIs()
2263 unsigned DestReg = *DRI; in resolvePHIInfos() local
2264 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) << "\n"); in resolvePHIInfos()
2265 auto SRI = PHIInfo.sources_begin(DestReg); in resolvePHIInfos()
2267 LLVM_DEBUG(dbgs() << "DestReg: " << printReg(DestReg, TRI) in resolvePHIInfos()
2270 assert(PHIInfo.sources_end(DestReg) == ++SRI && in resolvePHIInfos()
2272 replaceRegisterWith(DestReg, SourceReg); in resolvePHIInfos()