@@ -45,9 +45,38 @@ typedef struct LLVMJitHandle
4545
4646/* types & functions commonly needed for JITing */
4747LLVMTypeRef TypeSizeT ;
48+ LLVMTypeRef TypePGFunction ;
49+ LLVMTypeRef StructHeapTupleFieldsField3 ;
50+ LLVMTypeRef StructHeapTupleFields ;
51+ LLVMTypeRef StructHeapTupleHeaderData ;
52+ LLVMTypeRef StructHeapTupleDataChoice ;
53+ LLVMTypeRef StructHeapTupleData ;
54+ LLVMTypeRef StructMinimalTupleData ;
55+ LLVMTypeRef StructItemPointerData ;
56+ LLVMTypeRef StructBlockId ;
57+ LLVMTypeRef StructFormPgAttribute ;
58+ LLVMTypeRef StructTupleConstr ;
59+ LLVMTypeRef StructtupleDesc ;
60+ LLVMTypeRef StructTupleTableSlot ;
61+ LLVMTypeRef StructMemoryContextData ;
62+ LLVMTypeRef StructPGFinfoRecord ;
63+ LLVMTypeRef StructFmgrInfo ;
64+ LLVMTypeRef StructFunctionCallInfoData ;
65+ LLVMTypeRef StructExprContext ;
66+ LLVMTypeRef StructExprEvalStep ;
67+ LLVMTypeRef StructExprState ;
68+ LLVMTypeRef StructAggState ;
69+ LLVMTypeRef StructAggStatePerGroupData ;
70+ LLVMTypeRef StructAggStatePerTransData ;
4871
4972LLVMValueRef AttributeTemplate ;
5073LLVMValueRef FuncStrlen ;
74+ LLVMValueRef FuncSlotGetsomeattrs ;
75+ LLVMValueRef FuncHeapGetsysattr ;
76+ LLVMValueRef FuncMakeExpandedObjectReadOnlyInternal ;
77+ LLVMValueRef FuncExecEvalArrayRefSubscript ;
78+ LLVMValueRef FuncExecAggTransReparent ;
79+ LLVMValueRef FuncExecAggInitGroup ;
5180
5281
5382static bool llvm_session_initialized = false;
@@ -647,9 +676,27 @@ llvm_create_types(void)
647676 llvm_layout = pstrdup (LLVMGetDataLayoutStr (mod ));
648677
649678 TypeSizeT = load_type (mod , "TypeSizeT" );
679+ TypePGFunction = load_type (mod , "TypePGFunction" );
680+ StructExprContext = load_type (mod , "StructExprContext" );
681+ StructExprEvalStep = load_type (mod , "StructExprEvalStep" );
682+ StructExprState = load_type (mod , "StructExprState" );
683+ StructFunctionCallInfoData = load_type (mod , "StructFunctionCallInfoData" );
684+ StructMemoryContextData = load_type (mod , "StructMemoryContextData" );
685+ StructTupleTableSlot = load_type (mod , "StructTupleTableSlot" );
686+ StructHeapTupleData = load_type (mod , "StructHeapTupleData" );
687+ StructtupleDesc = load_type (mod , "StructtupleDesc" );
688+ StructAggState = load_type (mod , "StructAggState" );
689+ StructAggStatePerGroupData = load_type (mod , "StructAggStatePerGroupData" );
690+ StructAggStatePerTransData = load_type (mod , "StructAggStatePerTransData" );
650691
651692 AttributeTemplate = LLVMGetNamedFunction (mod , "AttributeTemplate" );
652693 FuncStrlen = LLVMGetNamedFunction (mod , "strlen" );
694+ FuncSlotGetsomeattrs = LLVMGetNamedFunction (mod , "slot_getsomeattrs" );
695+ FuncHeapGetsysattr = LLVMGetNamedFunction (mod , "heap_getsysattr" );
696+ FuncMakeExpandedObjectReadOnlyInternal = LLVMGetNamedFunction (mod , "MakeExpandedObjectReadOnlyInternal" );
697+ FuncExecEvalArrayRefSubscript = LLVMGetNamedFunction (mod , "ExecEvalArrayRefSubscript" );
698+ FuncExecAggTransReparent = LLVMGetNamedFunction (mod , "ExecAggTransReparent" );
699+ FuncExecAggInitGroup = LLVMGetNamedFunction (mod , "ExecAggInitGroup" );
653700
654701 /*
655702 * Leave the module alive, otherwise references to function would be
0 commit comments