Skip to content

Commit f8875e3

Browse files
committed
address review comments
1 parent de6105e commit f8875e3

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

llvm/lib/IR/DebugInfo.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,13 +1875,16 @@ bool calculateFragmentIntersectImpl(
18751875
if (AssignRecord->isKillAddress())
18761876
return false;
18771877

1878-
int64_t AddrOffsetInBytes;
1879-
SmallVector<uint64_t> PostOffsetOps; //< Unused.
1880-
// Bail if we can't find a constant offset (or none) in the expression.
1881-
if (!AssignRecord->getAddressExpression()->extractLeadingOffset(
1882-
AddrOffsetInBytes, PostOffsetOps))
1883-
return false;
1884-
int64_t AddrOffsetInBits = AddrOffsetInBytes * 8;
1878+
int64_t AddrOffsetInBits;
1879+
{
1880+
int64_t AddrOffsetInBytes;
1881+
SmallVector<uint64_t> PostOffsetOps; //< Unused.
1882+
// Bail if we can't find a constant offset (or none) in the expression.
1883+
if (!AssignRecord->getAddressExpression()->extractLeadingOffset(
1884+
AddrOffsetInBytes, PostOffsetOps))
1885+
return false;
1886+
AddrOffsetInBits = AddrOffsetInBytes * 8;
1887+
}
18851888

18861889
Value *Addr = AssignRecord->getAddress();
18871890
// FIXME: It may not always be zero.
@@ -1901,7 +1904,6 @@ bool at::calculateFragmentIntersect(
19011904
const DataLayout &DL, const Value *Dest, uint64_t SliceOffsetInBits,
19021905
uint64_t SliceSizeInBits, const DbgAssignIntrinsic *DbgAssign,
19031906
std::optional<DIExpression::FragmentInfo> &Result) {
1904-
19051907
return calculateFragmentIntersectImpl(DL, Dest, SliceOffsetInBits,
19061908
SliceSizeInBits, DbgAssign, Result);
19071909
}
@@ -1912,8 +1914,6 @@ bool at::calculateFragmentIntersect(
19121914
const DataLayout &DL, const Value *Dest, uint64_t SliceOffsetInBits,
19131915
uint64_t SliceSizeInBits, const DbgVariableRecord *DVRAssign,
19141916
std::optional<DIExpression::FragmentInfo> &Result) {
1915-
// FIXME: Remove this wrapper function and call
1916-
// DIExpression::calculateFragmentIntersect directly.
19171917
return calculateFragmentIntersectImpl(DL, Dest, SliceOffsetInBits,
19181918
SliceSizeInBits, DVRAssign, Result);
19191919
}

llvm/lib/IR/DebugInfoMetadata.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2138,16 +2138,16 @@ bool DIExpression::calculateFragmentIntersect(
21382138
// dbg location start with VarFrag offset=32
21392139
// |
21402140
// mem slice start: SliceOfVariable offset=40
2141-
int64_t MemStartRelToFragInBits =
2141+
int64_t MemStartRelToVarInBits =
21422142
MemStartRelToDbgStartInBits + VarFrag.OffsetInBits;
2143-
int64_t MemEndRelToFragInBits = MemStartRelToFragInBits + SliceSizeInBits;
2143+
int64_t MemEndRelToVarInBits = MemStartRelToVarInBits + SliceSizeInBits;
21442144
// If the memory region starts before the debug location the fragment
21452145
// offset would be negative, which we can't encode. Limit those to 0. This
2146-
// is fine becausethose bits necessarily don't overlap with the variable
2147-
// fragment.
2148-
int64_t MemFragStart = std::max<int64_t>(0, MemStartRelToFragInBits);
2146+
// is fine because those bits necessarily don't overlap with the existing
2147+
// variable fragment.
2148+
int64_t MemFragStart = std::max<int64_t>(0, MemStartRelToVarInBits);
21492149
int64_t MemFragSize =
2150-
std::max<int64_t>(0, MemEndRelToFragInBits - MemFragStart);
2150+
std::max<int64_t>(0, MemEndRelToVarInBits - MemFragStart);
21512151
DIExpression::FragmentInfo SliceOfVariable(MemFragSize, MemFragStart);
21522152

21532153
// Intersect the memory region fragment with the variable location fragment.

0 commit comments

Comments
 (0)