Home | History | Annotate | Download | only in AsmPrinter

Lines Matching full:funcinfo

302                                       const WinEHFuncInfo &FuncInfo) {
318 assert(FuncInfo.EHRegNodeEndOffset != INT_MAX);
320 Offset += FuncInfo.EHRegNodeEndOffset;
517 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
532 MCConstantExpr::create(FuncInfo.SEHSetFrameOffset, Ctx);
565 InvokeStateChangeIterator::range(FuncInfo, MF->begin(), Stop)) {
569 emitSEHActionsForRange(FuncInfo, LastStartLabel,
578 void WinException::emitSEHActionsForRange(const WinEHFuncInfo &FuncInfo,
592 const SEHUnwindMapEntry &UME = FuncInfo.SEHUnwindMap[State];
625 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
636 computeIP2StateTable(MF, FuncInfo, IPToStateTable);
644 getFrameIndexOffset(FuncInfo.UnwindHelpFrameIdx, FuncInfo);
649 if (!FuncInfo.CxxUnwindMap.empty())
652 if (!FuncInfo.TryBlockMap.empty())
665 // FuncInfo {
687 OS.EmitIntValue(FuncInfo.CxxUnwindMap.size(), 4);
693 OS.EmitIntValue(FuncInfo.TryBlockMap.size(), 4);
721 for (const CxxUnwindMapEntry &UME : FuncInfo.CxxUnwindMap) {
742 for (size_t I = 0, E = FuncInfo.TryBlockMap.size(); I != E; ++I) {
743 const WinEHTryBlockMapEntry &TBME = FuncInfo.TryBlockMap[I];
758 assert(TBME.CatchHigh < int(FuncInfo.CxxUnwindMap.size()) &&
784 for (size_t I = 0, E = FuncInfo.TryBlockMap.size(); I != E; ++I) {
785 const WinEHTryBlockMapEntry &TBME = FuncInfo.TryBlockMap[I];
803 int Offset = getFrameIndexOffset(HT.CatchObj.FrameIndex, FuncInfo);
849 const MachineFunction *MF, const WinEHFuncInfo &FuncInfo,
877 assert(FuncInfo.FuncletBaseStateMap.count(FuncletPad) != 0);
878 BaseState = FuncInfo.FuncletBaseStateMap.find(FuncletPad)->second;
886 FuncInfo, FuncletStart, FuncletEnd, BaseState)) {
902 void WinException::emitEHRegistrationOffsetLabel(const WinEHFuncInfo &FuncInfo,
914 *Asm->MF, FuncInfo.EHRegNodeFrameIndex, UnusedReg);
933 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
934 emitEHRegistrationOffsetLabel(FuncInfo, FLinkageName);
980 if (FuncInfo.EHGuardFrameIndex != INT_MAX) {
983 int EHGuardIdx = FuncInfo.EHGuardFrameIndex;
998 assert(!FuncInfo.SEHUnwindMap.empty());
999 for (const SEHUnwindMapEntry &UME : FuncInfo.SEHUnwindMap) {
1015 static int getTryRank(const WinEHFuncInfo &FuncInfo, int State) {
1019 State = FuncInfo.ClrEHUnwindMap[State].TryParentState;
1024 static int getTryAncestor(const WinEHFuncInfo &FuncInfo, int Left, int Right) {
1025 int LeftRank = getTryRank(FuncInfo, Left);
1026 int RightRank = getTryRank(FuncInfo, Right);
1029 Right = FuncInfo.ClrEHUnwindMap[Right].TryParentState;
1034 Left = FuncInfo.ClrEHUnwindMap[Left].TryParentState;
1039 Left = FuncInfo.ClrEHUnwindMap[Left].TryParentState;
1040 Right = FuncInfo.ClrEHUnwindMap[Right].TryParentState;
1051 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
1066 int NumStates = FuncInfo.ClrEHUnwindMap.size();
1071 FuncInfo.ClrEHUnwindMap[State].Handler.get<MachineBasicBlock *>();
1076 assert(FuncInfo.ClrEHUnwindMap[State].HandlerParentState < State &&
1136 InvokeStateChangeIterator::range(FuncInfo, FuncletStart, FuncletEnd)) {
1139 getTryAncestor(FuncInfo, CurrentState, StateChange.NewState);
1147 CurrentState = FuncInfo.ClrEHUnwindMap[CurrentState].TryParentState;
1161 FuncInfo.ClrEHUnwindMap[EnteredState].TryParentState) {
1231 const ClrEHUnwindMapEntry &Entry = FuncInfo.ClrEHUnwindMap[Clause.State];