summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-04-27 23:08:15 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-04-27 23:08:15 +0000
commit7afec9cc0ff1654619d30b6f30e2a4d13369c8bf (patch)
treee05b8b886775447f332990351dd63d8ab493e3b6 /include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
parent685f07fac2754f98f5273f3a9a32da27027c2172 (diff)
downloadllvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.tar.gz
llvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.tar.bz2
llvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.tar.xz
Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, and
give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130341 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/TargetLoweringObjectFileImpl.h')
-rw-r--r--include/llvm/CodeGen/TargetLoweringObjectFileImpl.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
index 8aa34f0174..411e4ccd08 100644
--- a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+++ b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
@@ -58,7 +58,6 @@ public:
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getEHFrameSection() const;
- virtual MCSymbol *getPersonalityPICSymbol(StringRef Name) const;
virtual void emitPersonalityValue(MCStreamer &Streamer,
const TargetMachine &TM,
@@ -86,6 +85,11 @@ public:
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
MachineModuleInfo *MMI, unsigned Encoding,
MCStreamer &Streamer) const;
+
+ // getCFIPersonalitySymbol - The symbol that gets passed to .cfi_personality.
+ virtual MCSymbol *
+ getCFIPersonalitySymbol(const GlobalValue *GV, unsigned Encoding,
+ Mangler *Mang, MachineModuleInfo *MMI) const;
};
@@ -177,6 +181,11 @@ public:
MachineModuleInfo *MMI, unsigned Encoding,
MCStreamer &Streamer) const;
+ // getCFIPersonalitySymbol - The symbol that gets passed to .cfi_personality.
+ virtual MCSymbol *
+ getCFIPersonalitySymbol(const GlobalValue *GV, unsigned Encoding,
+ Mangler *Mang, MachineModuleInfo *MMI) const;
+
virtual unsigned getPersonalityEncoding() const;
virtual unsigned getLSDAEncoding() const;
virtual unsigned getFDEEncoding() const;