Lines Matching +full:- +full:lp

1 //===-- llvm/CodeGen/MachineModuleInfo.cpp ----------------------*- C++ -*-===//
8 //===----------------------------------------------------------------------===//
57 /// Symbols - The symbols for the label.
66 /// BBCallbacks - Callbacks for the BasicBlock's that we have entries for. We
70 /// DeletedAddrLabelsNeedingEmission - This is a per-function list of symbols
95 assert(BB->hasAddressTaken() && in getAddrLabelSymbolToEmit()
101 assert(BB->getParent() == Entry.Fn && "Parent changed"); in getAddrLabelSymbolToEmit()
109 Entry.Index = BBCallbacks.size() - 1; in getAddrLabelSymbolToEmit()
110 Entry.Fn = BB->getParent(); in getAddrLabelSymbolToEmit()
115 /// takeDeletedSymbolsForFunction - If we have any deleted symbols for F, return
126 std::swap(Result, I->second); in takeDeletedSymbolsForFunction()
140 assert((BB->getParent() == nullptr || BB->getParent() == Entry.Fn) && in UpdateForDeletedBlock()
144 if (Sym->isDefined()) in UpdateForDeletedBlock()
179 Map->UpdateForDeletedBlock(cast<BasicBlock>(getValPtr())); in deleted()
183 Map->UpdateForRAUWBlock(cast<BasicBlock>(getValPtr()), cast<BasicBlock>(V2)); in allUsesReplacedWith()
187 //===----------------------------------------------------------------------===//
236 /// EndFunction - Discard function meta information.
255 //===- Address of Block Management ----------------------------------------===//
257 /// getAddrLabelSymbolToEmit - Return the symbol to be used for the specified
265 return AddrLabelSymbols->getAddrLabelSymbolToEmit(const_cast<BasicBlock*>(BB)); in getAddrLabelSymbolToEmit()
269 /// takeDeletedSymbolsForFunction - If the specified function has had any
270 /// references to address-taken blocks generated, but the block got deleted,
278 return AddrLabelSymbols-> in takeDeletedSymbolsForFunction()
282 //===- EH -----------------------------------------------------------------===//
284 /// getOrCreateLandingPadInfo - Find or create an LandingPadInfo for the
290 LandingPadInfo &LP = LandingPads[i]; in getOrCreateLandingPadInfo() local
291 if (LP.LandingPadBlock == LandingPad) in getOrCreateLandingPadInfo()
292 return LP; in getOrCreateLandingPadInfo()
299 /// addInvoke - Provide the begin and end labels of an invoke style call and
303 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addInvoke() local
304 LP.BeginLabels.push_back(BeginLabel); in addInvoke()
305 LP.EndLabels.push_back(EndLabel); in addInvoke()
308 /// addLandingPad - Provide the label of a try LandingPad block.
312 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addLandingPad() local
313 LP.LandingPadLabel = LandingPadLabel; in addLandingPad()
324 /// addCatchTypeInfo - Provide the catch typeinfo for a landing pad.
329 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addCatchTypeInfo() local
330 for (unsigned N = TyInfo.size(); N; --N) in addCatchTypeInfo()
331 LP.TypeIds.push_back(getTypeIDFor(TyInfo[N - 1])); in addCatchTypeInfo()
334 /// addFilterTypeInfo - Provide the filter typeinfo for a landing pad.
339 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addFilterTypeInfo() local
343 LP.TypeIds.push_back(getFilterIDFor(IdsInFilter)); in addFilterTypeInfo()
346 /// addCleanup - Add a cleanup action for a landing pad.
349 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addCleanup() local
350 LP.TypeIds.push_back(0); in addCleanup()
356 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addSEHCatchHandler() local
360 LP.SEHHandlers.push_back(Handler); in addSEHCatchHandler()
365 LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); in addSEHCleanupHandler() local
369 LP.SEHHandlers.push_back(Handler); in addSEHCleanupHandler()
372 /// TidyLandingPads - Remap landing pad labels and remove any deleted landing
378 !LandingPad.LandingPadLabel->isDefined() && in TidyLandingPads()
382 // Special case: we *should* emit LPs with null LP MBB. This indicates in TidyLandingPads()
392 if ((BeginLabel->isDefined() || in TidyLandingPads()
394 (EndLabel->isDefined() || in TidyLandingPads()
399 --j, --e; in TidyLandingPads()
402 // Remove landing pads with no try-ranges. in TidyLandingPads()
417 /// setCallSiteLandingPad - Map the landing pad's EH symbol to the call site
424 /// getTypeIDFor - Return the type id for the specified typeinfo. This is
434 /// getFilterIDFor - Return the filter id for the specified typeinfos. This is
438 // re-use the existing filter. Folding filters more than this requires in getFilterIDFor()
439 // re-ordering filters and/or their elements - probably not worth it. in getFilterIDFor()
445 if (FilterIds[--i] != TyIds[--j]) in getFilterIDFor()
450 return -(1 + i); in getFilterIDFor()
456 int FilterID = -(1 + FilterIds.size()); in getFilterIDFor()