aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PIC16/AsmPrinter
diff options
context:
space:
mode:
authorSanjiv Gupta <sanjiv.gupta@microchip.com>2009-10-24 18:02:44 +0000
committerSanjiv Gupta <sanjiv.gupta@microchip.com>2009-10-24 18:02:44 +0000
commit209e6c69d9f87a07cc840e20344b55982762f3ba (patch)
treea3ffe287af796dfeada7b4755ed32d26cb0bbc61 /lib/Target/PIC16/AsmPrinter
parentc7b1382e351249774be63bd73839e8a0671635e1 (diff)
downloadexternal_llvm-209e6c69d9f87a07cc840e20344b55982762f3ba.zip
external_llvm-209e6c69d9f87a07cc840e20344b55982762f3ba.tar.gz
external_llvm-209e6c69d9f87a07cc840e20344b55982762f3ba.tar.bz2
Adding support for placing global objects in shared data memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85006 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16/AsmPrinter')
-rw-r--r--lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp6
-rw-r--r--lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
index ea0f494..b2a4c11 100644
--- a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
+++ b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
@@ -298,6 +298,7 @@ bool PIC16AsmPrinter::doInitialization(Module &M) {
EmitIData(M);
EmitUData(M);
EmitRomData(M);
+ EmitSharedUdata(M);
EmitUserSections(M);
return Result;
}
@@ -370,6 +371,11 @@ void PIC16AsmPrinter::EmitRomData(Module &M) {
EmitSingleSection(PTOF->ROMDATASection());
}
+// Emit Shared section udata.
+void PIC16AsmPrinter::EmitSharedUdata(Module &M) {
+ EmitSingleSection(PTOF->SHAREDUDATASection());
+}
+
bool PIC16AsmPrinter::doFinalization(Module &M) {
EmitAllAutos(M);
printLibcallDecls();
diff --git a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
index b13d9ce..838c970 100644
--- a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
+++ b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
@@ -55,6 +55,7 @@ namespace llvm {
void EmitUData (Module &M);
void EmitAllAutos (Module &M);
void EmitRomData (Module &M);
+ void EmitSharedUdata(Module &M);
void EmitUserSections (Module &M);
void EmitFunctionFrame(MachineFunction &MF);
void printLibcallDecls();