[all-commits] [llvm/llvm-project] 41c92c: [Assignment Tracking] Give -fexperimental-assignm...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Wed Mar 29 04:50:53 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 41c92c0dc679022bf270c460629e998380183a2c
      https://github.com/llvm/llvm-project/commit/41c92c0dc679022bf270c460629e998380183a2c
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/test/CodeGen/assignment-tracking/assignment-tracking.cpp
    M clang/test/CodeGen/assignment-tracking/flag.cpp
    M clang/test/CodeGen/assignment-tracking/memcpy-fragment.cpp
    M clang/test/CodeGen/assignment-tracking/nested-scope.cpp

  Log Message:
  -----------
  [Assignment Tracking]  Give -fexperimental-assignment-tracking flag 3 options

Without this patch assignment tracking is enabled with
`-fexperimental-assignment-tracking` and disabled with
`-fno-experimental-assignment-tracking` (default). This patch removes the
`-fno-` version and changes `-fexperimental-assignment-tracking` to take 3
values: `enabled`, `disabled` (default), and `forced`.

`clang -Xclang -fexperimental-assignment-tracking=enabled` enables the feature
if some other conditions are met and `=forced` enables it without any further
checks.

If `enabled` is specified the feature will remain disabled if any of the
following are true: it's an LTO or ThinLTO build, optimisations are not
enabled, or lldb debugger tuning has been specified. See this short RFC
for more info:
https://discourse.llvm.org/t/rfc-enable-assignment-tracking/69399

Reviewed By: jmorse

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




More information about the All-commits mailing list