diff options
author | Hsiangkai Wang <hsiangkai@gmail.com> | 2019-07-18 15:06:50 +0000 |
---|---|---|
committer | Hsiangkai Wang <hsiangkai@gmail.com> | 2019-07-18 15:06:50 +0000 |
commit | 657277e0f10d6b783927c5dd1701752247db3767 (patch) | |
tree | 7770cd6fafe463a98707882fbd40c4cbf4762fda /llvm/lib/MC/MCDwarf.cpp | |
parent | f1c05e8d200840241e829af1e569ef10ba033ec5 (diff) | |
download | llvm-657277e0f10d6b783927c5dd1701752247db3767.zip llvm-657277e0f10d6b783927c5dd1701752247db3767.tar.gz llvm-657277e0f10d6b783927c5dd1701752247db3767.tar.bz2 |
Revert "[DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame."
This reverts commit 17e3cbf5fe656483d9016d0ba9e1d0cd8629379e.
llvm-svn: 366444
Diffstat (limited to 'llvm/lib/MC/MCDwarf.cpp')
-rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 8456b3421..aae6fdf 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -1897,54 +1897,26 @@ void MCDwarfFrameEmitter::EmitAdvanceLoc(MCObjectStreamer &Streamer, } void MCDwarfFrameEmitter::EncodeAdvanceLoc(MCContext &Context, - uint64_t AddrDelta, raw_ostream &OS, - uint32_t *Offset, uint32_t *Size) { + uint64_t AddrDelta, + raw_ostream &OS) { // Scale the address delta by the minimum instruction length. AddrDelta = ScaleAddrDelta(Context, AddrDelta); - bool WithFixups = false; - if (Offset && Size) - WithFixups = true; - support::endianness E = Context.getAsmInfo()->isLittleEndian() ? support::little : support::big; if (AddrDelta == 0) { - if (WithFixups) { - *Offset = 0; - *Size = 0; - } } else if (isUIntN(6, AddrDelta)) { uint8_t Opcode = dwarf::DW_CFA_advance_loc | AddrDelta; - if (WithFixups) { - *Offset = OS.tell(); - *Size = 6; - OS << uint8_t(dwarf::DW_CFA_advance_loc); - } else - OS << Opcode; + OS << Opcode; } else if (isUInt<8>(AddrDelta)) { OS << uint8_t(dwarf::DW_CFA_advance_loc1); - if (WithFixups) { - *Offset = OS.tell(); - *Size = 8; - OS.write_zeros(1); - } else - OS << uint8_t(AddrDelta); + OS << uint8_t(AddrDelta); } else if (isUInt<16>(AddrDelta)) { OS << uint8_t(dwarf::DW_CFA_advance_loc2); - if (WithFixups) { - *Offset = OS.tell(); - *Size = 16; - OS.write_zeros(2); - } else - support::endian::write<uint16_t>(OS, AddrDelta, E); + support::endian::write<uint16_t>(OS, AddrDelta, E); } else { assert(isUInt<32>(AddrDelta)); OS << uint8_t(dwarf::DW_CFA_advance_loc4); - if (WithFixups) { - *Offset = OS.tell(); - *Size = 32; - OS.write_zeros(4); - } else - support::endian::write<uint32_t>(OS, AddrDelta, E); + support::endian::write<uint32_t>(OS, AddrDelta, E); } } |