summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-08 23:39:42 +0000
committerChris Lattner <sabre@nondot.org>2009-08-08 23:39:42 +0000
commit591105c540fbdbbe41539ac0aa7c6eed393478ff (patch)
tree3caca0506ccb45794ba71c210ffdda9c95d3aa77 /llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
parent24f38969d5a2148576a5405d831c16bab51dcc77 (diff)
downloadbcm5719-llvm-591105c540fbdbbe41539ac0aa7c6eed393478ff.tar.gz
bcm5719-llvm-591105c540fbdbbe41539ac0aa7c6eed393478ff.zip
sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
Diffstat (limited to 'llvm/lib/Target/PIC16/PIC16TargetObjectFile.h')
-rw-r--r--llvm/lib/Target/PIC16/PIC16TargetObjectFile.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h b/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
index f8389a6adc7..edd2b1cc15e 100644
--- a/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
+++ b/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
@@ -17,6 +17,7 @@ namespace llvm {
class GlobalVariable;
class Module;
class PIC16TargetMachine;
+ class MCSectionPIC16;
enum { DataBankSize = 80 };
@@ -29,12 +30,12 @@ namespace llvm {
/// FIXME: MOVE ALL THIS STUFF TO MCSectionPIC16.
///
struct PIC16Section {
- const MCSection *S_; // Connection to actual Section.
+ const MCSectionPIC16 *S_; // Connection to actual Section.
unsigned Size; // Total size of the objects contained.
bool SectionPrinted;
std::vector<const GlobalVariable*> Items;
- PIC16Section(const MCSection *s) {
+ PIC16Section(const MCSectionPIC16 *s) {
S_ = s;
Size = 0;
SectionPrinted = false;
@@ -46,8 +47,8 @@ namespace llvm {
class PIC16TargetObjectFile : public TargetLoweringObjectFile {
const TargetMachine *TM;
- const MCSection *getPIC16Section(const char *Name, bool isDirective,
- SectionKind K) const;
+ const MCSectionPIC16 *getPIC16Section(const char *Name,
+ SectionKind K) const;
public:
mutable std::vector<PIC16Section*> BSSSections;
mutable std::vector<PIC16Section*> IDATASections;
OpenPOWER on IntegriCloud