diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-05 04:25:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-05 04:25:40 +0000 |
commit | 58bed8fc29b6e55e7014dcb537808043c946cd73 (patch) | |
tree | 1105f0f6694657e181c276e4d701106099e3a1bb /lib/Target/TargetLoweringObjectFile.cpp | |
parent | a1b78d133e26f233ed2b0399846db2667e9a178e (diff) |
expose SectionKindForGlobal to curious clients, named as
getKindForGlobal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78156 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 7489883998..23e549a42b 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -110,13 +110,16 @@ static bool IsNullTerminatedString(const Constant *C) { return false; } -/// SectionKindForGlobal - This is a top-level target-independent classifier for +/// getKindForGlobal - This is a top-level target-independent classifier for /// a global variable. Given an global variable and information from TM, it /// classifies the global in a variety of ways that make various target /// implementations simpler. The target implementation is free to ignore this /// extra info of course. -static SectionKind SectionKindForGlobal(const GlobalValue *GV, - const TargetMachine &TM) { +SectionKind TargetLoweringObjectFile::getKindForGlobal(const GlobalValue *GV, + const TargetMachine &TM){ + assert(!GV->isDeclaration() && !GV->hasAvailableExternallyLinkage() && + "Can only be used for global definitions"); + Reloc::Model ReloModel = TM.getRelocationModel(); // Early exit - functions should be always in text sections. @@ -227,13 +230,8 @@ static SectionKind SectionKindForGlobal(const GlobalValue *GV, /// the specified global variable or function definition. This should not /// be passed external (or available externally) globals. const MCSection *TargetLoweringObjectFile:: -SectionForGlobal(const GlobalValue *GV, Mangler *Mang, +SectionForGlobal(const GlobalValue *GV, SectionKind Kind, Mangler *Mang, const TargetMachine &TM) const { - assert(!GV->isDeclaration() && !GV->hasAvailableExternallyLinkage() && - "Can only be used for global definitions"); - - SectionKind Kind = SectionKindForGlobal(GV, TM); - // Select section name. if (GV->hasSection()) { // If the target has special section hacks for specifically named globals, @@ -254,6 +252,7 @@ SectionForGlobal(const GlobalValue *GV, Mangler *Mang, return SelectSectionForGlobal(GV, Kind, Mang, TM); } + // Lame default implementation. Calculate the section name for global. const MCSection * TargetLoweringObjectFile::SelectSectionForGlobal(const GlobalValue *GV, |