mirror of
https://github.com/intel/llvm.git
synced 2026-01-18 07:57:36 +08:00
Revert "[Clang] Enable -fextend-lifetimes at -Og (#118026)"
Reverted following several issues appearing related to fake uses, reported
on the github PR.
This reverts commit a9dff35ad2.
This commit is contained in:
@@ -443,11 +443,8 @@ Code Generation Options
|
||||
:option:`-Oz` Like :option:`-Os` (and thus :option:`-O2`), but reduces code
|
||||
size further.
|
||||
|
||||
:option:`-Og` Similar to :option:`-O1`, but with slightly reduced
|
||||
optimization and better variable visibility. The same optimizations are run
|
||||
as at :option:`-O1`, but the ``-fextend-variable-liveness`` flag is
|
||||
also set, which tries to prevent optimizations from reducing the liveness of
|
||||
user variables, improving their availability when debugging.
|
||||
:option:`-Og` Like :option:`-O1`. In future versions, this option might
|
||||
disable different optimizations in order to improve debuggability.
|
||||
|
||||
:option:`-O` Equivalent to :option:`-O1`.
|
||||
|
||||
|
||||
@@ -230,10 +230,6 @@ Modified Compiler Flags
|
||||
|
||||
- The ``-mexecute-only`` and ``-mpure-code`` flags are now accepted for AArch64 targets. (#GH125688)
|
||||
|
||||
- The ``-Og`` optimization flag now sets ``-fextend-variable-liveness``,
|
||||
reducing performance slightly while reducing the number of optimized-out
|
||||
variables.
|
||||
|
||||
Removed Compiler Flags
|
||||
-------------------------
|
||||
|
||||
|
||||
@@ -7683,13 +7683,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
if (Args.hasArg(options::OPT_fretain_comments_from_system_headers))
|
||||
CmdArgs.push_back("-fretain-comments-from-system-headers");
|
||||
|
||||
if (Arg *A = Args.getLastArg(options::OPT_fextend_variable_liveness_EQ)) {
|
||||
A->render(Args, CmdArgs);
|
||||
} else if (Arg *A = Args.getLastArg(options::OPT_O_Group);
|
||||
A && A->containsValue("g")) {
|
||||
// Set -fextend-variable-liveness=all by default at -Og.
|
||||
CmdArgs.push_back("-fextend-variable-liveness=all");
|
||||
}
|
||||
Args.AddLastArg(CmdArgs, options::OPT_fextend_variable_liveness_EQ);
|
||||
|
||||
// Forward -fcomment-block-commands to -cc1.
|
||||
Args.AddAllArgs(CmdArgs, options::OPT_fcomment_block_commands);
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// Tests that -fextend-variable-liveness and its aliases are correctly passed
|
||||
// by the driver, and are set by default at -Og.
|
||||
// by the driver.
|
||||
|
||||
// RUN: %clang -### -c %s 2>&1 | FileCheck %s --check-prefixes=CHECK,DEFAULT
|
||||
// RUN: %clang -### -Og -c %s 2>&1 | FileCheck %s --check-prefixes=CHECK,ALL
|
||||
// RUN: %clang -fextend-variable-liveness=none -### -c %s 2>&1 | FileCheck %s --check-prefixes=CHECK,NONE
|
||||
// RUN: %clang -fextend-variable-liveness=this -### -c %s 2>&1 | FileCheck %s --check-prefixes=CHECK,THIS
|
||||
// RUN: %clang -fextend-variable-liveness=all -### -c %s 2>&1 | FileCheck %s --check-prefixes=CHECK,ALL
|
||||
|
||||
Reference in New Issue
Block a user