Lines Matching refs:ThunkFn

42                                llvm::Function *ThunkFn, bool ForVTable,  in setThunkProperties()  argument
44 CGM.setFunctionLinkage(GD, ThunkFn); in setThunkProperties()
45 CGM.getCXXABI().setThunkLinkage(ThunkFn, ForVTable, GD, in setThunkProperties()
49 CGM.setGVProperties(ThunkFn, GD); in setThunkProperties()
52 ThunkFn->setDLLStorageClass(llvm::GlobalValue::DefaultStorageClass); in setThunkProperties()
53 ThunkFn->setDSOLocal(true); in setThunkProperties()
56 if (CGM.supportsCOMDAT() && ThunkFn->isWeakForLinker()) in setThunkProperties()
57 ThunkFn->setComdat(CGM.getModule().getOrInsertComdat(ThunkFn->getName())); in setThunkProperties()
548 llvm::Function *ThunkFn = cast<llvm::Function>(Thunk->stripPointerCasts()); in maybeEmitThunk() local
549 if (ThunkFn->getFunctionType() != ThunkFnTy) { in maybeEmitThunk()
550 llvm::GlobalValue *OldThunkFn = ThunkFn; in maybeEmitThunk()
556 ThunkFn = llvm::Function::Create(ThunkFnTy, llvm::Function::ExternalLinkage, in maybeEmitThunk()
558 CGM.SetLLVMFunctionAttributes(MD, FnInfo, ThunkFn, /*IsThunk=*/false); in maybeEmitThunk()
561 OldThunkFn->replaceAllUsesWith(ThunkFn); in maybeEmitThunk()
571 if (!ThunkFn->isDeclaration()) { in maybeEmitThunk()
574 return ThunkFn; in maybeEmitThunk()
577 setThunkProperties(CGM, TI, ThunkFn, ForVTable, GD); in maybeEmitThunk()
578 return ThunkFn; in maybeEmitThunk()
586 ThunkFn->addFnAttr("thunk"); in maybeEmitThunk()
588 CGM.SetLLVMFunctionAttributesForDefinition(GD.getDecl(), ThunkFn); in maybeEmitThunk()
596 if (!IsUnprototyped && ThunkFn->isVarArg()) { in maybeEmitThunk()
613 return ThunkFn; in maybeEmitThunk()
614 ThunkFn = in maybeEmitThunk()
615 CodeGenFunction(CGM).GenerateVarArgsThunk(ThunkFn, FnInfo, GD, TI); in maybeEmitThunk()
618 CodeGenFunction(CGM).generateThunk(ThunkFn, FnInfo, GD, TI, IsUnprototyped); in maybeEmitThunk()
621 setThunkProperties(CGM, TI, ThunkFn, ForVTable, GD); in maybeEmitThunk()
622 return ThunkFn; in maybeEmitThunk()