summaryrefslogtreecommitdiff
path: root/lib/Target/PIC16/PIC16TargetAsmInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/PIC16/PIC16TargetAsmInfo.h')
-rw-r--r--lib/Target/PIC16/PIC16TargetAsmInfo.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/lib/Target/PIC16/PIC16TargetAsmInfo.h b/lib/Target/PIC16/PIC16TargetAsmInfo.h
deleted file mode 100644
index b7292b8ea78ae..0000000000000
--- a/lib/Target/PIC16/PIC16TargetAsmInfo.h
+++ /dev/null
@@ -1,83 +0,0 @@
-//=====-- PIC16TargetAsmInfo.h - PIC16 asm properties ---------*- C++ -*--====//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the PIC16TargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef PIC16TARGETASMINFO_H
-#define PIC16TARGETASMINFO_H
-
-#include "PIC16.h"
-#include "llvm/Target/TargetAsmInfo.h"
-#include <vector>
-#include "llvm/Module.h"
-#define DataBankSize 80
-namespace llvm {
-
- // Forward declaration.
- class PIC16TargetMachine;
- class GlobalVariable;
-
- // PIC16 Splits the global data into mulitple udata and idata sections.
- // Each udata and idata section needs to contain a list of globals that
- // they contain, in order to avoid scanning over all the global values
- // again and printing only those that match the current section.
- // Keeping values inside the sections make printing a section much easier.
- struct PIC16Section {
- const Section *S_; // Connection to actual Section.
- unsigned Size; // Total size of the objects contained.
- bool SectionPrinted;
- std::vector<const GlobalVariable*> Items;
-
- PIC16Section (const Section *s) { S_ = s; Size = 0;
- SectionPrinted = false;}
- bool isPrinted() { return SectionPrinted ; }
- void setPrintedStatus(bool status) { SectionPrinted = status ;}
- };
-
- struct PIC16TargetAsmInfo : public TargetAsmInfo {
- std::string getSectionNameForSym(const std::string &Sym) const;
- PIC16TargetAsmInfo(const PIC16TargetMachine &TM);
- mutable std::vector<PIC16Section *> BSSSections;
- mutable std::vector<PIC16Section *> IDATASections;
- mutable std::vector<PIC16Section *> AutosSections;
- mutable PIC16Section *ROSection;
- mutable PIC16Section *ExternalVarDecls;
- mutable PIC16Section *ExternalVarDefs;
- virtual ~PIC16TargetAsmInfo();
-
- private:
- const char *RomData8bitsDirective;
- const char *RomData16bitsDirective;
- const char *RomData32bitsDirective;
- const char *getRomDirective(unsigned size) const;
- 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);
- std::vector<PIC16Section *> getBSSSections() const {
- return BSSSections;
- }
- std::vector<PIC16Section *> getIDATASections() const {
- return IDATASections;
- }
- std::vector<PIC16Section *> getAutosSections() const {
- return AutosSections;
- }
- };
-
-} // namespace llvm
-
-#endif