mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-07 19:36:06 +03:00
Use _d_newarrayU instead of _d_newarrayvT
This commit is contained in:
parent
8f7f264c89
commit
50f729d415
5 changed files with 9 additions and 9 deletions
|
@ -617,7 +617,7 @@ DSliceValue* DtoNewDynArray(Loc& loc, Type* arrayType, DValue* dim, bool default
|
||||||
|
|
||||||
const char* fnname = defaultInit ?
|
const char* fnname = defaultInit ?
|
||||||
(zeroInit ? "_d_newarrayT" : "_d_newarrayiT") :
|
(zeroInit ? "_d_newarrayT" : "_d_newarrayiT") :
|
||||||
"_d_newarrayvT";
|
"_d_newarrayU";
|
||||||
LLFunction* fn = LLVM_D_GetRuntimeFunction(loc, gIR->module, fnname);
|
LLFunction* fn = LLVM_D_GetRuntimeFunction(loc, gIR->module, fnname);
|
||||||
|
|
||||||
// call allocator
|
// call allocator
|
||||||
|
|
|
@ -385,7 +385,7 @@ namespace {
|
||||||
Module* M;
|
Module* M;
|
||||||
|
|
||||||
TypeInfoFI AllocMemoryT;
|
TypeInfoFI AllocMemoryT;
|
||||||
ArrayFI NewArrayVT;
|
ArrayFI NewArrayU;
|
||||||
ArrayFI NewArrayT;
|
ArrayFI NewArrayT;
|
||||||
AllocClassFI AllocClass;
|
AllocClassFI AllocClass;
|
||||||
UntypedMemoryFI AllocMemory;
|
UntypedMemoryFI AllocMemory;
|
||||||
|
@ -427,12 +427,12 @@ FunctionPass *createGarbageCollect2Stack() {
|
||||||
GarbageCollect2Stack::GarbageCollect2Stack()
|
GarbageCollect2Stack::GarbageCollect2Stack()
|
||||||
: FunctionPass(ID),
|
: FunctionPass(ID),
|
||||||
AllocMemoryT(ReturnType::Pointer, 0),
|
AllocMemoryT(ReturnType::Pointer, 0),
|
||||||
NewArrayVT(ReturnType::Array, 0, 1, false),
|
NewArrayU(ReturnType::Array, 0, 1, false),
|
||||||
NewArrayT(ReturnType::Array, 0, 1, true),
|
NewArrayT(ReturnType::Array, 0, 1, true),
|
||||||
AllocMemory(0)
|
AllocMemory(0)
|
||||||
{
|
{
|
||||||
KnownFunctions["_d_allocmemoryT"] = &AllocMemoryT;
|
KnownFunctions["_d_allocmemoryT"] = &AllocMemoryT;
|
||||||
KnownFunctions["_d_newarrayvT"] = &NewArrayVT;
|
KnownFunctions["_d_newarrayU"] = &NewArrayU;
|
||||||
KnownFunctions["_d_newarrayT"] = &NewArrayT;
|
KnownFunctions["_d_newarrayT"] = &NewArrayT;
|
||||||
KnownFunctions["_d_newclass"] = &AllocClass;
|
KnownFunctions["_d_newclass"] = &AllocClass;
|
||||||
KnownFunctions["_d_allocmemory"] = &AllocMemory;
|
KnownFunctions["_d_allocmemory"] = &AllocMemory;
|
||||||
|
|
|
@ -343,7 +343,7 @@ void SimplifyDRuntimeCalls::InitOptimizations() {
|
||||||
Optimizations["_d_allocmemoryT"] = &Allocation;
|
Optimizations["_d_allocmemoryT"] = &Allocation;
|
||||||
Optimizations["_d_newarrayT"] = &Allocation;
|
Optimizations["_d_newarrayT"] = &Allocation;
|
||||||
Optimizations["_d_newarrayiT"] = &Allocation;
|
Optimizations["_d_newarrayiT"] = &Allocation;
|
||||||
Optimizations["_d_newarrayvT"] = &Allocation;
|
Optimizations["_d_newarrayU"] = &Allocation;
|
||||||
Optimizations["_d_newarraymT"] = &Allocation;
|
Optimizations["_d_newarraymT"] = &Allocation;
|
||||||
Optimizations["_d_newarraymiT"] = &Allocation;
|
Optimizations["_d_newarraymiT"] = &Allocation;
|
||||||
Optimizations["_d_newarraymvT"] = &Allocation;
|
Optimizations["_d_newarraymvT"] = &Allocation;
|
||||||
|
|
|
@ -88,7 +88,7 @@ static void checkForImplicitGCCall(const Loc &loc, const char *name)
|
||||||
"_d_newarrayiT",
|
"_d_newarrayiT",
|
||||||
"_d_newarraymT",
|
"_d_newarraymT",
|
||||||
"_d_newarraymiT",
|
"_d_newarraymiT",
|
||||||
"_d_newarrayvT",
|
"_d_newarrayU",
|
||||||
"_d_newclass",
|
"_d_newclass",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -410,11 +410,11 @@ static void LLVM_D_BuildRuntimeModule()
|
||||||
}
|
}
|
||||||
// void[] _d_newarrayT(TypeInfo ti, size_t length)
|
// void[] _d_newarrayT(TypeInfo ti, size_t length)
|
||||||
// void[] _d_newarrayiT(TypeInfo ti, size_t length)
|
// void[] _d_newarrayiT(TypeInfo ti, size_t length)
|
||||||
// void[] _d_newarrayvT(TypeInfo ti, size_t length)
|
// void[] _d_newarrayU(TypeInfo ti, size_t length)
|
||||||
{
|
{
|
||||||
llvm::StringRef fname("_d_newarrayT");
|
llvm::StringRef fname("_d_newarrayT");
|
||||||
llvm::StringRef fname2("_d_newarrayiT");
|
llvm::StringRef fname2("_d_newarrayiT");
|
||||||
llvm::StringRef fname3("_d_newarrayvT");
|
llvm::StringRef fname3("_d_newarrayU");
|
||||||
LLType *types[] = { typeInfoTy, sizeTy };
|
LLType *types[] = { typeInfoTy, sizeTy };
|
||||||
LLFunctionType* fty = llvm::FunctionType::get(voidArrayTy, types, false);
|
LLFunctionType* fty = llvm::FunctionType::get(voidArrayTy, types, false);
|
||||||
llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M);
|
llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit d2fa88202fed6e7c227eaa71d738ded658267079
|
Subproject commit 4e75437a2805f0e3e6882a0b36b438303e402383
|
Loading…
Add table
Add a link
Reference in a new issue