1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-svn: 225848
This commit is contained in:
Adrian Prantl 2015-01-13 23:11:51 +00:00
parent 0aed0589fe
commit 46d1668861

View File

@ -1670,19 +1670,18 @@ void DwarfDebug::emitLocPieces(ByteStreamer &Streamer,
unsigned Offset = 0;
for (auto Piece : Values) {
const unsigned SizeOfByte = 8;
DIExpression Expr = Piece.getExpression();
unsigned PieceOffset = Expr.getPieceOffset();
unsigned PieceSize = Expr.getPieceSize();
assert(Offset <= PieceOffset && "overlapping or duplicate pieces");
if (Offset < PieceOffset) {
// The DWARF spec seriously mandates pieces with no locations for gaps.
Asm->EmitDwarfOpPiece(Streamer, (PieceOffset-Offset)*8);
Asm->EmitDwarfOpPiece(Streamer, (PieceOffset-Offset)*SizeOfByte);
Offset += PieceOffset-Offset;
}
Offset += PieceSize;
const unsigned SizeOfByte = 8;
#ifndef NDEBUG
DIVariable Var = Piece.getVariable();
assert(!Var.isIndirect() && "indirect address for piece");