Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Function

72       case Dtor_Comdat: llvm_unreachable("emitting dtor comdat as function?");
357 void setThunkLinkage(llvm::Function *Thunk, bool ForVTable,
381 ArrayRef<llvm::Function *> CXXThreadLocalInits,
397 // two-argument usual array deallocation function isn't sufficient.
592 /// function member pointers.
608 /// \brief Generate a thunk for calling a virtual member function MD.
609 llvm::Function *EmitVirtualMemPtrThunk(
727 auto *Fn = cast<llvm::Function>(
735 llvm::Function *getAddrOfCXXCtorClosure(const CXXConstructorDecl *CD,
1014 llvm::Constant *Function = CGF.CGM.CreateRuntimeFunction(
1020 ThisPtr = CGF.EmitRuntimeCallOrInvoke(Function, Args).getInstruction();
1033 llvm::Constant *Function = CGF.CGM.CreateRuntimeFunction(
1037 return CGF.EmitRuntimeCall(Function, Args);
1091 // If it's a free function, non-POD types are returned indirectly.
1192 // argument -or- they get a wrapper function
1196 llvm::Function *Fn = getAddrOfCXXCtorClosure(D, Ctor_DefaultClosure);
1300 // If the call of a virtual function is not virtual, we just have to
1301 // compensate for the adjustment the virtual function does in its prologue.
1399 // In this ABI, every virtual function takes a pointer to one of the
1422 /// If this is a function that the ABI specifies returns 'this', initialize
1423 /// the return slot to 'this' at the start of the function.
1508 // The location of the first virtual function pointer in the virtual table,
1885 llvm::Function *MicrosoftCXXABI::EmitVirtualMemPtrThunk(
1898 return cast<llvm::Function>(GV);
1900 // Create the llvm::Function.
1903 llvm::Function *ThunkFn =
1904 llvm::Function::Create(ThunkTy, llvm::Function::ExternalLinkage,
1936 // Start defining the function.
2125 // two-argument usual deallocation function.
2131 // two-argument usual deallocation function.
2177 // Create a function which calls the destructor.
2186 if (llvm::Function *TLRegDtorFn = dyn_cast<llvm::Function>(TLRegDtor))
2204 ArrayRef<llvm::Function *> CXXThreadLocalInits,
2207 // initialization function. The CRT will call all of these function
2209 auto AddToXDU = [&CGM](llvm::Function *InitFunc) {
2221 std::vector<llvm::Function *> NonComdatInits;
2225 llvm::Function *F = CXXThreadLocalInits[I];
2237 llvm::Function *InitFunc = CGM.CreateGlobalInitOrDestructFunction(
2336 llvm::Function *F = CGF.CurFn;
2355 // Get the guard variable for this function if we have one already.
2416 "static local from the same function had different linkage");
2495 // Null-ness for function memptrs only depends on the first field, which is
2496 // the function pointer. The rest don't matter, so we can zero initialize.
2671 assert(MD->isInstance() && "Member function must not be static!");
2683 // Check whether the function has a computable LLVM signature.
2685 // The function has a computable LLVM signature; use the correct type.
2688 // Use an arbitrary non-function type to tell GetAddrOfFunction that the
2689 // function type is incomplete.
2716 /// null. Null-ness for function members is determined by the first field,
2765 // Check if the first field is 0 if this is a function pointer.
2795 // For function member pointers, we only need to test the function pointer
2811 // Function pointers are null if the pointer in the first field is null.
2818 // If it's not a function pointer and it's zero initializable, we can easily
3751 llvm::Function *Fn = CGM.codegenCXXStructor(ctor, StructorType::Complete);
3778 llvm::Function *Fn = CGM.codegenCXXStructor(dtor, dtorType);
3792 llvm::Function *
3804 return cast<llvm::Function>(GV);
3806 // Create the llvm::Function.
3811 llvm::Function *ThunkFn = llvm::Function::Create(
3848 // Start defining the function.
4141 // The cleanup-function (a destructor) must be called when the exception
4176 // runtime function.