Reapply D146987 "[Assignment Tracking] Enable by default"
authorOCHyams <orlando.hyams@sony.com>
Fri, 28 Apr 2023 08:43:50 +0000 (09:43 +0100)
committerOCHyams <orlando.hyams@sony.com>
Fri, 28 Apr 2023 10:34:53 +0000 (11:34 +0100)
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).

This reverts commit 0ba922f600469df273c753f873668e41025487c0 which reverts
https://reviews.llvm.org/D146987

clang/include/clang/Driver/Options.td
clang/test/CodeGen/assignment-tracking/flag.cpp

index 592584a..e945c96 100644 (file)
@@ -5816,7 +5816,7 @@ def fexperimental_assignment_tracking_EQ : Joined<["-"], "fexperimental-assignme
   Group<f_Group>, CodeGenOpts<"EnableAssignmentTracking">,
   NormalizedValuesScope<"CodeGenOptions::AssignmentTrackingOpts">,
   Values<"disabled,enabled,forced">, NormalizedValues<["Disabled","Enabled","Forced"]>,
-  MarshallingInfoEnum<CodeGenOpts<"AssignmentTrackingMode">, "Disabled">;
+  MarshallingInfoEnum<CodeGenOpts<"AssignmentTrackingMode">, "Enabled">;
 
 } // let Flags = [CC1Option, NoDriverOption]
 
index aa1f054..3bd974f 100644 (file)
@@ -8,10 +8,10 @@
 // RUN:     -emit-llvm  %s -o - -fexperimental-assignment-tracking=disabled -O1\
 // RUN: | FileCheck %s --check-prefixes=DISABLE
 
-//// Disabled by default:
+//// Enabled by default:
 // RUN: %clang_cc1 -triple x86_64-none-linux-gnu -debug-info-kind=standalone   \
 // RUN:     -emit-llvm  %s -o - -O1                                            \
-// RUN: | FileCheck %s --check-prefixes=DISABLE
+// RUN: | FileCheck %s --check-prefixes=ENABLE
 
 //// Disabled at O0 unless forced.
 // RUN: %clang_cc1 -triple x86_64-none-linux-gnu -debug-info-kind=standalone   \