aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/TargetLoweringObjectFile.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-05 04:25:40 +0000
committerChris Lattner <sabre@nondot.org>2009-08-05 04:25:40 +0000
commit58bed8fc29b6e55e7014dcb537808043c946cd73 (patch)
tree1105f0f6694657e181c276e4d701106099e3a1bb /lib/Target/TargetLoweringObjectFile.cpp
parenta1b78d133e26f233ed2b0399846db2667e9a178e (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.cpp17
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,