summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorCharles Davis <cdavis@mines.edu>2011-05-20 22:13:55 +0000
committerCharles Davis <cdavis@mines.edu>2011-05-20 22:13:55 +0000
commitbc1feb1f2580fd582ca7ae59f639895226b70beb (patch)
tree321aea62011587271303ea40da62d295a481ef9b /llvm/include
parent43479731c00919b86b194a4e158437e968f588a9 (diff)
downloadbcm5719-llvm-bc1feb1f2580fd582ca7ae59f639895226b70beb.tar.gz
bcm5719-llvm-bc1feb1f2580fd582ca7ae59f639895226b70beb.zip
Add .pdata and .xdata sections to the COFF TLOF implementation.
llvm-svn: 131763
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h10
-rw-r--r--llvm/include/llvm/Target/TargetLoweringObjectFile.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h b/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
index 829f580df33..c61cf399f82 100644
--- a/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+++ b/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
@@ -58,6 +58,8 @@ public:
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getEHFrameSection() const;
+ virtual const MCSection *getWin64EHFuncTableSection() const { return NULL; }
+ virtual const MCSection *getWin64EHTableSection() const { return NULL; }
virtual void emitPersonalityValue(MCStreamer &Streamer,
const TargetMachine &TM,
@@ -133,6 +135,8 @@ public:
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getEHFrameSection() const;
+ virtual const MCSection *getWin64EHFuncTableSection() const { return NULL; }
+ virtual const MCSection *getWin64EHTableSection() const { return NULL; }
virtual const MCSection *
SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
@@ -196,6 +200,8 @@ public:
class TargetLoweringObjectFileCOFF : public TargetLoweringObjectFile {
const MCSection *DrectveSection;
+ const MCSection *PDataSection;
+ const MCSection *XDataSection;
public:
TargetLoweringObjectFileCOFF() {}
~TargetLoweringObjectFileCOFF() {}
@@ -203,6 +209,10 @@ public:
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getEHFrameSection() const;
+ virtual const MCSection *getWin64EHFuncTableSection() const {
+ return PDataSection;
+ }
+ virtual const MCSection *getWin64EHTableSection() const {return XDataSection;}
virtual const MCSection *getDrectveSection() const { return DrectveSection; }
diff --git a/llvm/include/llvm/Target/TargetLoweringObjectFile.h b/llvm/include/llvm/Target/TargetLoweringObjectFile.h
index ec814ff0448..78d49a96a6a 100644
--- a/llvm/include/llvm/Target/TargetLoweringObjectFile.h
+++ b/llvm/include/llvm/Target/TargetLoweringObjectFile.h
@@ -155,6 +155,8 @@ public:
const MCSection *getTLSExtraDataSection() const {
return TLSExtraDataSection;
}
+ virtual const MCSection *getWin64EHFuncTableSection() const = 0;
+ virtual const MCSection *getWin64EHTableSection() const = 0;
/// shouldEmitUsedDirectiveFor - This hook allows targets to selectively
/// decide not to emit the UsedDirective for some symbols in llvm.used.
OpenPOWER on IntegriCloud