Fix undefined behavior in DWARF emission
authorzuojian lin <manjian2006@gmail.com>
Tue, 14 Jul 2020 01:28:00 +0000 (18:28 -0700)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 14 Jul 2020 01:32:36 +0000 (18:32 -0700)
commitfefe6a6642e475cd6d624c502120cb061da8144e
treec28445f4f18a61ed48be3304b6e17a6cda182871
parent9a9ae01f994a92900bc703cf8a512082f49ce45d
Fix undefined behavior in DWARF emission

Caused by uninitialized load of llvm::DwarfDebug::PrevCU:
llvm::DwarfCompileUnit::addRange () at ../lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:276
llvm::DwarfDebug::endFunctionImpl () at ../lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1586
llvm::DebugHandlerBase::endFunction () at ../lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:319
llvm::AsmPrinter::EmitFunctionBody () at ../lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1230
llvm::ARMAsmPrinter::runOnMachineFunction () at ../lib/Target/ARM/ARMAsmPrinter.cpp:161

Most of the DebugInfo tests under `LLVM_LIT_ARGS:STRING=-sv --vg` prior to this fix, and pass with the fix applied.

Reviewed By: aprantl, dblaikie

Differential Revision: https://reviews.llvm.org/D81631
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h