From 7b5e51091e02ae1a754bb787cb3f346981950a53 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 25 Jul 2009 18:11:58 +0000 Subject: [PATCH] document some invariants. llvm-svn: 77084 --- llvm/include/llvm/Target/TargetAsmInfo.h | 7 ++++--- llvm/lib/Target/TargetAsmInfo.cpp | 7 ++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/Target/TargetAsmInfo.h b/llvm/include/llvm/Target/TargetAsmInfo.h index fc044b8ab9fb..24d54cc00cd5 100644 --- a/llvm/include/llvm/Target/TargetAsmInfo.h +++ b/llvm/include/llvm/Target/TargetAsmInfo.h @@ -592,9 +592,10 @@ namespace llvm { return 0; } - /// SectionForGlobal - This hooks returns proper section name for given - /// global with all necessary flags and marks. - // FIXME: MOVE TO TARGETLOWERING. + /// SectionForGlobal - This method computes the appropriate section to emit + /// the specified global variable or function definition. This should not + /// be passed external (or available externally) globals. + // FIXME: MOVE TO ASMPRINTER. const Section* SectionForGlobal(const GlobalValue *GV) const; /// getSpecialCasedSectionGlobals - Allow the target to completely override diff --git a/llvm/lib/Target/TargetAsmInfo.cpp b/llvm/lib/Target/TargetAsmInfo.cpp index 727c584e3a82..dfb274f60845 100644 --- a/llvm/lib/Target/TargetAsmInfo.cpp +++ b/llvm/lib/Target/TargetAsmInfo.cpp @@ -293,8 +293,13 @@ static SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV, } } - +/// SectionForGlobal - This method computes the appropriate section to emit +/// the specified global variable or function definition. This should not +/// be passed external (or available externally) globals. const Section *TargetAsmInfo::SectionForGlobal(const GlobalValue *GV) const { + assert(!GV->isDeclaration() && !GV->hasAvailableExternallyLinkage() && + "Can only be used for global definitions"); + SectionKind::Kind Kind = SectionKindForGlobal(GV, TM.getRelocationModel()); // Select section name. -- GitLab