diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h --- a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h @@ -146,6 +146,7 @@ protected: std::vector DisasmLines, HexLines; size_t DisasmLineMaxLen; + size_t DisasmCounter; }; } // end namespace llvm diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp @@ -473,6 +473,7 @@ DisasmLines.clear(); HexLines.clear(); DisasmLineMaxLen = 0; + DisasmCounter = 0; emitFunctionBody(); diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp b/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp @@ -356,12 +356,14 @@ HexLines.resize(HexLines.size() + 1); std::string &HexLine = HexLines.back(); raw_string_ostream HexStream(HexLine); + HexStream << format("%08X: ", DisasmCounter); for (size_t i = 0; i < CodeBytes.size(); i += 4) { unsigned int CodeDWord = *(unsigned int *)&CodeBytes[i]; HexStream << format("%s%08X", (i > 0 ? " " : ""), CodeDWord); } + DisasmCounter += CodeBytes.size(); DisasmStream.flush(); DisasmLineMaxLen = std::max(DisasmLineMaxLen, DisasmLine.size()); }