mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Add section switching to common code generator code. Add a couple of
asserts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24445 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -19,8 +19,27 @@
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
using namespace llvm;
|
||||
|
||||
/// SwitchSection - Switch to the specified section of the executable if we
|
||||
/// are not already in it!
|
||||
///
|
||||
void AsmPrinter::SwitchSection(const char *NewSection, const GlobalValue *GV) {
|
||||
std::string NS;
|
||||
|
||||
if (GV && GV->hasSection())
|
||||
NS = ".section " + GV->getSection();
|
||||
else
|
||||
NS = NewSection;
|
||||
|
||||
if (CurrentSection != NS) {
|
||||
CurrentSection = NS;
|
||||
if (!CurrentSection.empty())
|
||||
O << "\t" << CurrentSection << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
bool AsmPrinter::doInitialization(Module &M) {
|
||||
Mang = new Mangler(M, GlobalPrefix);
|
||||
SwitchSection("", 0); // Reset back to no section.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user