diff options
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp index 21b78ffd55f..8e170323e5e 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -943,10 +943,10 @@ void CodeViewDebug::collectVariableInfo(const DISubprogram *SP) { bool IsSubfield = false; unsigned StructOffset = 0; - // Handle bitpieces. - if (DIExpr && DIExpr->isBitPiece()) { + // Handle fragments. + if (DIExpr && DIExpr->isFragment()) { IsSubfield = true; - StructOffset = DIExpr->getBitPieceOffset() / 8; + StructOffset = DIExpr->getFragmentOffsetInBits() / 8; } else if (DIExpr && DIExpr->getNumElements() > 0) { continue; // Ignore unrecognized exprs. } @@ -985,7 +985,8 @@ void CodeViewDebug::collectVariableInfo(const DISubprogram *SP) { // This range is valid until the next overlapping bitpiece. In the // common case, ranges will not be bitpieces, so they will overlap. auto J = std::next(I); - while (J != E && !piecesOverlap(DIExpr, J->first->getDebugExpression())) + while (J != E && + !fragmentsOverlap(DIExpr, J->first->getDebugExpression())) ++J; if (J != E) End = getLabelBeforeInsn(J->first); |