diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-10-21 10:42:44 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-10-21 10:42:44 +0000 |
commit | 4e4bba5c80cc1168d244397f3fe09f301237638a (patch) | |
tree | bc65d3b7f488e1336a7b582b8fa7441daa4c4ec4 /lib/Target/PIC16/PIC16Section.cpp | |
parent | db1d9dbdd72db4254a7ff033331970ad7fa9dd41 (diff) | |
download | external_llvm-4e4bba5c80cc1168d244397f3fe09f301237638a.zip external_llvm-4e4bba5c80cc1168d244397f3fe09f301237638a.tar.gz external_llvm-4e4bba5c80cc1168d244397f3fe09f301237638a.tar.bz2 |
Add a pass to overlay pic16 data sections for function frame and automatic
variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph
to detect what function frames and their automatic variables can be overlaid.
Currently this builds an archive , but needs to be changed to a loadable module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84753 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16/PIC16Section.cpp')
-rw-r--r-- | lib/Target/PIC16/PIC16Section.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/PIC16/PIC16Section.cpp b/lib/Target/PIC16/PIC16Section.cpp index 7029501..a96ebb8 100644 --- a/lib/Target/PIC16/PIC16Section.cpp +++ b/lib/Target/PIC16/PIC16Section.cpp @@ -68,8 +68,13 @@ PIC16Section *PIC16Section::Create(const StringRef &Name, // A generic way to print all types of sections. void PIC16Section::PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS) const { - // Print name. - OS << getName() << '\t'; + + // If the section is overlaid(i.e. it has a color), print overlay name for + // it. Otherwise print its normal name. + if (Color != -1) + OS << PAN::getOverlayName(getName(), Color) << '\t'; + else + OS << getName() << '\t'; // Print type. switch (getType()) { |