From c9d31524eec562f719d6818508b722b55a787d67 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 13 Aug 2009 00:21:53 +0000 Subject: [PATCH] add some comments: MCContext owns the MCSections, but it bump pointer allocates them, so it doesn't have to explicitly free them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78870 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCContext.h | 5 +++-- lib/MC/MCContext.cpp | 2 ++ lib/Target/TargetLoweringObjectFile.cpp | 2 -- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h index f0f5e155553..adf380472a1 100644 --- a/include/llvm/MC/MCContext.h +++ b/include/llvm/MC/MCContext.h @@ -20,7 +20,9 @@ namespace llvm { class MCSymbol; class StringRef; - /// MCContext - Context object for machine code objects. + /// MCContext - Context object for machine code objects. This class owns all + /// of the sections that it creates. + /// class MCContext { MCContext(const MCContext&); // DO NOT IMPLEMENT MCContext &operator=(const MCContext&); // DO NOT IMPLEMENT @@ -49,7 +51,6 @@ namespace llvm { /// null if it doesn't exist. MCSection *GetSection(const StringRef &Name) const; - void SetSection(const StringRef &Name, MCSection *S) { MCSection *&Entry = Sections[Name]; assert(Entry == 0 && "Multiple sections with the same name created"); diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index e6fb5c8809b..63338353a1f 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -18,6 +18,8 @@ MCContext::MCContext() { } MCContext::~MCContext() { + // NOTE: The sections are all allocated out of a bump pointer allocator, + // we don't need to free them here. } MCSection *MCContext::GetSection(const StringRef &Name) const { diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 094e837f6f9..e7680c8a877 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -708,8 +708,6 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind, " section specifier"); } - - return S; }