diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-13 00:37:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-13 00:37:15 +0000 |
commit | 38cff389af1d78bd80df0479ef258493e0c5897e (patch) | |
tree | 7bbbecb058efb77eaf4ab59aac1f6c8a8e168e72 /include | |
parent | f991ecf7231436437f6de1a22e93d0a1b380e078 (diff) |
sink uniquing of sections out of MCContext into the ELF and PECOFF TLOF implementations.
MCContext no longer maintains a string -> section map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCContext.h | 10 | ||||
-rw-r--r-- | include/llvm/MC/MCSection.h | 10 | ||||
-rw-r--r-- | include/llvm/Target/TargetLoweringObjectFile.h | 10 |
3 files changed, 15 insertions, 15 deletions
diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h index adf380472a..082b515a2e 100644 --- a/include/llvm/MC/MCContext.h +++ b/include/llvm/MC/MCContext.h @@ -46,16 +46,6 @@ namespace llvm { public: MCContext(); ~MCContext(); - - /// GetSection - Look up a section with the given @param Name, returning - /// 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"); - Entry = S; - } /// CreateSymbol - Create a new symbol with the specified @param Name. /// diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h index aa40386bfd..b33e8c9b42 100644 --- a/include/llvm/MC/MCSection.h +++ b/include/llvm/MC/MCSection.h @@ -52,8 +52,9 @@ namespace llvm { /// of a syntactic one. bool IsDirective; - MCSectionELF(const StringRef &Name, bool IsDirective, SectionKind K, - MCContext &Ctx); + MCSectionELF(const StringRef &name, bool isDirective, SectionKind K) + : MCSection(K), Name(name), IsDirective(isDirective) { + } public: static MCSectionELF *Create(const StringRef &Name, bool IsDirective, @@ -77,8 +78,9 @@ namespace llvm { /// of a syntactic one. bool IsDirective; - MCSectionCOFF(const StringRef &Name, bool IsDirective, SectionKind K, - MCContext &Ctx); + MCSectionCOFF(const StringRef &name, bool isDirective, SectionKind K) + : MCSection(K), Name(name), IsDirective(isDirective) { + } public: static MCSectionCOFF *Create(const StringRef &Name, bool IsDirective, diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h index 7f74c6b055..102928b659 100644 --- a/include/llvm/Target/TargetLoweringObjectFile.h +++ b/include/llvm/Target/TargetLoweringObjectFile.h @@ -183,6 +183,7 @@ protected: class TargetLoweringObjectFileELF : public TargetLoweringObjectFile { bool HasCrazyBSS; + mutable void *UniquingMap; protected: /// TLSDataSection - Section directive for Thread Local data. /// @@ -208,7 +209,10 @@ protected: public: TargetLoweringObjectFileELF(// FIXME: REMOVE AFTER UNIQUING IS FIXED. bool hasCrazyBSS = false) - : HasCrazyBSS(hasCrazyBSS) {} + : HasCrazyBSS(hasCrazyBSS), UniquingMap(0) {} + + ~TargetLoweringObjectFileELF(); + virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); @@ -302,7 +306,11 @@ public: class TargetLoweringObjectFileCOFF : public TargetLoweringObjectFile { + mutable void *UniquingMap; public: + TargetLoweringObjectFileCOFF() : UniquingMap(0) {} + ~TargetLoweringObjectFileCOFF(); + virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); virtual const MCSection * |