Lines Matching refs:Thunk
460 Function *Thunk = Function::Create(X64Ty, GlobalValue::LinkOnceODRLinkage, 0, in buildEntryThunk() local
462 Thunk->setCallingConv(CallingConv::ARM64EC_Thunk_X64); in buildEntryThunk()
463 Thunk->setSection(".wowthk$aa"); in buildEntryThunk()
464 Thunk->setComdat(M->getOrInsertComdat(EntryThunkName)); in buildEntryThunk()
466 Thunk->addFnAttr("frame-pointer", "all"); in buildEntryThunk()
469 BasicBlock *BB = BasicBlock::Create(M->getContext(), "", Thunk); in buildEntryThunk()
477 unsigned PassthroughArgSize = F->isVarArg() ? 5 : Thunk->arg_size(); in buildEntryThunk()
482 Value *Arg = Thunk->getArg(i); in buildEntryThunk()
505 Thunk->addParamAttr(5, Attribute::InReg); in buildEntryThunk()
506 Value *Arg = Thunk->getArg(5); in buildEntryThunk()
515 Value *Callee = Thunk->getArg(0); in buildEntryThunk()
522 Thunk->addParamAttr(1, SRetAttr); in buildEntryThunk()
528 IRB.CreateStore(RetVal, IRB.CreateBitCast(Thunk->getArg(1), PtrTy)); in buildEntryThunk()
544 return Thunk; in buildEntryThunk()
590 Function *Thunk = buildExitThunk(F->getFunctionType(), F->getAttributes()); in buildGuestExitThunk() local
593 {B.CreateBitCast(F, B.getPtrTy()), B.CreateBitCast(Thunk, B.getPtrTy())}); in buildGuestExitThunk()
644 Function *Thunk = buildExitThunk(CB->getFunctionType(), CB->getAttributes()); in lowerCall() local
648 B.CreateBitCast(Thunk, B.getPtrTy())}, in lowerCall()
711 for (ThunkInfo &Thunk : ThunkMapping) { in runOnModule()
713 {ConstantExpr::getBitCast(Thunk.Src, PtrTy), in runOnModule()
714 ConstantExpr::getBitCast(Thunk.Dst, PtrTy), in runOnModule()
715 ConstantInt::get(M->getContext(), APInt(32, Thunk.Kind))})); in runOnModule()