Do with uleb the same trick we now do with dwarf line/address advances. This
avoids creating leb128 fragments and speeds up the test in PR8711 to 33s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120774 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 217daed..5c9a347 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -546,10 +546,7 @@
void MCAsmStreamer::EmitULEB128Value(const MCExpr *Value, unsigned AddrSpace) {
int64_t IntValue;
if (Value->EvaluateAsAbsolute(IntValue)) {
- SmallString<32> Tmp;
- raw_svector_ostream OSE(Tmp);
- MCObjectWriter::EncodeULEB128(IntValue, OSE);
- EmitBytes(OSE.str(), AddrSpace);
+ EmitULEB128IntValue(IntValue, AddrSpace);
return;
}
assert(MAI.hasLEB128() && "Cannot print a .uleb");
@@ -560,10 +557,7 @@
void MCAsmStreamer::EmitSLEB128Value(const MCExpr *Value, unsigned AddrSpace) {
int64_t IntValue;
if (Value->EvaluateAsAbsolute(IntValue)) {
- SmallString<32> Tmp;
- raw_svector_ostream OSE(Tmp);
- MCObjectWriter::EncodeSLEB128(IntValue, OSE);
- EmitBytes(OSE.str(), AddrSpace);
+ EmitSLEB128IntValue(IntValue, AddrSpace);
return;
}
assert(MAI.hasLEB128() && "Cannot print a .sleb");