diff --git a/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp b/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp index 6aa4b0e4fcb99..0dfa17eb1346f 100644 --- a/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp @@ -29,17 +29,21 @@ bool MCDisassembler::tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t OpSize, uint64_t InstSize) const { - if (Symbolizer) + if (Symbolizer) { + assert(CommentStream && "CommentStream is not set."); return Symbolizer->tryAddingSymbolicOperand(Inst, *CommentStream, Value, Address, IsBranch, Offset, OpSize, InstSize); + } return false; } void MCDisassembler::tryAddingPcLoadReferenceComment(int64_t Value, uint64_t Address) const { - if (Symbolizer) + if (Symbolizer) { + assert(CommentStream && "CommentStream is not set."); Symbolizer->tryAddingPcLoadReferenceComment(*CommentStream, Value, Address); + } } void MCDisassembler::setSymbolizer(std::unique_ptr Symzer) { diff --git a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp index 3ec465810b1d1..01648ec0cbe9e 100644 --- a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp +++ b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp @@ -789,6 +789,7 @@ DecodeStatus RISCVDisassembler::getInstruction(MCInst &MI, uint64_t &Size, ArrayRef Bytes, uint64_t Address, raw_ostream &CS) const { + CommentStream = &CS; // It's a 16 bit instruction if bit 0 and 1 are not 0b11. if ((Bytes[0] & 0b11) != 0b11) return getInstruction16(MI, Size, Bytes, Address, CS);