mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
+21
-11
@@ -470,7 +470,7 @@ DIFactory::DIFactory(Module &m)
|
||||
: M(m), VMContext(M.getContext()), StopPointFn(0), FuncStartFn(0),
|
||||
RegionStartFn(0), RegionEndFn(0),
|
||||
DeclareFn(0) {
|
||||
EmptyStructPtr = PointerType::getUnqual(StructType::get());
|
||||
EmptyStructPtr = PointerType::getUnqual(StructType::get(VMContext));
|
||||
}
|
||||
|
||||
/// getCastToEmpty - Return this descriptor as a Constant* with type '{}*'.
|
||||
@@ -546,7 +546,8 @@ DISubrange DIFactory::GetOrCreateSubrange(int64_t Lo, int64_t Hi) {
|
||||
ConstantInt::get(Type::Int64Ty, Hi)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
// If we already have this range, just return the uniqued version.
|
||||
DIDescriptor &Entry = SimpleConstantCache[Init];
|
||||
@@ -587,7 +588,8 @@ DICompileUnit DIFactory::CreateCompileUnit(unsigned LangID,
|
||||
ConstantInt::get(Type::Int32Ty, RunTimeVer)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.compile_unit.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -605,7 +607,8 @@ DIEnumerator DIFactory::CreateEnumerator(const std::string &Name, uint64_t Val){
|
||||
ConstantInt::get(Type::Int64Ty, Val)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.enumerator.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -638,7 +641,8 @@ DIBasicType DIFactory::CreateBasicType(DIDescriptor Context,
|
||||
ConstantInt::get(Type::Int32Ty, Encoding)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.basictype.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -673,7 +677,8 @@ DIDerivedType DIFactory::CreateDerivedType(unsigned Tag,
|
||||
getCastToEmpty(DerivedFrom)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.derivedtype.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -712,7 +717,8 @@ DICompositeType DIFactory::CreateCompositeType(unsigned Tag,
|
||||
ConstantInt::get(Type::Int32Ty, RuntimeLang)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.composite.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -749,7 +755,8 @@ DISubprogram DIFactory::CreateSubprogram(DIDescriptor Context,
|
||||
ConstantInt::get(Type::Int1Ty, isDefinition)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.subprogram.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -782,7 +789,8 @@ DIFactory::CreateGlobalVariable(DIDescriptor Context, const std::string &Name,
|
||||
ConstantExpr::getBitCast(Val, EmptyStructPtr)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.global_variable.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -807,7 +815,8 @@ DIVariable DIFactory::CreateVariable(unsigned Tag, DIDescriptor Context,
|
||||
getCastToEmpty(Type)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.variable.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
@@ -826,7 +835,8 @@ DIBlock DIFactory::CreateBlock(DIDescriptor Context) {
|
||||
getCastToEmpty(Context)
|
||||
};
|
||||
|
||||
Constant *Init = ConstantStruct::get(Elts, sizeof(Elts)/sizeof(Elts[0]));
|
||||
Constant *Init = ConstantStruct::get(VMContext, Elts,
|
||||
sizeof(Elts)/sizeof(Elts[0]));
|
||||
|
||||
M.addTypeName("llvm.dbg.block.type", Init->getType());
|
||||
GlobalVariable *GV = new GlobalVariable(M, Init->getType(), true,
|
||||
|
||||
Reference in New Issue
Block a user