diff options
author | Slava Zakharin <szakharin@nvidia.com> | 2025-09-04 15:49:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-04 15:49:38 -0700 |
commit | 556ff19db98b9ac926c05f67e93ba6d3c9198c73 (patch) | |
tree | 089995d84e94d020244d214e01d42cc366fe21c8 /lldb/source/Commands/CommandObjectCommands.cpp | |
parent | 83da8d08ff110fd5bf3fff17043420ba442e300c (diff) | |
download | llvm-556ff19db98b9ac926c05f67e93ba6d3c9198c73.zip llvm-556ff19db98b9ac926c05f67e93ba6d3c9198c73.tar.gz llvm-556ff19db98b9ac926c05f67e93ba6d3c9198c73.tar.bz2 |
[flang] Create TBAA subtree for COMMON block variables. (#156558)
In order to help LLVM disambiguate accesses to the COMMON
block variables, this patch creates a TBAA sub-tree for each
COMMON block, and the places all variables belonging to this
COMMON block into this sub-tree. The structure looks like this:
```
common /blk/ a, b, c
"global data"
|
|- "blk_"
|
|- "blk_/bytes_0_to_3"
|- "blk_/bytes_4_to_7"
|- "blk_/bytes_8_to_11"
```
The TBAA tag for "a" is created in "blk_/bytes_0_to_3" root, etc.
The byte spans are created based on the `storage` information
provided by `fir.declare` (#155742).
See also:
https://discourse.llvm.org/t/rfc-flang-representation-for-objects-inside-physical-storage/88026
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
0 files changed, 0 insertions, 0 deletions