Add a public accessor for GlobalCtors in CodeGenModule
Summary: In a JIT context it is useful to be able to access the GlobalCtors and especially clear them once they have been emitted and called. This adds a public method to be able to access the list. Subscribers: yaron.keren, cfe-commits Differential Revision: http://reviews.llvm.org/D6790 llvm-svn: 224982
This commit is contained in:
@@ -261,6 +261,7 @@ class CodeGenModule : public CodeGenTypeCache {
|
||||
CodeGenModule(const CodeGenModule &) LLVM_DELETED_FUNCTION;
|
||||
void operator=(const CodeGenModule &) LLVM_DELETED_FUNCTION;
|
||||
|
||||
public:
|
||||
struct Structor {
|
||||
Structor() : Priority(0), Initializer(nullptr), AssociatedData(nullptr) {}
|
||||
Structor(int Priority, llvm::Constant *Initializer,
|
||||
@@ -274,6 +275,7 @@ class CodeGenModule : public CodeGenTypeCache {
|
||||
|
||||
typedef std::vector<Structor> CtorList;
|
||||
|
||||
private:
|
||||
ASTContext &Context;
|
||||
const LangOptions &LangOpts;
|
||||
const CodeGenOptions &CodeGenOpts;
|
||||
@@ -624,6 +626,9 @@ public:
|
||||
return VTables.getMicrosoftVTableContext();
|
||||
}
|
||||
|
||||
CtorList &getGlobalCtors() { return GlobalCtors; }
|
||||
CtorList &getGlobalDtors() { return GlobalDtors; }
|
||||
|
||||
llvm::MDNode *getTBAAInfo(QualType QTy);
|
||||
llvm::MDNode *getTBAAInfoForVTablePtr();
|
||||
llvm::MDNode *getTBAAStructInfo(QualType QTy);
|
||||
|
||||
Reference in New Issue
Block a user