[all-commits] [llvm/llvm-project] fca3e8: [Assignment Tracking] Fix fragment error for some ...
Orlando Cazalet-Hyams via All-commits
all-commits at lists.llvm.org
Wed Apr 19 01:33:02 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fca3e8e024f0015604d21e6f76f3e199345679c5
https://github.com/llvm/llvm-project/commit/fca3e8e024f0015604d21e6f76f3e199345679c5
Author: OCHyams <orlando.hyams at sony.com>
Date: 2023-04-19 (Wed, 19 Apr 2023)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
A llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
Log Message:
-----------
[Assignment Tracking] Fix fragment error for some DSE-shortened stores
`shortenAssignment` inserts dbg.assigns with fragments describing the dead part
of a shortened store after each dbg.assign linked to the store.
Without this patch it doesn't take into account that the dead part of a
shortened store may be outside the bounds of a variable of a linked
dbg.assign. It also doesn't correctly account for a non-zero offset in the
address modifying `DIExpression` of the dbg.assign (which is possible for
fragments now even though whole variables currently cannot have a non-zero
offset in their alloca).
Fix this by moving the dead slice into variable-space and performing an
intersect of that adjusted slice with the existing fragment.
This fixes a verifier error reported when building fuchsia with assignment
tracking enabled:
https://ci.chromium.org/ui/p/fuchsia/builders/ci/
clang_toolchain.ci.core.x64-release/b8784000953022145169/overview
Reviewed By: jmorse
Differential Revision: https://reviews.llvm.org/D148536
Commit: 107b307bd61e51aa66ea41f1a2c92c1459b39c7e
https://github.com/llvm/llvm-project/commit/107b307bd61e51aa66ea41f1a2c92c1459b39c7e
Author: OCHyams <orlando.hyams at sony.com>
Date: 2023-04-19 (Wed, 19 Apr 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/CodeGen/assignment-tracking/flag.cpp
Log Message:
-----------
Reapply D146987 "[Assignment Tracking] Enable by default"
This reverts commit efc8b52cbd942f4bd5ffe8f64da5fb8a3b7adc32
which reverts D146987.
See https://reviews.llvm.org/D146987 for issues.
Compare: https://github.com/llvm/llvm-project/compare/bf7f6b44362c...107b307bd61e
More information about the All-commits
mailing list