Split SwitchSection into the SwitchTo{Text|Data}Section functions, to better

support assemblers that distinguish the two.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28183 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-05-09 04:59:30 +00:00
parent 4c15e33946
commit f668ffc4c2

View File

@ -179,16 +179,32 @@ namespace llvm {
AsmPrinter(std::ostream &o, TargetMachine &TM);
public:
/// SwitchSection - Switch to the specified section of the executable if we
/// are not already in it! If GV is non-null and if the global has an
/// SwitchToTextSection - Switch to the specified section of the executable
/// if we are not already in it! If GV is non-null and if the global has an
/// explicitly requested section, we switch to the section indicated for the
/// global instead of NewSection.
///
/// If the new section is an empty string, this method forgets what the
/// current section is, but does not emit a .section directive.
///
void SwitchSection(const char *NewSection, const GlobalValue *GV);
/// This method is used when about to emit executable code.
///
void SwitchToTextSection(const char *NewSection, const GlobalValue *GV);
/// SwitchToDataSection - Switch to the specified section of the executable
/// if we are not already in it! If GV is non-null and if the global has an
/// explicitly requested section, we switch to the section indicated for the
/// global instead of NewSection.
///
/// If the new section is an empty string, this method forgets what the
/// current section is, but does not emit a .section directive.
///
/// This method is used when about to emit data. For most assemblers, this
/// is the same as the SwitchToTextSection method, but not all assemblers
/// are the same.
///
void SwitchToDataSection(const char *NewSection, const GlobalValue *GV);
/// getPreferredAlignmentLog - Return the preferred alignment of the
/// specified global, returned in log form. This includes an explicitly
/// requested alignment (if the global has one).