[Assignment Tracking][18/*] Account for assignment tracking in LICM
authorOCHyams <orlando.hyams@sony.com>
Tue, 15 Nov 2022 12:18:49 +0000 (12:18 +0000)
committerOCHyams <orlando.hyams@sony.com>
Tue, 15 Nov 2022 12:24:16 +0000 (12:24 +0000)
commit2da67e8053c7320ed8774830b8fe1c0c4d7e7ebb
tree5c043f88fc97d39220a49eedaa6b419efba2dd50
parent4dad168e672c43656127f1a7a2e9642ebd0285a8
[Assignment Tracking][18/*] Account for assignment tracking in LICM

The Assignment Tracking debug-info feature is outlined in this RFC:

https://discourse.llvm.org/t/
rfc-assignment-tracking-a-better-way-of-specifying-variable-locations-in-ir

Merge DIAssignID attachments on stores that are merged and sunk out of
loops. The store may be sunk into multiple exit blocks, and in this case all
the copies of the store get the same DIAssignID.

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D133313
llvm/lib/Transforms/Scalar/LICM.cpp
llvm/test/DebugInfo/Generic/assignment-tracking/licm/merge.ll [new file with mode: 0644]
llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll [new file with mode: 0644]