summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/ELFObjectWriter.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-04-28 17:05:36 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-04-28 17:05:36 +0000
commit6efaf1182bb755ed8c6e346d77e1b22f584e0748 (patch)
treea613395819978b1889804b33ac47b5f4c96c8057 /llvm/lib/MC/ELFObjectWriter.cpp
parent0def8e26522fa8b9c5829c3bf513f201c0ad8eec (diff)
downloadbcm5719-llvm-6efaf1182bb755ed8c6e346d77e1b22f584e0748.tar.gz
bcm5719-llvm-6efaf1182bb755ed8c6e346d77e1b22f584e0748.zip
Simplify ELFObjectWriter::ExecutePostLayoutBinding.
No functionality change. This removes the last use of AliasedSymbol in ELFObjectWriter.cpp. llvm-svn: 207424
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp
index 5c0d466ced6..68e28cf4d4c 100644
--- a/llvm/lib/MC/ELFObjectWriter.cpp
+++ b/llvm/lib/MC/ELFObjectWriter.cpp
@@ -531,12 +531,15 @@ void ELFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
for (MCSymbolData &OriginalData : Asm.symbols()) {
const MCSymbol &Alias = OriginalData.getSymbol();
- const MCSymbol &Symbol = Alias.AliasedSymbol();
- MCSymbolData &SD = Asm.getSymbolData(Symbol);
// Not an alias.
- if (&Symbol == &Alias)
+ if (!Alias.isVariable())
+ continue;
+ auto *Ref = dyn_cast<MCSymbolRefExpr>(Alias.getVariableValue());
+ if (!Ref)
continue;
+ const MCSymbol &Symbol = Ref->getSymbol();
+ MCSymbolData &SD = Asm.getSymbolData(Symbol);
StringRef AliasName = Alias.getName();
size_t Pos = AliasName.find('@');
OpenPOWER on IntegriCloud