summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCExpr.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-03-12 16:55:59 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-03-12 16:55:59 +0000
commit3d5d464df891196b25a52bcf5b8fcd4b1dc3e4e7 (patch)
treeddea8115e6f19568d5c952ed22b579d6a6c96867 /llvm/lib/MC/MCExpr.cpp
parent7066f7bc39426fdfd8646a7469a0945fe660e654 (diff)
downloadbcm5719-llvm-3d5d464df891196b25a52bcf5b8fcd4b1dc3e4e7.tar.gz
bcm5719-llvm-3d5d464df891196b25a52bcf5b8fcd4b1dc3e4e7.zip
Try harder to evaluate expressions when printing assembly.
When printing assembly we don't have a Layout object, but we can still try to fold some constants. Testcase by Ulrich Weigand. llvm-svn: 203677
Diffstat (limited to 'llvm/lib/MC/MCExpr.cpp')
-rw-r--r--llvm/lib/MC/MCExpr.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index 75bde8ed36b..9a4c41699e1 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -607,9 +607,9 @@ static bool EvaluateSymbolicAdd(const MCAssembler *Asm,
}
bool MCExpr::EvaluateAsRelocatable(MCValue &Res,
- const MCAsmLayout &Layout) const {
- return EvaluateAsRelocatableImpl(Res, &Layout.getAssembler(), &Layout,
- 0, false);
+ const MCAsmLayout *Layout) const {
+ MCAssembler *Assembler = Layout ? &Layout->getAssembler() : 0;
+ return EvaluateAsRelocatableImpl(Res, Assembler, Layout, 0, false);
}
bool MCExpr::EvaluateAsRelocatableImpl(MCValue &Res,
OpenPOWER on IntegriCloud