Lines Matching defs:PC
50 ParseContext PC(G);
58 auto &CurSym = PC.AddrToSym[Sym->getAddress()];
65 if (auto Err = PC.AddrToBlock.addBlocks(Sec.blocks(),
81 if (auto Err = processBlock(PC, *B))
113 Error EHFrameEdgeFixer::processBlock(ParseContext &PC, Block &B) {
147 PC.G.getEndianness());
167 if (auto Err = processCIE(PC, B, CIEDeltaFieldOffset, BlockEdges))
170 if (auto Err = processFDE(PC, B, CIEDeltaFieldOffset, CIEDelta, BlockEdges))
177 Error EHFrameEdgeFixer::processCIE(ParseContext &PC, Block &B,
185 PC.G.getEndianness());
190 auto &CIESymbol = PC.G.addAnonymousSymbol(B, 0, B.getSize(), false, false);
207 if (auto Err = RecordReader.skip(PC.G.getPointerSize()))
255 PC, BlockEdges, *PersonalityPointerEncoding, RecordReader,
282 assert(!PC.CIEInfos.count(CIESymbol.getAddress()) &&
284 PC.CIEInfos[CIESymbol.getAddress()] = std::move(CIEInfo);
289 Error EHFrameEdgeFixer::processFDE(ParseContext &PC, Block &B,
299 PC.G.getEndianness());
304 auto &FDESymbol = PC.G.addAnonymousSymbol(B, 0, B.getSize(), false, false);
326 if (auto CIEInfoOrErr = PC.findCIEInfo(CIEAddress))
344 if (auto CIEInfoOrErr = PC.findCIEInfo(EI.Target->getAddress()))
351 // Process the PC-Begin field.
353 dbgs() << " Processing PC-begin at "
357 PC, BlockEdges, CIEInfo->AddressEncoding, RecordReader, B,
358 RecordReader.getOffset(), "PC begin")) {
359 assert(*PCBegin && "PC-begin symbol not set");
382 // Skip over the PC range size field.
393 PC, BlockEdges, CIEInfo->LSDAEncoding, RecordReader, B,
509 ParseContext &PC, const BlockEdgesInfo &BlockEdges, uint8_t PointerEncoding,
583 auto TargetSym = getOrCreateSymbol(PC, Target);
600 Expected<Symbol &> EHFrameEdgeFixer::getOrCreateSymbol(ParseContext &PC,
603 auto CanonicalSymI = PC.AddrToSym.find(Addr);
604 if (CanonicalSymI != PC.AddrToSym.end())
608 auto *B = PC.AddrToBlock.getBlockCovering(Addr);
614 PC.G.addAnonymousSymbol(*B, Addr - B->getAddress(), 0, false, false);
615 PC.AddrToSym[S.getAddress()] = &S;