[all-commits] [llvm/llvm-project] 01c02c: [Assignment Tracking][SROA] Handle DIArgList in mi...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Fri Mar 31 04:39:32 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 01c02cded15a65e7511988272e70fec76950e934
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    A llvm/test/DebugInfo/Generic/assignment-tracking/sroa/arglist.ll

  Log Message:
  [Assignment Tracking][SROA] Handle DIArgList in migrateDebugInfo

If the to-be-split dbg.assign has a `DIArgList` and a new `Value` has been
requested then use a kill-location for the new dbg.assign. We can't simply
replace the value component (a `DIArgList`) with the new `Value` as that would
leave the `DIExpression` in an invalid state (`DW_OP_LLVM_arg` operands with no

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D147312

  Commit: aa32490bfe0b957c4f5583e14304f5e34b2b9bce
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/CodeGen/assignment-tracking/flag.cpp

  Log Message:
  [Assignment Tracking] Enable by default

See https://discourse.llvm.org/t/rfc-enable-assignment-tracking/69399

This sets the `-Xclang -fexperimental-assignment-tracking` flag to the value
`enabled` which means it will be enabled so long as none of the following are
true: it's an LTO build, LLDB debugger tuning has been specified, or it's an O0
build (no work is done in any case if -g is not specified or -gmlt is used).

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D146987

Compare: https://github.com/llvm/llvm-project/compare/32c7b0343057...aa32490bfe0b

More information about the All-commits mailing list