Home | History | Annotate | Download | only in AsmPrinter

Lines Matching full:funcinfo

303                                       const WinEHFuncInfo &FuncInfo) {
310 assert(FuncInfo.EHRegNodeEndOffset != INT_MAX);
312 Offset += FuncInfo.EHRegNodeEndOffset;
509 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
518 MCConstantExpr::create(FuncInfo.SEHSetFrameOffset, Ctx);
550 InvokeStateChangeIterator::range(FuncInfo, MF->begin(), Stop)) {
554 emitSEHActionsForRange(FuncInfo, LastStartLabel,
563 void WinException::emitSEHActionsForRange(const WinEHFuncInfo &FuncInfo,
571 const SEHUnwindMapEntry &UME = FuncInfo.SEHUnwindMap[State];
599 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
610 computeIP2StateTable(MF, FuncInfo, IPToStateTable);
618 getFrameIndexOffset(FuncInfo.UnwindHelpFrameIdx, FuncInfo);
623 if (!FuncInfo.CxxUnwindMap.empty())
626 if (!FuncInfo.TryBlockMap.empty())
633 // FuncInfo {
651 OS.EmitIntValue(FuncInfo.CxxUnwindMap.size(), 4); // MaxState
653 OS.EmitIntValue(FuncInfo.TryBlockMap.size(), 4); // NumTryBlocks
668 for (const CxxUnwindMapEntry &UME : FuncInfo.CxxUnwindMap) {
686 for (size_t I = 0, E = FuncInfo.TryBlockMap.size(); I != E; ++I) {
687 const WinEHTryBlockMapEntry &TBME = FuncInfo.TryBlockMap[I];
702 assert(TBME.CatchHigh < int(FuncInfo.CxxUnwindMap.size()) &&
719 for (size_t I = 0, E = FuncInfo.TryBlockMap.size(); I != E; ++I) {
720 const WinEHTryBlockMapEntry &TBME = FuncInfo.TryBlockMap[I];
738 int Offset = getFrameIndexOffset(HT.CatchObj.FrameIndex, FuncInfo);
771 const MachineFunction *MF, const WinEHFuncInfo &FuncInfo,
799 assert(FuncInfo.FuncletBaseStateMap.count(FuncletPad) != 0);
800 BaseState = FuncInfo.FuncletBaseStateMap.find(FuncletPad)->second;
808 FuncInfo, FuncletStart, FuncletEnd, BaseState)) {
824 void WinException::emitEHRegistrationOffsetLabel(const WinEHFuncInfo &FuncInfo,
836 *Asm->MF, FuncInfo.EHRegNodeFrameIndex, UnusedReg);
849 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
850 emitEHRegistrationOffsetLabel(FuncInfo, FLinkageName);
883 assert(!FuncInfo.SEHUnwindMap.empty());
884 for (const SEHUnwindMapEntry &UME : FuncInfo.SEHUnwindMap) {
896 static int getRank(const WinEHFuncInfo &FuncInfo, int State) {
900 State = FuncInfo.ClrEHUnwindMap[State].Parent;
905 static int getAncestor(const WinEHFuncInfo &FuncInfo, int Left, int Right) {
906 int LeftRank = getRank(FuncInfo, Left);
907 int RightRank = getRank(FuncInfo, Right);
910 Right = FuncInfo.ClrEHUnwindMap[Right].Parent;
915 Left = FuncInfo.ClrEHUnwindMap[Left].Parent;
920 Left = FuncInfo.ClrEHUnwindMap[Left].Parent;
921 Right = FuncInfo.ClrEHUnwindMap[Right].Parent;
932 const WinEHFuncInfo &FuncInfo = *MF->getWinEHFuncInfo();
947 int NumStates = FuncInfo.ClrEHUnwindMap.size();
952 FuncInfo.ClrEHUnwindMap[State].Handler.get<MachineBasicBlock *>();
957 assert(FuncInfo.ClrEHUnwindMap[State].Parent < State &&
1018 InvokeStateChangeIterator::range(FuncInfo, FuncletStart, FuncletEnd)) {
1021 getAncestor(FuncInfo, CurrentState, StateChange.NewState);
1028 CurrentState = FuncInfo.ClrEHUnwindMap[CurrentState].Parent;
1041 EnteredState = FuncInfo.ClrEHUnwindMap[EnteredState].Parent) {
1111 const ClrEHUnwindMapEntry &Entry = FuncInfo.ClrEHUnwindMap[Clause.State];