diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-18 03:57:21 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-18 03:57:21 +0000 |
commit | d076482ab7e672d1d65a43809695e8d0d3995203 (patch) | |
tree | 1f274c9ddf8a3f4e316c4e8b7bbddcb5d26e64ea /lib/MC/MCObjectStreamer.cpp | |
parent | 390482569c2446a05518034c891fcfb378079a80 (diff) |
Revert 122011, 122012, 122013, 122023 adding back an important optimization.
I added a note, but suggestions on how to add a test are really welcome.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122138 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | lib/MC/MCObjectStreamer.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/MC/MCObjectStreamer.cpp b/lib/MC/MCObjectStreamer.cpp index 3a79d1921c..cbc66f1cf9 100644 --- a/lib/MC/MCObjectStreamer.cpp +++ b/lib/MC/MCObjectStreamer.cpp @@ -85,7 +85,7 @@ void MCObjectStreamer::EmitValueImpl(const MCExpr *Value, unsigned Size, // Avoid fixups when possible. int64_t AbsValue; - if (AddValueSymbols(Value)->EvaluateAsAbsolute(AbsValue)) { + if (AddValueSymbols(Value)->EvaluateAsAbsolute(AbsValue, getAssembler())) { EmitIntValue(AbsValue, Size, AddrSpace); return; } @@ -116,7 +116,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) { void MCObjectStreamer::EmitULEB128Value(const MCExpr *Value, unsigned AddrSpace) { int64_t IntValue; - if (Value->EvaluateAsAbsolute(IntValue)) { + if (Value->EvaluateAsAbsolute(IntValue, getAssembler())) { EmitULEB128IntValue(IntValue, AddrSpace); return; } @@ -126,7 +126,7 @@ void MCObjectStreamer::EmitULEB128Value(const MCExpr *Value, void MCObjectStreamer::EmitSLEB128Value(const MCExpr *Value, unsigned AddrSpace) { int64_t IntValue; - if (Value->EvaluateAsAbsolute(IntValue)) { + if (Value->EvaluateAsAbsolute(IntValue, getAssembler())) { EmitSLEB128IntValue(IntValue, AddrSpace); return; } @@ -206,7 +206,7 @@ void MCObjectStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta, MCBinaryExpr::Create(MCBinaryExpr::Sub, LabelRef, LastLabelRef, getContext()); int64_t Res; - if (AddrDelta->EvaluateAsAbsolute(Res)) { + if (AddrDelta->EvaluateAsAbsolute(Res, getAssembler())) { MCDwarfLineAddr::Emit(this, LineDelta, Res); return; } |