aboutsummaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/CodeGen/TargetLoweringObjectFileImpl.h18
-rw-r--r--include/llvm/MC/MCWin64EH.h2
-rw-r--r--include/llvm/Target/TargetAsmInfo.h8
-rw-r--r--include/llvm/Target/TargetLoweringObjectFile.h4
4 files changed, 20 insertions, 12 deletions
diff --git a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
index c61cf399f8..70a46759d7 100644
--- a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+++ b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
@@ -58,8 +58,10 @@ 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 *getWin64EHFuncTableSection(StringRef) const {
+ return NULL;
+ }
+ virtual const MCSection *getWin64EHTableSection(StringRef) const{return NULL;}
virtual void emitPersonalityValue(MCStreamer &Streamer,
const TargetMachine &TM,
@@ -135,8 +137,10 @@ 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 *getWin64EHFuncTableSection(StringRef) const {
+ return NULL;
+ }
+ virtual const MCSection *getWin64EHTableSection(StringRef) const{return NULL;}
virtual const MCSection *
SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
@@ -209,10 +213,12 @@ public:
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getEHFrameSection() const;
- virtual const MCSection *getWin64EHFuncTableSection() const {
+ virtual const MCSection *getWin64EHFuncTableSection(StringRef) const {
return PDataSection;
}
- virtual const MCSection *getWin64EHTableSection() const {return XDataSection;}
+ virtual const MCSection *getWin64EHTableSection(StringRef) const {
+ return XDataSection;
+ }
virtual const MCSection *getDrectveSection() const { return DrectveSection; }
diff --git a/include/llvm/MC/MCWin64EH.h b/include/llvm/MC/MCWin64EH.h
index 5c0cfad7c3..eb4665a2e9 100644
--- a/include/llvm/MC/MCWin64EH.h
+++ b/include/llvm/MC/MCWin64EH.h
@@ -20,6 +20,7 @@
#include <vector>
namespace llvm {
+ class StringRef;
class MCStreamer;
class MCSymbol;
@@ -80,6 +81,7 @@ namespace llvm {
class MCWin64EHUnwindEmitter {
public:
+ static StringRef GetSectionSuffix(const MCSymbol *func);
//
// This emits the unwind info sections (.pdata and .xdata in PE/COFF).
//
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index cd93c2ba0e..c30409d9f9 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -63,12 +63,12 @@ public:
return TLOF->getDwarfFrameSection();
}
- const MCSection *getWin64EHFuncTableSection() const {
- return TLOF->getWin64EHFuncTableSection();
+ const MCSection *getWin64EHFuncTableSection(StringRef Suffix) const {
+ return TLOF->getWin64EHFuncTableSection(Suffix);
}
- const MCSection *getWin64EHTableSection() const {
- return TLOF->getWin64EHTableSection();
+ const MCSection *getWin64EHTableSection(StringRef Suffix) const {
+ return TLOF->getWin64EHTableSection(Suffix);
}
unsigned getFDEEncoding(bool CFI) const {
diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h
index 78d49a96a6..3991035ce0 100644
--- a/include/llvm/Target/TargetLoweringObjectFile.h
+++ b/include/llvm/Target/TargetLoweringObjectFile.h
@@ -155,8 +155,8 @@ public:
const MCSection *getTLSExtraDataSection() const {
return TLSExtraDataSection;
}
- virtual const MCSection *getWin64EHFuncTableSection() const = 0;
- virtual const MCSection *getWin64EHTableSection() const = 0;
+ virtual const MCSection *getWin64EHFuncTableSection(StringRef suffix)const=0;
+ virtual const MCSection *getWin64EHTableSection(StringRef suffix) const = 0;
/// shouldEmitUsedDirectiveFor - This hook allows targets to selectively
/// decide not to emit the UsedDirective for some symbols in llvm.used.