diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2013-07-02 18:47:09 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2013-07-02 18:47:09 +0000 |
commit | 716a94f0c96d6bef575cd286bafb2cc507adc6b0 (patch) | |
tree | 5ba358312fae8571444c379d93f78a2d14cced30 /lib/Target | |
parent | 18dbe5029f36a5a5d583295daa4ef6d6f5474c25 (diff) | |
download | external_llvm-716a94f0c96d6bef575cd286bafb2cc507adc6b0.tar.gz external_llvm-716a94f0c96d6bef575cd286bafb2cc507adc6b0.tar.bz2 external_llvm-716a94f0c96d6bef575cd286bafb2cc507adc6b0.zip |
[DebugInfo] Allow getDebugThreadLocalSymbol to return MCExpr
This allows getDebugThreadLocalSymbol to return a generic MCExpr
instead of just a MCSymbolRefExpr.
This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185460 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetObjectFile.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetObjectFile.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index fc50aa5192..cd810b624f 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -318,7 +318,7 @@ getTTypeReference(const MCSymbolRefExpr *Sym, unsigned Encoding, } } -const MCSymbolRefExpr *TargetLoweringObjectFile::getDebugThreadLocalSymbol(const MCSymbol *Sym) const { +const MCExpr *TargetLoweringObjectFile::getDebugThreadLocalSymbol(const MCSymbol *Sym) const { // FIXME: It's not clear what, if any, default this should have - perhaps a // null return could mean 'no location' & we should just do that here. return MCSymbolRefExpr::Create(Sym, *Ctx); diff --git a/lib/Target/X86/X86TargetObjectFile.cpp b/lib/Target/X86/X86TargetObjectFile.cpp index a00e8d4f4d..a19c5a601e 100644 --- a/lib/Target/X86/X86TargetObjectFile.cpp +++ b/lib/Target/X86/X86TargetObjectFile.cpp @@ -48,7 +48,7 @@ X86LinuxTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM) { InitializeELF(TM.Options.UseInitArray); } -const MCSymbolRefExpr * +const MCExpr * X86LinuxTargetObjectFile::getDebugThreadLocalSymbol( const MCSymbol *Sym) const { return MCSymbolRefExpr::Create(Sym, MCSymbolRefExpr::VK_DTPOFF, getContext()); diff --git a/lib/Target/X86/X86TargetObjectFile.h b/lib/Target/X86/X86TargetObjectFile.h index 7baedd2ddf..79c861d2e1 100644 --- a/lib/Target/X86/X86TargetObjectFile.h +++ b/lib/Target/X86/X86TargetObjectFile.h @@ -38,7 +38,7 @@ namespace llvm { virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); /// \brief Describe a TLS variable address within debug info. - virtual const MCSymbolRefExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const; + virtual const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const; }; } // end namespace llvm |