forked from OSchip/llvm-project
make PIC16 create its own custom MCSection.
llvm-svn: 78501
This commit is contained in:
parent
245fdfb9c3
commit
4a4e4487fc
|
@ -0,0 +1,35 @@
|
||||||
|
//===- PIC16Section.h - PIC16-specific section representation ---*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
//
|
||||||
|
// This file declares the MCSection class.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#ifndef LLVM_PIC16SECTION_H
|
||||||
|
#define LLVM_PIC16SECTION_H
|
||||||
|
|
||||||
|
#include "llvm/MC/MCSection.h"
|
||||||
|
|
||||||
|
namespace llvm {
|
||||||
|
|
||||||
|
class MCSectionPIC16 : public MCSection {
|
||||||
|
MCSectionPIC16(const StringRef &Name, bool IsDirective, SectionKind K,
|
||||||
|
MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
|
||||||
|
public:
|
||||||
|
|
||||||
|
static MCSectionPIC16 *Create(const StringRef &Name, bool IsDirective,
|
||||||
|
SectionKind K, MCContext &Ctx);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} // end namespace llvm
|
||||||
|
|
||||||
|
#endif
|
|
@ -8,6 +8,7 @@
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "PIC16TargetObjectFile.h"
|
#include "PIC16TargetObjectFile.h"
|
||||||
|
#include "PIC16Section.h"
|
||||||
#include "PIC16ISelLowering.h"
|
#include "PIC16ISelLowering.h"
|
||||||
#include "PIC16TargetMachine.h"
|
#include "PIC16TargetMachine.h"
|
||||||
#include "llvm/DerivedTypes.h"
|
#include "llvm/DerivedTypes.h"
|
||||||
|
@ -24,7 +25,7 @@ const MCSection *PIC16TargetObjectFile::
|
||||||
getPIC16Section(const char *Name, bool isDirective, SectionKind Kind) const {
|
getPIC16Section(const char *Name, bool isDirective, SectionKind Kind) const {
|
||||||
if (MCSection *S = getContext().GetSection(Name))
|
if (MCSection *S = getContext().GetSection(Name))
|
||||||
return S;
|
return S;
|
||||||
return MCSection::Create(Name, isDirective, Kind, getContext());
|
return MCSectionPIC16::Create(Name, isDirective, Kind, getContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue