Skip to content

Commit 22dec88

Browse files
committed
Fix PointerType constructor deprecation
1 parent cda1e01 commit 22dec88

File tree

6 files changed

+52
-56
lines changed

6 files changed

+52
-56
lines changed

src/ccall.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,7 +1299,7 @@ std::string generate_func_sig(const char *fname)
12991299
}
13001300
retattrs.addAttribute(Attribute::NoAlias);
13011301
paramattrs.push_back(AttributeSet::get(LLVMCtx, retattrs));
1302-
fargt_sig.push_back(PointerType::get(lrt, 0));
1302+
fargt_sig.push_back(PointerType::get(LLVMCtx, 0));
13031303
sret = 1;
13041304
prt = lrt;
13051305
}
@@ -1357,7 +1357,7 @@ std::string generate_func_sig(const char *fname)
13571357
pat = t;
13581358
}
13591359
else if (byRef) {
1360-
pat = PointerType::get(t, AddressSpace::Derived);
1360+
pat = PointerType::get(LLVMCtx, AddressSpace::Derived);
13611361
}
13621362
else {
13631363
pat = abi->preferred_llvm_type((jl_datatype_t*)tti, false, LLVMCtx);

src/cgutils.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ static Value *decay_derived(jl_codectx_t &ctx, Value *V)
6060
if (T->getPointerAddressSpace() == AddressSpace::Derived)
6161
return V;
6262
// Once llvm deletes pointer element types, we won't need it here any more either.
63-
Type *NewT = PointerType::get(T, AddressSpace::Derived);
63+
Type *NewT = PointerType::get(T->getContext(), AddressSpace::Derived);
6464
return ctx.builder.CreateAddrSpaceCast(V, NewT);
6565
}
6666

@@ -70,15 +70,15 @@ static Value *maybe_decay_tracked(jl_codectx_t &ctx, Value *V)
7070
Type *T = V->getType();
7171
if (T->getPointerAddressSpace() != AddressSpace::Tracked)
7272
return V;
73-
Type *NewT = PointerType::get(T, AddressSpace::Derived);
73+
Type *NewT = PointerType::get(T->getContext(), AddressSpace::Derived);
7474
return ctx.builder.CreateAddrSpaceCast(V, NewT);
7575
}
7676

7777
static Value *mark_callee_rooted(jl_codectx_t &ctx, Value *V)
7878
{
7979
assert(V->getType() == ctx.types().T_pjlvalue || V->getType() == ctx.types().T_prjlvalue);
8080
return ctx.builder.CreateAddrSpaceCast(V,
81-
PointerType::get(ctx.types().T_jlvalue, AddressSpace::CalleeRooted));
81+
PointerType::get(V->getContext(), AddressSpace::CalleeRooted));
8282
}
8383

8484
AtomicOrdering get_llvm_atomic_order(enum jl_memory_order order)
@@ -707,13 +707,13 @@ static unsigned jl_field_align(jl_datatype_t *dt, size_t i)
707707

