summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h
diff options
context:
space:
mode:
authorSanjiv Gupta <sanjiv.gupta@microchip.com>2009-05-12 17:07:27 +0000
committerSanjiv Gupta <sanjiv.gupta@microchip.com>2009-05-12 17:07:27 +0000
commit83adfb4a9f6e99fee9aba353fd3496d38074cb6a (patch)
treead67c0d1ea36012b5a4867f7b5033adef96303e8 /llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h
parentbbfd054746b07904599a35c7fc457da4e33318a9 (diff)
downloadbcm5719-llvm-83adfb4a9f6e99fee9aba353fd3496d38074cb6a.tar.gz
bcm5719-llvm-83adfb4a9f6e99fee9aba353fd3496d38074cb6a.zip
Iterate over globals once and sectionize them into appropriate sections.
Later in asmprinter, go over thsese sections and print them. Do not print empty sections. llvm-svn: 71560
Diffstat (limited to 'llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h')
-rw-r--r--llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h b/llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h
index 8eaa48a96dc..a39209daaf6 100644
--- a/llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h
+++ b/llvm/lib/Target/PIC16/PIC16TargetAsmInfo.h
@@ -43,6 +43,8 @@ namespace llvm {
PIC16TargetAsmInfo(const PIC16TargetMachine &TM);
mutable std::vector<PIC16Section *> BSSSections;
mutable std::vector<PIC16Section *> IDATASections;
+ mutable std::vector<PIC16Section *> AutosSections;
+ mutable PIC16Section *ROSection;
virtual ~PIC16TargetAsmInfo();
private:
@@ -53,6 +55,7 @@ namespace llvm {
virtual const char *getASDirective(unsigned size, unsigned AS) const;
const Section *getBSSSectionForGlobal(const GlobalVariable *GV) const;
const Section *getIDATASectionForGlobal(const GlobalVariable *GV) const;
+ const Section *getSectionForAuto(const GlobalVariable *GV) const;
virtual const Section *SelectSectionForGlobal(const GlobalValue *GV) const;
public:
void SetSectionForGVs(Module &M);
@@ -62,6 +65,9 @@ namespace llvm {
std::vector<PIC16Section *> getIDATASections() const {
return IDATASections;
}
+ std::vector<PIC16Section *> getAutosSections() const {
+ return AutosSections;
+ }
};
} // namespace llvm
OpenPOWER on IntegriCloud