summaryrefslogtreecommitdiff
path: root/lib/CodeGen/ShadowStackGC.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-08-05 23:16:16 +0000
committerOwen Anderson <resistor@mac.com>2009-08-05 23:16:16 +0000
commitd7f2a6cb3fbc012763adb42fd967f6fefbb22a37 (patch)
tree0a2846e2b735aa45cedaa4266ffaa62786d07541 /lib/CodeGen/ShadowStackGC.cpp
parent70cd88fb7b5b77f8bbca7417e624d11b6e22a7e7 (diff)
downloadllvm-d7f2a6cb3fbc012763adb42fd967f6fefbb22a37.tar.gz
llvm-d7f2a6cb3fbc012763adb42fd967f6fefbb22a37.tar.bz2
llvm-d7f2a6cb3fbc012763adb42fd967f6fefbb22a37.tar.xz
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
Diffstat (limited to 'lib/CodeGen/ShadowStackGC.cpp')
-rw-r--r--lib/CodeGen/ShadowStackGC.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/ShadowStackGC.cpp b/lib/CodeGen/ShadowStackGC.cpp
index 3aa86d04f8..514629bff7 100644
--- a/lib/CodeGen/ShadowStackGC.cpp
+++ b/lib/CodeGen/ShadowStackGC.cpp
@@ -206,12 +206,12 @@ Constant *ShadowStackGC::GetFrameMap(Function &F) {
};
Constant *DescriptorElts[] = {
- ConstantStruct::get(BaseElts, 2),
+ ConstantStruct::get(F.getContext(), BaseElts, 2),
ConstantArray::get(ArrayType::get(VoidPtr, NumMeta),
Metadata.begin(), NumMeta)
};
- Constant *FrameMap = ConstantStruct::get(DescriptorElts, 2);
+ Constant *FrameMap = ConstantStruct::get(F.getContext(), DescriptorElts, 2);
std::string TypeName("gc_map.");
TypeName += utostr(NumMeta);
@@ -245,7 +245,7 @@ const Type* ShadowStackGC::GetConcreteStackEntryType(Function &F) {
EltTys.push_back(StackEntryTy);
for (size_t I = 0; I != Roots.size(); I++)
EltTys.push_back(Roots[I].second->getAllocatedType());
- Type *Ty = StructType::get(EltTys);
+ Type *Ty = StructType::get(F.getContext(), EltTys);
std::string TypeName("gc_stackentry.");
TypeName += F.getName();
@@ -265,7 +265,7 @@ bool ShadowStackGC::initializeCustomLowering(Module &M) {
std::vector<const Type*> EltTys;
EltTys.push_back(Type::Int32Ty); // 32 bits is ok up to a 32GB stack frame. :)
EltTys.push_back(Type::Int32Ty); // Specifies length of variable length array.
- StructType *FrameMapTy = StructType::get(EltTys);
+ StructType *FrameMapTy = StructType::get(M.getContext(), EltTys);
M.addTypeName("gc_map", FrameMapTy);
PointerType *FrameMapPtrTy = PointerType::getUnqual(FrameMapTy);
@@ -279,7 +279,7 @@ bool ShadowStackGC::initializeCustomLowering(Module &M) {
EltTys.clear();
EltTys.push_back(PointerType::getUnqual(RecursiveTy));
EltTys.push_back(FrameMapPtrTy);
- PATypeHolder LinkTyH = StructType::get(EltTys);
+ PATypeHolder LinkTyH = StructType::get(M.getContext(), EltTys);
RecursiveTy->refineAbstractTypeTo(LinkTyH.get());
StackEntryTy = cast<StructType>(LinkTyH.get());