708708
static llvm::StructType* get_jlmemoryref(llvm::LLVMContext &C, unsigned AS) {
709709
return llvm::StructType::get(C, {
710-
llvm::PointerType::get(llvm::Type::getInt8Ty(C), AS),
710+
llvm::PointerType::get(C, AS),
711711
JuliaType::get_prjlvalue_ty(C),
712712
});
713713
}
714714
static llvm::StructType* get_jlmemoryboxedref(llvm::LLVMContext &C, unsigned AS) {
715715
return llvm::StructType::get(C, {
716-
llvm::PointerType::get(JuliaType::get_prjlvalue_ty(C), AS),
716+
llvm::PointerType::get(C, AS),
717717
JuliaType::get_prjlvalue_ty(C),
718718
});
719719
}
@@ -3822,7 +3822,7 @@ static void recursively_adjust_ptr_type(llvm::Value *Val, unsigned FromAS, unsig
38223822
for (auto *User : Val->users()) {
38233823
if (isa<GetElementPtrInst>(User)) {
38243824
GetElementPtrInst *Inst = cast<GetElementPtrInst>(User);
3825-
Inst->mutateType(PointerType::get(Inst->getType(), ToAS));
3825+
Inst->mutateType(PointerType::get(Inst->getContext(), ToAS));
38263826
recursively_adjust_ptr_type(Inst, FromAS, ToAS);
38273827
}
38283828
else if (isa<IntrinsicInst>(User)) {
@@ -3831,7 +3831,7 @@ static void recursively_adjust_ptr_type(llvm::Value *Val, unsigned FromAS, unsig
38313831
}
38323832
else if (isa<BitCastInst>(User)) {
38333833
BitCastInst *Inst = cast<BitCastInst>(User);
3834-
Inst->mutateType(PointerType::get(Inst->getType(), ToAS));
3834+
Inst->mutateType(PointerType::get(Inst->getContext(), ToAS));
38353835
recursively_adjust_ptr_type(Inst, FromAS, ToAS);
38363836
}
38373837
}
@@ -4965,7 +4965,7 @@ static Value *emit_memoryref_ptr(jl_codectx_t &ctx, const jl_cgval_t &ref, const
49654965
if (!GEPlist.empty()) {
49664966
for (auto &GEP : make_range(GEPlist.rbegin(), GEPlist.rend())) {
49674967
GetElementPtrInst *GEP2 = cast<GetElementPtrInst>(GEP->clone());
4968-
GEP2->mutateType(PointerType::get(GEP->getResultElementType(), AS));
4968+
GEP2->mutateType(PointerType::get(GEP->getContext(), AS));
49694969
GEP2->setOperand(GetElementPtrInst::getPointerOperandIndex(), data);
49704970
GEP2->setIsInBounds(true);
49714971
ctx.builder.Insert(GEP2);

src/codegen.cpp

Lines changed: 38 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -304,23 +304,23 @@ struct jl_typecache_t {
304304
// use pointer abi alignment for intptr_t
305305
alignof_ptr = DL.getPointerABIAlignment(0);
306306
T_jlvalue = JuliaType::get_jlvalue_ty(context);
307-
T_pjlvalue = PointerType::get(T_jlvalue, 0);
308-
T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
309-
T_ppjlvalue = PointerType::get(T_pjlvalue, 0);
310-
T_pprjlvalue = PointerType::get(T_prjlvalue, 0);
307+
T_pjlvalue = getPointerTy(context);
308+
T_prjlvalue = PointerType::get(context, AddressSpace::Tracked);
309+
T_ppjlvalue = getPointerTy(context);
310+
T_pprjlvalue = getPointerTy(context);
311311

312312
T_jlfunc = JuliaType::get_jlfunc_ty(context);
313313
assert(T_jlfunc != NULL);
314314
T_jlfuncparams = JuliaType::get_jlfuncparams_ty(context);
315315
assert(T_jlfuncparams != NULL);
316316

317317
T_jlgenericmemory = StructType::get(context, { T_size, T_pprjlvalue /* [, real-owner] */ });
318-
Type *vaelts[] = { PointerType::get(getInt8Ty(context), AddressSpace::Loaded),
319-
PointerType::get(T_jlgenericmemory, AddressSpace::Tracked),
318+
Type *vaelts[] = { PointerType::get(context, AddressSpace::Loaded),
319+
PointerType::get(context, AddressSpace::Tracked),
320320
// dimsize[ndims]
321321
};
322322
T_jlarray = StructType::get(context, ArrayRef<Type*>(vaelts));
323-
T_pjlarray = PointerType::get(T_jlarray, 0);
323+
T_pjlarray = getPointerTy(context);
324324
}
325325
};
326326

@@ -757,7 +757,7 @@ static const auto jlboxed_uint8_cache = new JuliaVariable{
757757

758758
static const auto jlpgcstack_func = new JuliaFunction<>{
759759
"julia.get_pgcstack",
760-
[](LLVMContext &C) { return FunctionType::get(PointerType::get(JuliaType::get_ppjlvalue_ty(C), 0), false); },
760+
[](LLVMContext &C) { return FunctionType::get(getPointerTy(C), false); },
761761
nullptr,
762762
};
763763

@@ -788,7 +788,7 @@ static const auto jlsplatnew_func = new JuliaFunction<>{
788788
static const auto jlthrow_func = new JuliaFunction<>{
789789
XSTR(jl_throw),
790790
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
791-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
791+
{PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
792792
get_attrs_noreturn,
793793
};
794794
static const auto jlerror_func = new JuliaFunction<>{
@@ -812,34 +812,34 @@ static const auto jlatomicerror_func = new JuliaFunction<>{
812812
static const auto jltypeerror_func = new JuliaFunction<>{
813813
XSTR(jl_type_error),
814814
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
815-
{getPointerTy(C), JuliaType::get_prjlvalue_ty(C), PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
815+
{getPointerTy(C), JuliaType::get_prjlvalue_ty(C), PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
816816
get_attrs_noreturn,
817817
};
818818
static const auto jlundefvarerror_func = new JuliaFunction<>{
819819
XSTR(jl_undefined_var_error),
820820
[](LLVMContext &C) {
821-
Type *T = PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted);
821+
Type *T = PointerType::get(C, AddressSpace::CalleeRooted);
822822
return FunctionType::get(getVoidTy(C), {T, T}, false);
823823
},
824824
get_attrs_noreturn,
825825
};
826826
static const auto jlhasnofield_func = new JuliaFunction<>{
827827
XSTR(jl_has_no_field_error),
828828
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
829-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted),
830-
PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
829+
{PointerType::get(C, AddressSpace::CalleeRooted),
830+
PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
831831
get_attrs_noreturn,
832832
};
833833
static const auto jlboundserrorv_func = new JuliaFunction<TypeFnContextAndSizeT>{
834834
XSTR(jl_bounds_error_ints),
835835
[](LLVMContext &C, Type *T_size) { return FunctionType::get(getVoidTy(C),
836-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted), PointerType::getUnqual(T_size->getContext()), T_size}, false); },
836+
{PointerType::get(C, AddressSpace::CalleeRooted), getPointerTy(C), T_size}, false); },
837837
get_attrs_noreturn,
838838
};
839839
static const auto jlboundserror_func = new JuliaFunction<TypeFnContextAndSizeT>{
840840
XSTR(jl_bounds_error_int),
841841
[](LLVMContext &C, Type *T_size) { return FunctionType::get(getVoidTy(C),
842-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted), T_size}, false); },
842+
{PointerType::get(C, AddressSpace::CalleeRooted), T_size}, false); },
843843
get_attrs_noreturn,
844844
};
845845
static const auto jlvboundserror_func = new JuliaFunction<TypeFnContextAndSizeT>{
@@ -852,15 +852,15 @@ static const auto jluboundserror_func = new JuliaFunction<TypeFnContextAndSizeT>
852852
XSTR(jl_bounds_error_unboxed_int),
853853
[](LLVMContext &C, Type *T_size) {
854854
return FunctionType::get(getVoidTy(C),
855-
{PointerType::get(getInt8Ty(C), AddressSpace::Derived), JuliaType::get_pjlvalue_ty(C), T_size}, false); },
855+
{PointerType::get(C, AddressSpace::Derived), JuliaType::get_pjlvalue_ty(C), T_size}, false); },
856856
get_attrs_noreturn,
857857
};
858858
static const auto jlcheckassign_func = new JuliaFunction<>{
859859
XSTR(jl_checked_assignment),
860860
[](LLVMContext &C) {
861861
auto T_pjlvalue = JuliaType::get_pjlvalue_ty(C);
862862
return FunctionType::get(getVoidTy(C),
863-
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
863+
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
864864
nullptr,
865865
};
866866
static const auto jlcheckreplace_func = new JuliaFunction<>{
@@ -887,7 +887,7 @@ static const auto jlcheckswap_func = new JuliaFunction<>{
887887
auto T_pjlvalue = JuliaType::get_pjlvalue_ty(C);
888888
auto T_prjlvalue = JuliaType::get_prjlvalue_ty(C);
889889
return FunctionType::get(T_prjlvalue,
890-
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
890+
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
891891
nullptr,
892892
};
893893
static const auto jlcheckassignonce_func = new JuliaFunction<>{
@@ -896,7 +896,7 @@ static const auto jlcheckassignonce_func = new JuliaFunction<>{
896896
auto T_pjlvalue = JuliaType::get_pjlvalue_ty(C);
897897
auto T_prjlvalue = JuliaType::get_prjlvalue_ty(C);
898898
return FunctionType::get(T_prjlvalue,
899-
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
899+
{T_pjlvalue, T_pjlvalue, T_pjlvalue, PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
900900
nullptr,
901901
};
902902
static const auto jldeclareglobal_func = new JuliaFunction<>{
@@ -991,9 +991,8 @@ static const auto jlopaque_closure_call_func = new JuliaFunction<>{
991991
static const auto jlmethod_func = new JuliaFunction<>{
992992
XSTR(jl_method_def),
993993
[](LLVMContext &C) {
994-
auto T_jlvalue = JuliaType::get_jlvalue_ty(C);
995-
auto T_pjlvalue = PointerType::get(T_jlvalue, 0);
996-
auto T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
994+
auto T_pjlvalue = getPointerTy(C);
995+
auto T_prjlvalue = PointerType::get(C, AddressSpace::Tracked);
997996
return FunctionType::get(T_prjlvalue,
998997
{T_prjlvalue, T_prjlvalue, T_prjlvalue, T_pjlvalue}, false);
999998
},
@@ -1002,17 +1001,16 @@ static const auto jlmethod_func = new JuliaFunction<>{
10021001
static const auto jlgenericfunction_func = new JuliaFunction<>{
10031002
XSTR(jl_declare_const_gf),
10041003
[](LLVMContext &C) {
1005-
auto T_jlvalue = JuliaType::get_jlvalue_ty(C);
1006-
auto T_pjlvalue = PointerType::get(T_jlvalue, 0);
1007-
auto T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
1004+
auto T_pjlvalue = getPointerTy(C);
1005+
auto T_prjlvalue = PointerType::get(C, AddressSpace::Tracked);
10081006
return FunctionType::get(T_prjlvalue, {T_pjlvalue, T_pjlvalue}, false);
10091007
},
10101008
nullptr,
10111009
};
10121010
static const auto jllockvalue_func = new JuliaFunction<>{
10131011
XSTR(jl_lock_value),
10141012
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
1015-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
1013+
{PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
10161014
[](LLVMContext &C) { return AttributeList::get(C,
10171015
AttributeSet(),
10181016
AttributeSet(),
@@ -1021,7 +1019,7 @@ static const auto jllockvalue_func = new JuliaFunction<>{
10211019
static const auto jlunlockvalue_func = new JuliaFunction<>{
10221020
XSTR(jl_unlock_value),
10231021
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
1024-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::CalleeRooted)}, false); },
1022+
{PointerType::get(C, AddressSpace::CalleeRooted)}, false); },
10251023
[](LLVMContext &C) { return AttributeList::get(C,
10261024
AttributeSet(),
10271025
AttributeSet(),
@@ -1030,7 +1028,7 @@ static const auto jlunlockvalue_func = new JuliaFunction<>{
10301028
static const auto jllockfield_func = new JuliaFunction<>{
10311029
XSTR(jl_lock_field),
10321030
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
1033-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::Loaded)}, false); },
1031+
{PointerType::get(C, AddressSpace::Loaded)}, false); },
10341032
[](LLVMContext &C) { return AttributeList::get(C,
10351033
AttributeSet(),
10361034
AttributeSet(),
@@ -1039,7 +1037,7 @@ static const auto jllockfield_func = new JuliaFunction<>{
10391037
static const auto jlunlockfield_func = new JuliaFunction<>{
10401038
XSTR(jl_unlock_field),
10411039
[](LLVMContext &C) { return FunctionType::get(getVoidTy(C),
1042-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::Loaded)}, false); },
1040+
{PointerType::get(C, AddressSpace::Loaded)}, false); },
10431041
[](LLVMContext &C) { return AttributeList::get(C,
10441042
AttributeSet(),
10451043
AttributeSet(),
@@ -1110,7 +1108,7 @@ static const auto jl_excstack_state_func = new JuliaFunction<TypeFnContextAndSiz
11101108
static const auto jlegalx_func = new JuliaFunction<TypeFnContextAndSizeT>{
11111109
XSTR(jl_egal__unboxed),
11121110
[](LLVMContext &C, Type *T_size) {
1113-
Type *T = PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::Derived);
1111+
Type *T = PointerType::get(C, AddressSpace::Derived);
11141112
return FunctionType::get(getInt32Ty(C), {T, T, T_size}, false); },
11151113
[](LLVMContext &C) {
11161114
AttrBuilder FnAttrs(C);
@@ -1124,9 +1122,8 @@ static const auto jlegalx_func = new JuliaFunction<TypeFnContextAndSizeT>{
11241122
static const auto jl_alloc_obj_func = new JuliaFunction<TypeFnContextAndSizeT>{
11251123
"julia.gc_alloc_obj",
11261124
[](LLVMContext &C, Type *T_size) {
1127-
auto T_jlvalue = JuliaType::get_jlvalue_ty(C);
1128-
auto T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
1129-
auto T_pjlvalue = PointerType::get(T_jlvalue, 0);
1125+
auto T_pjlvalue = getPointerTy(C);
1126+
auto T_prjlvalue = PointerType::get(C, AddressSpace::Tracked);
11301127
return FunctionType::get(T_prjlvalue,
11311128
{T_pjlvalue, T_size, T_prjlvalue}, false);
11321129
},
@@ -1149,9 +1146,8 @@ static const auto jl_alloc_obj_func = new JuliaFunction<TypeFnContextAndSizeT>{
11491146
static const auto jl_alloc_genericmemory_unchecked_func = new JuliaFunction<TypeFnContextAndSizeT>{
11501147
XSTR(jl_alloc_genericmemory_unchecked),
11511148
[](LLVMContext &C, Type *T_size) {
1152-
auto T_jlvalue = JuliaType::get_jlvalue_ty(C);
1153-
auto T_prjlvalue = PointerType::get(T_jlvalue, AddressSpace::Tracked);
1154-
auto T_pjlvalue = PointerType::get(T_jlvalue, 0);
1149+
auto T_pjlvalue = getPointerTy(C);
1150+
auto T_prjlvalue = PointerType::get(C, AddressSpace::Tracked);
11551151
return FunctionType::get(T_prjlvalue,
11561152
{T_pjlvalue, T_size, T_pjlvalue}, false);
11571153
},
@@ -1258,7 +1254,7 @@ static const auto jlapplytype_func = new JuliaFunction<>{
12581254
static const auto jl_object_id__func = new JuliaFunction<TypeFnContextAndSizeT>{
12591255
XSTR(jl_object_id_),
12601256
[](LLVMContext &C, Type *T_size) { return FunctionType::get(T_size,
1261-
{T_size, PointerType::get(getInt8Ty(C), AddressSpace::Derived)}, false); },
1257+
{T_size, PointerType::get(C, AddressSpace::Derived)}, false); },
12621258
nullptr,
12631259
};
12641260
static const auto setjmp_func = new JuliaFunction<TypeFnContextAndTriple>{
@@ -1354,7 +1350,7 @@ static const auto jlfieldisdefinedchecked_func = new JuliaFunction<TypeFnContext
13541350
static const auto jlgetcfunctiontrampoline_func = new JuliaFunction<>{
13551351
XSTR(jl_get_cfunction_trampoline),
13561352
[](LLVMContext &C) {
1357-
auto T_pjlvalue = PointerType::get(C, 0);
1353+
auto T_pjlvalue = getPointerTy(C);
13581354
auto T_prjlvalue = PointerType::get(C, AddressSpace::Tracked);
13591355
auto T_derived = PointerType::get(C, AddressSpace::Derived);
13601356
return FunctionType::get(T_prjlvalue,
@@ -1476,7 +1472,7 @@ static const auto gc_preserve_end_func = new JuliaFunction<> {
14761472
static const auto pointer_from_objref_func = new JuliaFunction<>{
14771473
"julia.pointer_from_objref",
14781474
[](LLVMContext &C) { return FunctionType::get(JuliaType::get_pjlvalue_ty(C),
1479-
{PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::Derived)}, false); },
1475+
{PointerType::get(C, AddressSpace::Derived)}, false); },
14801476
[](LLVMContext &C) {
14811477
AttrBuilder FnAttrs(C);
14821478
FnAttrs.addMemoryAttr(MemoryEffects::none());
@@ -1497,8 +1493,8 @@ static const auto gc_loaded_func = new JuliaFunction<>{
14971493
// top:
14981494
// %metadata GC base pointer is ptr(Tracked)
14991495
// ret addrspacecast ptr to ptr(Loaded)
1500-
[](LLVMContext &C) { return FunctionType::get(PointerType::get(JuliaType::get_prjlvalue_ty(C), AddressSpace::Loaded),
1501-
{JuliaType::get_prjlvalue_ty(C), PointerType::get(JuliaType::get_prjlvalue_ty(C), 0)}, false); },
1496+
[](LLVMContext &C) { return FunctionType::get(PointerType::get(C, AddressSpace::Loaded),
1497+
{JuliaType::get_prjlvalue_ty(C), getPointerTy(C)}, false); },
15021498
[](LLVMContext &C) {
15031499
AttrBuilder FnAttrs(C);
15041500
FnAttrs.addAttribute(Attribute::NoSync);
@@ -1557,7 +1553,7 @@ static const auto julia_call3 = new JuliaFunction<>{
15571553
"julia.call3",
15581554
[](LLVMContext &C) {
15591555
auto T_prjlvalue = JuliaType::get_prjlvalue_ty(C);
1560-
Type *T = PointerType::get(JuliaType::get_jlvalue_ty(C), AddressSpace::Derived);
1556+
Type *T = PointerType::get(C, AddressSpace::Derived);
15611557
return FunctionType::get(T_prjlvalue,
15621558
{getPointerTy(C),
15631559
T}, // %f

src/llvm-final-gc-lowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void FinalLowerGC::lowerPushGCFrame(CallInst *target, Function &F)
5151
builder.CreateAlignedLoad(T_ppjlvalue, pgcstack, Align(sizeof(void*)), "task.gcstack"),
5252
builder.CreatePointerCast(
5353
builder.CreateConstInBoundsGEP1_32(T_prjlvalue, gcframe, 1, "frame.prev"),
54-
PointerType::get(T_ppjlvalue, 0)),
54+
PointerType::get(T_ppjlvalue->getContext(), 0)),
5555
Align(sizeof(void*)));
5656
inst->setMetadata(LLVMContext::MD_tbaa, tbaa_gcframe);
5757
builder.CreateAlignedStore(

0 commit comments

Comments
 (0)