diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-12 16:55:59 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-12 16:55:59 +0000 |
commit | 3d5d464df891196b25a52bcf5b8fcd4b1dc3e4e7 (patch) | |
tree | ddea8115e6f19568d5c952ed22b579d6a6c96867 /llvm/lib/MC/MCExpr.cpp | |
parent | 7066f7bc39426fdfd8646a7469a0945fe660e654 (diff) | |
download | bcm5719-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.cpp | 6 |
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, |