[all-commits] [llvm/llvm-project] 7a7d37: [NFC] Add DIExpression::calculateFragmentIntersect...
Orlando Cazalet-Hyams via All-commits
all-commits at lists.llvm.org
Fri Jul 12 00:28:57 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
https://github.com/llvm/llvm-project/commit/7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
Log Message:
-----------
[NFC] Add DIExpression::calculateFragmentIntersect (#97738)
Patch [3/x] to fix structured bindings debug info in SROA.
This function computes a fragment, bit-extract operation if needed, and new
constant offset to describe a part of a variable covered by some memory.
This generalises, simplifies, and replaces at::calculateFragmentIntersect. That
version is still used as a wrapper for now though to keep this change NFC.
The new version takes doesn't have a DbgRecord parameter, instead using an
explicit address and address offset. The old version only operates on
dbg_assigns and this change means it can also operate on dbg_declare records
easily, which it will do in a subsequent patch.
The new version has a new out-param OffsetFromLocationInBits which is set to
the difference between the first bit of the variable location and the first
bit of the memory slice. This will be used in a subsequent patch in SROA to
determine the new offset to use in the address expression after splitting an
alloca.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list