[clang] d9b9621 - Reland D73534: [DebugInfo] Enable the debug entry values feature by default

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 22 08:30:49 PDT 2020


Also, this patch was reverted and recommitted several times (more than I
think would be ideal) - please include more details in the commit message
about what went wrong, what was fixed, what testing was missed in the first
place and done in subsequent precommit validation (& is there anything more
broadly we could learn from this patches story to avoid this kind of
revert/recommit repetition in the future?)

On Sat, Mar 21, 2020 at 8:13 PM David Blaikie <dblaikie at gmail.com> wrote:

> Please include the "Differential Revision" line so that Phab picks up
> commits like this and ties them into the review (& also makes it
> conveniently clickable to jump from the commit mail to the review)
>
> On Thu, Mar 19, 2020 at 5:58 AM Djordje Todorovic via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>>
>> Author: Djordje Todorovic
>> Date: 2020-03-19T13:57:30+01:00
>> New Revision: d9b962100942c71a4c26debaa716f7ab0c4ea8a1
>>
>> URL:
>> https://github.com/llvm/llvm-project/commit/d9b962100942c71a4c26debaa716f7ab0c4ea8a1
>> DIFF:
>> https://github.com/llvm/llvm-project/commit/d9b962100942c71a4c26debaa716f7ab0c4ea8a1.diff
>>
>> LOG: Reland D73534: [DebugInfo] Enable the debug entry values feature by
>> default
>>
>> The issue that was causing the build failures was fixed with the D76164.
>>
>> Added:
>>     llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
>>
>> Modified:
>>     clang/include/clang/Basic/CodeGenOptions.def
>>     clang/include/clang/Driver/CC1Options.td
>>     clang/lib/CodeGen/BackendUtil.cpp
>>     clang/lib/CodeGen/CGDebugInfo.cpp
>>     clang/lib/Frontend/CompilerInvocation.cpp
>>     clang/test/CodeGen/debug-info-extern-call.c
>>     clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
>>     lldb/packages/Python/lldbsuite/test/decorators.py
>>
>> lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
>>     llvm/include/llvm/Target/TargetMachine.h
>>     llvm/include/llvm/Target/TargetOptions.h
>>     llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>>     llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
>>     llvm/lib/CodeGen/CommandFlags.cpp
>>     llvm/lib/CodeGen/LiveDebugValues.cpp
>>     llvm/lib/CodeGen/TargetOptionsImpl.cpp
>>     llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
>>     llvm/lib/Target/ARM/ARMTargetMachine.cpp
>>     llvm/lib/Target/X86/X86TargetMachine.cpp
>>     llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
>>     llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
>>     llvm/test/CodeGen/X86/call-site-info-output.ll
>>     llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
>>     llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
>>     llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
>>     llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
>>     llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
>>
>> llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
>>
>> llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
>>     llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
>>     llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
>>     llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
>>     llvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
>>     llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
>>     llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
>>     llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
>>     llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
>>     llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
>>     llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
>>     llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
>>     llvm/test/DebugInfo/X86/dbg-value-range.ll
>>     llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
>>     llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
>>     llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
>>     llvm/test/DebugInfo/X86/loclists-dwp.ll
>>     llvm/test/tools/llvm-locstats/locstats.ll
>>
>> Removed:
>>
>>
>>
>>
>> ################################################################################
>> diff  --git a/clang/include/clang/Basic/CodeGenOptions.def
>> b/clang/include/clang/Basic/CodeGenOptions.def
>> index 3c8b0eeb47a5..e047054447f3 100644
>> --- a/clang/include/clang/Basic/CodeGenOptions.def
>> +++ b/clang/include/clang/Basic/CodeGenOptions.def
>> @@ -63,7 +63,6 @@ CODEGENOPT(ExperimentalNewPassManager, 1, 0) ///<
>> Enables the new, experimental
>>  CODEGENOPT(DebugPassManager, 1, 0) ///< Prints debug information for the
>> new
>>                                     ///< pass manager.
>>  CODEGENOPT(DisableRedZone    , 1, 0) ///< Set when -mno-red-zone is
>> enabled.
>> -CODEGENOPT(EnableDebugEntryValues, 1, 0) ///< Emit call site parameter
>> dbg info
>>  CODEGENOPT(EmitCallSiteInfo, 1, 0) ///< Emit call site info only in the
>> case of
>>                                     ///< '-g' + 'O>0' level.
>>  CODEGENOPT(IndirectTlsSegRefs, 1, 0) ///< Set when
>> -mno-tls-direct-seg-refs
>>
>> diff  --git a/clang/include/clang/Driver/CC1Options.td
>> b/clang/include/clang/Driver/CC1Options.td
>> index b7a2826d8fcb..cc30893703df 100644
>> --- a/clang/include/clang/Driver/CC1Options.td
>> +++ b/clang/include/clang/Driver/CC1Options.td
>> @@ -388,8 +388,6 @@ def flto_visibility_public_std:
>>  def flto_unit: Flag<["-"], "flto-unit">,
>>      HelpText<"Emit IR to support LTO unit features (CFI, whole program
>> vtable opt)">;
>>  def fno_lto_unit: Flag<["-"], "fno-lto-unit">;
>> -def femit_debug_entry_values : Flag<["-"], "femit-debug-entry-values">,
>> -    HelpText<"Enables debug info about call site parameter's entry
>> values">;
>>  def fdebug_pass_manager : Flag<["-"], "fdebug-pass-manager">,
>>      HelpText<"Prints debug information for the new pass manager">;
>>  def fno_debug_pass_manager : Flag<["-"], "fno-debug-pass-manager">,
>>
>> diff  --git a/clang/lib/CodeGen/BackendUtil.cpp
>> b/clang/lib/CodeGen/BackendUtil.cpp
>> index 28e4ecc7b4bf..e8f2524a25d5 100644
>> --- a/clang/lib/CodeGen/BackendUtil.cpp
>> +++ b/clang/lib/CodeGen/BackendUtil.cpp
>> @@ -491,7 +491,6 @@ static void initTargetOptions(llvm::TargetOptions
>> &Options,
>>    Options.DebuggerTuning = CodeGenOpts.getDebuggerTuning();
>>    Options.EmitStackSizeSection = CodeGenOpts.StackSizeSection;
>>    Options.EmitAddrsig = CodeGenOpts.Addrsig;
>> -  Options.EnableDebugEntryValues = CodeGenOpts.EnableDebugEntryValues;
>>    Options.ForceDwarfFrameSection = CodeGenOpts.ForceDwarfFrameSection;
>>    Options.EmitCallSiteInfo = CodeGenOpts.EmitCallSiteInfo;
>>
>>
>> diff  --git a/clang/lib/CodeGen/CGDebugInfo.cpp
>> b/clang/lib/CodeGen/CGDebugInfo.cpp
>> index 94dab4c85614..eeb1927177c5 100644
>> --- a/clang/lib/CodeGen/CGDebugInfo.cpp
>> +++ b/clang/lib/CodeGen/CGDebugInfo.cpp
>> @@ -4883,8 +4883,7 @@ llvm::DINode::DIFlags
>> CGDebugInfo::getCallSiteRelatedAttrs() const {
>>        (CGM.getCodeGenOpts().getDebuggerTuning() ==
>> llvm::DebuggerKind::LLDB ||
>>         CGM.getCodeGenOpts().getDebuggerTuning() ==
>> llvm::DebuggerKind::GDB);
>>
>> -  if (!SupportsDWARFv4Ext && CGM.getCodeGenOpts().DwarfVersion < 5 &&
>> -      !CGM.getCodeGenOpts().EnableDebugEntryValues)
>> +  if (!SupportsDWARFv4Ext && CGM.getCodeGenOpts().DwarfVersion < 5)
>>      return llvm::DINode::FlagZero;
>>
>>    return llvm::DINode::FlagAllCallsDescribed;
>>
>> diff  --git a/clang/lib/Frontend/CompilerInvocation.cpp
>> b/clang/lib/Frontend/CompilerInvocation.cpp
>> index e2b24f0cfcea..2e432ad9ce14 100644
>> --- a/clang/lib/Frontend/CompilerInvocation.cpp
>> +++ b/clang/lib/Frontend/CompilerInvocation.cpp
>> @@ -788,10 +788,8 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts,
>> ArgList &Args, InputKind IK,
>>
>>    llvm::Triple T(TargetOpts.Triple);
>>    if (Opts.OptimizationLevel > 0 && Opts.hasReducedDebugInfo() &&
>> -      llvm::is_contained(DebugEntryValueArchs, T.getArch())) {
>> -    Opts.EnableDebugEntryValues =
>> Args.hasArg(OPT_femit_debug_entry_values);
>> +      llvm::is_contained(DebugEntryValueArchs, T.getArch()))
>>      Opts.EmitCallSiteInfo = true;
>> -  }
>>
>>    Opts.DisableO0ImplyOptNone = Args.hasArg(OPT_disable_O0_optnone);
>>    Opts.DisableRedZone = Args.hasArg(OPT_disable_red_zone);
>>
>> diff  --git a/clang/test/CodeGen/debug-info-extern-call.c
>> b/clang/test/CodeGen/debug-info-extern-call.c
>> index da3764f7359e..072e578b5898 100644
>> --- a/clang/test/CodeGen/debug-info-extern-call.c
>> +++ b/clang/test/CodeGen/debug-info-extern-call.c
>> @@ -1,7 +1,7 @@
>>  // When entry values are emitted, expect a subprogram for extern decls
>> so that
>>  // the dwarf generator can describe call site parameters at extern call
>> sites.
>>  //
>> -// RUN: %clang -Xclang -femit-debug-entry-values -g -O2 -target
>> x86_64-none-linux-gnu -S -emit-llvm %s -o - \
>> +// RUN: %clang -g -O2 -target x86_64-none-linux-gnu -S -emit-llvm %s -o
>> - \
>>  // RUN:   | FileCheck %s -check-prefix=DECLS-FOR-EXTERN
>>
>>  // Similarly, when the debugger tuning is gdb, expect a subprogram for
>> extern
>>
>> diff  --git a/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
>> b/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
>> index 72caf119f869..e64e07cdb748 100644
>> --- a/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
>> +++ b/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
>> @@ -15,13 +15,6 @@
>>  // RUN: | FileCheck %s -check-prefix=HAS-ATTR \
>>  // RUN:     -implicit-check-not=DISubprogram
>> -implicit-check-not=DIFlagAllCallsDescribed
>>
>> -// Supported: DWARF4 + GDB tuning by using '-femit-debug-entry-values'
>> -// RUN: %clang_cc1 -femit-debug-entry-values -emit-llvm -triple
>> x86_64-linux-gnu \
>> -// RUN:   %s -o - -O1 -disable-llvm-passes -debugger-tuning=gdb \
>> -// RUN:   -debug-info-kind=standalone -dwarf-version=4 \
>> -// RUN: | FileCheck %s -check-prefix=HAS-ATTR \
>> -// RUN:     -implicit-check-not=DIFlagAllCallsDescribed
>> -
>>  // Note: DIFlagAllCallsDescribed may have been enabled prematurely when
>> tuning
>>  // for GDB under -gdwarf-4 in https://reviews.llvm.org/D69743. It's
>> possible
>>  // this should have been 'Unsupported' until entry values emission was
>> enabled
>> @@ -34,15 +27,15 @@
>>  // RUN: | FileCheck %s -check-prefix=HAS-ATTR \
>>  // RUN:     -implicit-check-not=DIFlagAllCallsDescribed
>>
>> -// Supported: DWARF4 + LLDB tuning by using '-femit-debug-entry-values'
>> -// RUN: %clang_cc1 -femit-debug-entry-values -emit-llvm -triple
>> x86_64-linux-gnu \
>> +// Supported: DWARF4 + LLDB, -O1
>> +// RUN: %clang_cc1 -emit-llvm -triple x86_64-linux-gnu \
>>  // RUN:   %s -o - -O1 -disable-llvm-passes -debugger-tuning=lldb \
>>  // RUN:   -debug-info-kind=standalone -dwarf-version=4 \
>>  // RUN: | FileCheck %s -check-prefix=HAS-ATTR \
>>  // RUN:     -implicit-check-not=DIFlagAllCallsDescribed
>>
>> -// Unsupported: -O0 + '-femit-debug-entry-values'
>> -// RUN: %clang_cc1 -femit-debug-entry-values -emit-llvm -triple
>> x86_64-linux-gnu \
>> +// Unsupported: -O0
>> +// RUN: %clang_cc1 -emit-llvm -triple x86_64-linux-gnu \
>>  // RUN:   %s -o - -O0 -disable-llvm-passes -debugger-tuning=gdb \
>>  // RUN:   -debug-info-kind=standalone -dwarf-version=4 \
>>  // RUN: | FileCheck %s -check-prefix=NO-ATTR
>>
>> diff  --git a/lldb/packages/Python/lldbsuite/test/decorators.py
>> b/lldb/packages/Python/lldbsuite/test/decorators.py
>> index 32ae8ee9b000..cc28ae901634 100644
>> --- a/lldb/packages/Python/lldbsuite/test/decorators.py
>> +++ b/lldb/packages/Python/lldbsuite/test/decorators.py
>> @@ -702,7 +702,7 @@ def is_compiler_clang_with_call_site_info(self):
>>
>>          f = tempfile.NamedTemporaryFile()
>>          cmd = "echo 'int main() {}' | " \
>> -              "%s -g -glldb -O1 -Xclang -femit-debug-entry-values -S
>> -emit-llvm -x c -o %s -" % (compiler_path, f.name)
>> +              "%s -g -glldb -O1 -S -emit-llvm -x c -o %s -" %
>> (compiler_path, f.name)
>>          if os.popen(cmd).close() is not None:
>>              return "Compiler can't compile with call site info enabled"
>>
>>
>> diff  --git
>> a/lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
>> b/lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
>> index db8fa57abb91..ab505a684126 100644
>> ---
>> a/lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
>> +++
>> b/lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
>> @@ -1,3 +1,3 @@
>>  CXX_SOURCES := main.cpp
>> -CXXFLAGS_EXTRAS := -O2 -glldb -Xclang -femit-debug-entry-values
>> +CXXFLAGS_EXTRAS := -O2 -glldb
>>  include Makefile.rules
>>
>> diff  --git a/llvm/include/llvm/Target/TargetMachine.h
>> b/llvm/include/llvm/Target/TargetMachine.h
>> index fdf1313e5491..c2e14d14d351 100644
>> --- a/llvm/include/llvm/Target/TargetMachine.h
>> +++ b/llvm/include/llvm/Target/TargetMachine.h
>> @@ -237,6 +237,9 @@ class TargetMachine {
>>    void setSupportsDefaultOutlining(bool Enable) {
>>      Options.SupportsDefaultOutlining = Enable;
>>    }
>> +  void setSupportsDebugEntryValues(bool Enable) {
>> +    Options.SupportsDebugEntryValues = Enable;
>> +  }
>>
>>    bool shouldPrintMachineCode() const { return Options.PrintMachineCode;
>> }
>>
>>
>> diff  --git a/llvm/include/llvm/Target/TargetOptions.h
>> b/llvm/include/llvm/Target/TargetOptions.h
>> index 9378e290bed1..7282040a352f 100644
>> --- a/llvm/include/llvm/Target/TargetOptions.h
>> +++ b/llvm/include/llvm/Target/TargetOptions.h
>> @@ -134,8 +134,8 @@ namespace llvm {
>>            EmulatedTLS(false), ExplicitEmulatedTLS(false),
>> EnableIPRA(false),
>>            EmitStackSizeSection(false), EnableMachineOutliner(false),
>>            SupportsDefaultOutlining(false), EmitAddrsig(false),
>> -          EmitCallSiteInfo(false), EnableDebugEntryValues(false),
>> -          ForceDwarfFrameSection(false) {}
>> +          EmitCallSiteInfo(false), SupportsDebugEntryValues(false),
>> +          EnableDebugEntryValues(false), ForceDwarfFrameSection(false) {}
>>
>>      /// PrintMachineCode - This flag is enabled when the
>> -print-machineinstrs
>>      /// option is specified on the command line, and should enable
>> debugging
>> @@ -286,8 +286,16 @@ namespace llvm {
>>      /// info, and it is restricted only to optimized code. This can be
>> used for
>>      /// something else, so that should be controlled in the frontend.
>>      unsigned EmitCallSiteInfo : 1;
>> -    /// Emit debug info about parameter's entry values.
>> -    unsigned EnableDebugEntryValues : 1;
>> +    /// Set if the target supports the debug entry values by default.
>> +    unsigned SupportsDebugEntryValues : 1;
>> +    /// When set to true, the EnableDebugEntryValues option forces
>> production
>> +    /// of debug entry values even if the target does not officially
>> support
>> +    /// it. Useful for testing purposes only. This flag should never be
>> checked
>> +    /// directly, always use \ref ShouldEmitDebugEntryValues instead.
>> +     unsigned EnableDebugEntryValues : 1;
>> +    /// NOTE: There are targets that still do not support the debug
>> entry values
>> +    /// production.
>> +    bool ShouldEmitDebugEntryValues() const;
>>
>>      /// Emit DWARF debug frame section.
>>      unsigned ForceDwarfFrameSection : 1;
>>
>> diff  --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> index 7efeb1a3736a..7b469d496b70 100644
>> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> @@ -95,6 +95,10 @@ static cl::opt<bool>
>> UseDwarfRangesBaseAddressSpecifier(
>>      "use-dwarf-ranges-base-address-specifier", cl::Hidden,
>>      cl::desc("Use base address specifiers in debug_ranges"),
>> cl::init(false));
>>
>> +static cl::opt<bool> EmitDwarfDebugEntryValues(
>> +    "emit-debug-entry-values", cl::Hidden,
>> +    cl::desc("Emit the debug entry values"), cl::init(false));
>> +
>>  static cl::opt<bool> GenerateARangeSection("generate-arange-section",
>>                                             cl::Hidden,
>>                                             cl::desc("Generate dwarf
>> aranges"),
>> @@ -419,6 +423,12 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
>>    // a monolithic string offsets table without any header.
>>    UseSegmentedStringOffsetsTable = DwarfVersion >= 5;
>>
>> +  // Emit call-site-param debug info for GDB and LLDB, if the target
>> supports
>> +  // the debug entry values feature. It can also be enabled explicitly.
>> +  EmitDebugEntryValues = (Asm->TM.Options.ShouldEmitDebugEntryValues() &&
>> +                          (tuneForGDB() || tuneForLLDB())) ||
>> +                         EmitDwarfDebugEntryValues;
>> +
>>    Asm->OutStreamer->getContext().setDwarfVersion(DwarfVersion);
>>  }
>>
>> @@ -886,9 +896,8 @@ void DwarfDebug::constructCallSiteEntryDIEs(const
>> DISubprogram &SP,
>>        DIE &CallSiteDIE = CU.constructCallSiteEntryDIE(ScopeDIE,
>> CalleeDIE,
>>                                                        IsTail, PCAddr,
>> CallReg);
>>
>> -      // GDB and LLDB support call site parameter debug info.
>> -      if (Asm->TM.Options.EnableDebugEntryValues &&
>> -          (tuneForGDB() || tuneForLLDB())) {
>> +      // Optionally emit call-site-param debug info.
>> +      if (emitDebugEntryValues()) {
>>          ParamSet Params;
>>          // Try to interpret values of call site parameters.
>>          collectCallSiteParameters(&MI, Params);
>>
>> diff  --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
>> b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
>> index a44960589d89..882fc739d792 100644
>> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
>> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
>> @@ -386,6 +386,11 @@ class DwarfDebug : public DebugHandlerBase {
>>    /// a monolithic sequence of string offsets.
>>    bool UseSegmentedStringOffsetsTable;
>>
>> +  /// Enable production of call site parameters needed to print the
>> debug entry
>> +  /// values. Useful for testing purposes when a debugger does not
>> support the
>> +  /// feature yet.
>> +  bool EmitDebugEntryValues;
>> +
>>    /// Separated Dwarf Variables
>>    /// In general these will all be for bits that are left in the
>>    /// original object file, rather than things that are meant
>> @@ -708,6 +713,10 @@ class DwarfDebug : public DebugHandlerBase {
>>      return UseSegmentedStringOffsetsTable;
>>    }
>>
>> +  bool emitDebugEntryValues() const {
>> +    return EmitDebugEntryValues;
>> +  }
>> +
>>    bool shareAcrossDWOCUs() const;
>>
>>    /// Returns the Dwarf Version.
>>
>> diff  --git a/llvm/lib/CodeGen/CommandFlags.cpp
>> b/llvm/lib/CodeGen/CommandFlags.cpp
>> index 7acb84df582f..d5dc49a91177 100644
>> --- a/llvm/lib/CodeGen/CommandFlags.cpp
>> +++ b/llvm/lib/CodeGen/CommandFlags.cpp
>> @@ -380,7 +380,7 @@ codegen::RegisterCodeGenFlags::RegisterCodeGenFlags()
>> {
>>
>>    static cl::opt<bool> EnableDebugEntryValues(
>>        "debug-entry-values",
>> -      cl::desc("Emit debug info about parameter's entry values"),
>> +      cl::desc("Enable debug info for the debug entry values."),
>>        cl::init(false));
>>    CGBINDOPT(EnableDebugEntryValues);
>>
>>
>> diff  --git a/llvm/lib/CodeGen/LiveDebugValues.cpp
>> b/llvm/lib/CodeGen/LiveDebugValues.cpp
>> index 94c5cc58ac1e..a013c419b7c7 100644
>> --- a/llvm/lib/CodeGen/LiveDebugValues.cpp
>> +++ b/llvm/lib/CodeGen/LiveDebugValues.cpp
>> @@ -1125,7 +1125,7 @@ void LiveDebugValues::transferRegisterDef(
>>
>>    if (auto *TPC = getAnalysisIfAvailable<TargetPassConfig>()) {
>>      auto &TM = TPC->getTM<TargetMachine>();
>> -    if (TM.Options.EnableDebugEntryValues)
>> +    if (TM.Options.ShouldEmitDebugEntryValues())
>>        emitEntryValues(MI, OpenRanges, VarLocIDs, Transfers, KillSet);
>>    }
>>  }
>> @@ -1630,7 +1630,7 @@ void LiveDebugValues::recordEntryValue(const
>> MachineInstr &MI,
>>                                         VarLocMap &VarLocIDs) {
>>    if (auto *TPC = getAnalysisIfAvailable<TargetPassConfig>()) {
>>      auto &TM = TPC->getTM<TargetMachine>();
>> -    if (!TM.Options.EnableDebugEntryValues)
>> +    if (!TM.Options.ShouldEmitDebugEntryValues())
>>        return;
>>    }
>>
>>
>> diff  --git a/llvm/lib/CodeGen/TargetOptionsImpl.cpp
>> b/llvm/lib/CodeGen/TargetOptionsImpl.cpp
>> index d794a261ecb2..4866d4c171c0 100644
>> --- a/llvm/lib/CodeGen/TargetOptionsImpl.cpp
>> +++ b/llvm/lib/CodeGen/TargetOptionsImpl.cpp
>> @@ -45,3 +45,9 @@ bool TargetOptions::DisableFramePointerElim(const
>> MachineFunction &MF) const {
>>  bool TargetOptions::HonorSignDependentRoundingFPMath() const {
>>    return !UnsafeFPMath && HonorSignDependentRoundingFPMathOption;
>>  }
>> +
>> +/// NOTE: There are targets that still do not support the debug entry
>> values
>> +/// production.
>> +bool TargetOptions::ShouldEmitDebugEntryValues() const {
>> +  return SupportsDebugEntryValues || EnableDebugEntryValues;
>> +}
>>
>> diff  --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
>> b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
>> index a5676d286ebe..62ae04a07808 100644
>> --- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
>> +++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
>> @@ -309,6 +309,9 @@ AArch64TargetMachine::AArch64TargetMachine(const
>> Target &T, const Triple &TT,
>>
>>    // AArch64 supports default outlining behaviour.
>>    setSupportsDefaultOutlining(true);
>> +
>> +  // AArch64 supports the debug entry values.
>> +  setSupportsDebugEntryValues(true);
>>  }
>>
>>  AArch64TargetMachine::~AArch64TargetMachine() = default;
>>
>> diff  --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
>> b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
>> index 84876eda33a6..63aa65267ef2 100644
>> --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
>> +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
>> @@ -243,6 +243,9 @@ ARMBaseTargetMachine::ARMBaseTargetMachine(const
>> Target &T, const Triple &TT,
>>      this->Options.NoTrapAfterNoreturn = true;
>>    }
>>
>> +  // ARM supports the debug entry values.
>> +  setSupportsDebugEntryValues(true);
>> +
>>    initAsmInfo();
>>  }
>>
>>
>> diff  --git a/llvm/lib/Target/X86/X86TargetMachine.cpp
>> b/llvm/lib/Target/X86/X86TargetMachine.cpp
>> index 22b4e2805a5e..0cfa7bb04771 100644
>> --- a/llvm/lib/Target/X86/X86TargetMachine.cpp
>> +++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
>> @@ -232,6 +232,9 @@ X86TargetMachine::X86TargetMachine(const Target &T,
>> const Triple &TT,
>>
>>    setMachineOutliner(true);
>>
>> +  // x86 supports the debug entry values.
>> +  setSupportsDebugEntryValues(true);
>> +
>>    initAsmInfo();
>>  }
>>
>>
>> diff  --git a/llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
>> b/llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
>> index fec542223fc9..e4100543d3c7 100644
>> --- a/llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
>> +++ b/llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
>> @@ -1,3 +1,5 @@
>> +# We do not support the call site info for the target now, so we use the
>> experimental option (-emit-call-site-info -debug-entry-values).
>> +
>>  # RUN: llc -emit-call-site-info -debug-entry-values -run-pass=none
>> -verify-machineinstrs -o - %s | FileCheck %s
>>
>>  # Verify that it is possible to read and write MIR where a callSites
>> entry
>>
>> diff  --git a/llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
>> b/llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
>> index 2472aa707e16..d5bd82c71080 100644
>> --- a/llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
>> +++ b/llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
>> @@ -1,5 +1,5 @@
>> -# RUN: not llc -mtriple=x86_64-- -run-pass none %s -o - 2>&1 | FileCheck
>> %s
>> -# CHECK: Call site info provided but not used
>> +# RUN: llc -emit-call-site-info -mtriple=x86_64-- -run-pass none %s -o -
>> 2>&1 | FileCheck %s
>> +# CHECK-NOT: Call site info provided but not used
>>  --- |
>>    define dso_local i32 @baa(i32 %a) local_unnamed_addr {
>>    entry:
>>
>> diff  --git a/llvm/test/CodeGen/X86/call-site-info-output.ll
>> b/llvm/test/CodeGen/X86/call-site-info-output.ll
>> index a0438f0c2b98..0686f184b526 100644
>> --- a/llvm/test/CodeGen/X86/call-site-info-output.ll
>> +++ b/llvm/test/CodeGen/X86/call-site-info-output.ll
>> @@ -1,6 +1,6 @@
>>  ; Test call site info MIR printer and parser.Parser assertions and
>> machine
>>  ; verifier will check the rest;
>> -; RUN: llc -emit-call-site-info -debug-entry-values %s
>> -stop-before=finalize-isel -o %t.mir
>> +; RUN: llc -emit-call-site-info %s -stop-before=finalize-isel -o %t.mir
>>  ; RUN: cat %t.mir | FileCheck %s
>>  ; CHECK: name: fn2
>>  ; CHECK: callSites:
>> @@ -10,7 +10,7 @@
>>  ; CHECK-NEXT:   arg: 0, reg: '$edi'
>>  ; CHECK-NEXT:   arg: 1, reg: '$esi'
>>  ; CHECK-NEXT:   arg: 2, reg: '$edx'
>> -; RUN: llc -emit-call-site-info -debug-entry-values %t.mir
>> -run-pass=finalize-isel -o -| FileCheck %s --check-prefix=PARSER
>> +; RUN: llc -emit-call-site-info %t.mir -run-pass=finalize-isel -o -|
>> FileCheck %s --check-prefix=PARSER
>>  ; Verify that we are able to parse output mir and that we are getting
>> the same result.
>>  ; PARSER: name: fn2
>>  ; PARSER: callSites:
>>
>> diff  --git
>> a/llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
>> b/llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
>> index a925cd0c1452..3b91d17dc628 100644
>> --- a/llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
>> +++ b/llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
>> @@ -1,4 +1,4 @@
>> -; RUN: llc -mtriple aarch64-linux-gnu -emit-call-site-info
>> -debug-entry-values -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
>> +; RUN: llc -mtriple aarch64-linux-gnu -emit-call-site-info -filetype=obj
>> -o - %s | llvm-dwarfdump - | FileCheck %s
>>
>>  ; Based on the following C reproducer:
>>  ;
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
>> b/llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
>> index ed2a7d903885..e3ee2cac4fa9 100644
>> --- a/llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
>> +++ b/llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-after=livedebugvalues -filetype=obj -o - %s | llvm-dwarfdump - |
>> FileCheck %s
>> +# RUN: llc -emit-call-site-info -start-after=livedebugvalues
>> -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
>>
>>  # Based on the following C reproducer:
>>  #
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
>> b/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
>> index bd42c229d29c..8f7f789eb8fb 100644
>> --- a/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
>> +++ b/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -O1 -emit-call-site-info -debug-entry-values -filetype=obj
>> -mtriple thumbv7em-apple-unknown-macho -start-after=machineverifier %s -o
>> %t.o
>> +# RUN: llc -O1 -emit-call-site-info -filetype=obj -mtriple
>> thumbv7em-apple-unknown-macho -start-after=machineverifier %s -o %t.o
>>  # RUN: llvm-dwarfdump %t.o | FileCheck %s
>>
>>  # Crash test, reduced from:
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
>> b/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
>> index 2cf7e4d1c87f..e3f1031796a0 100644
>> --- a/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
>> +++ b/llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -O1 -emit-call-site-info -debug-entry-values -filetype=obj
>> -mtriple thumbv7em-apple-unknown-macho -start-after=machineverifier %s -o
>> %t.o
>> +# RUN: llc -O1 -emit-call-site-info -filetype=obj -mtriple
>> thumbv7em-apple-unknown-macho -start-after=machineverifier %s -o %t.o
>>  # RUN: llvm-dwarfdump %t.o | FileCheck %s
>>
>>  # Crash test, reduced from:
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
>> b/llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
>> index 5b84d9e9627f..b25b1c90d634 100644
>> --- a/llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
>> +++ b/llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -o - %s | FileCheck %s
>> +# RUN: llc -run-pass=livedebugvalues -o - %s | FileCheck %s
>>
>>  # Based on the following C reproducer:
>>  #
>> @@ -106,10 +106,6 @@
>>  name:            caller
>>  alignment:       4
>>  tracksRegLiveness: true
>> -callSites:
>> -  - { bb: 0, offset: 6 }
>> -  - { bb: 0, offset: 9, fwdArgRegs:
>> -      - { arg: 0, reg: '$r0' } }
>>  body:             |
>>    bb.0:
>>      liveins: $lr
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
>> b/llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
>> index 3ae23d4189bf..9baa815a0458 100644
>> ---
>> a/llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
>> +++
>> b/llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
>> @@ -1,4 +1,6 @@
>> -# RUN: llc -mtriple hexagon -emit-call-site-info -debug-entry-values
>> -start-after=machineverifier -filetype=obj %s -o - | llvm-dwarfdump - |
>> FileCheck %s
>> +# We do not support the call site info for the target now, so we use the
>> experimental option (-emit-call-site-info -debug-entry-values).
>> +
>> +# RUN: llc -emit-call-site-info -debug-entry-values -mtriple hexagon
>> -start-after=machineverifier -filetype=obj %s -o - | llvm-dwarfdump - |
>> FileCheck %s
>>
>>  # Based on the following C reproducer:
>>  #
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
>> b/llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
>> index 8bb0b3202acd..2ed3672c2ec3 100644
>> ---
>> a/llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
>> +++
>> b/llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
>> @@ -1,3 +1,5 @@
>> +# We do not support the call site info for the target now, so we use the
>> experimental option (-emit-call-site-info -debug-entry-values).
>> +
>>  # RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -o - %s | FileCheck %s
>>
>>  # Verify that the entry values for the input parameters are inserted
>> after the
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
>> b/llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
>> index 3cf41467f7f9..f173c9d780fa 100644
>> --- a/llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
>> +++ b/llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
>> @@ -1,3 +1,5 @@
>> +# We do not support the call site info for the target now, so we use the
>> experimental option (-emit-call-site-info -debug-entry-values).
>> +
>>  # RUN: llc -emit-call-site-info -debug-entry-values
>> -start-after=livedebugvalues -o - %s | FileCheck %s
>>
>>  # This test would previously trigger an assertion when trying to
>> describe the
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
>> b/llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
>> index 4e5a07321d42..f7f74b628d16 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-before=livedebugvalues -mtriple=x86_64-apple-darwin -o %t %s
>> -filetype=obj
>> +# RUN: llc -start-before=livedebugvalues -mtriple=x86_64-apple-darwin -o
>> %t %s -filetype=obj
>>  # RUN: llvm-dwarfdump %t | FileCheck %s
>>  #
>>  # int global;
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
>> b/llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
>> index 891fbb60b36e..63d03050918f 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
>> @@ -1,17 +1,21 @@
>>  # Test the call site encoding in DWARF5 vs GNU extensions.
>>  #
>> -# RUN: llc -dwarf-version 4 -debugger-tune=gdb -emit-call-site-info
>> -debug-entry-values -filetype=obj \
>> +# RUN: llc -emit-call-site-info -dwarf-version 4 -debugger-tune=gdb
>> -filetype=obj \
>>  # RUN:     -mtriple=x86_64-unknown-unknown -start-after=machineverifier
>> -o - %s  \
>>  # RUN:     | llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-GNU
>>  #
>> -# RUN: llc -dwarf-version 5 -debugger-tune=lldb -emit-call-site-info
>> -debug-entry-values -filetype=obj \
>> +# RUN: llc -emit-call-site-info -dwarf-version 5 -debugger-tune=lldb
>> -filetype=obj \
>>  # RUN:     -mtriple=x86_64-unknown-unknown -start-after=machineverifier
>> -o - %s   \
>>  # RUN:     | llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-DWARF5
>>  #
>> -# RUN: llc -dwarf-version 5 -emit-call-site-info -debug-entry-values
>> -filetype=obj \
>> +# RUN: llc -emit-call-site-info -dwarf-version 5 -filetype=obj \
>>  # RUN:     -mtriple=x86_64-unknown-unknown -start-after=machineverifier
>> -o - %s   \
>>  # RUN:     | llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-DWARF5
>>  #
>> +# RUN: llc -emit-call-site-info -dwarf-version 5 -filetype=obj
>> -debugger-tune=sce \
>> +# RUN:     -emit-debug-entry-values -debug-entry-values
>> -mtriple=x86_64-unknown-unknown \
>> +# RUN:     -start-after=machineverifier -o - %s | llvm-dwarfdump - |
>> FileCheck %s -check-prefixes=CHECK-DWARF5
>> +#
>>  # This is based on the following reproducer:
>>  #
>>  # extern void fn();
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
>> b/llvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
>> index 6d69f0630202..5b9ecf08150b 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
>> @@ -1,5 +1,5 @@
>>  # RUN: llc -start-after=livedebugvalues -mtriple=x86_64-apple-darwin -o
>> - %s -filetype=obj \
>> -# RUN:   -emit-call-site-info -debug-entry-values | llvm-dwarfdump - |
>> FileCheck %s -implicit-check-not=call_site_parameter
>> +# RUN:   -emit-call-site-info | llvm-dwarfdump - | FileCheck %s
>> -implicit-check-not=call_site_parameter
>>
>>  # CHECK: DW_TAG_formal_parameter
>>  # CHECK-NEXT: DW_AT_location
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
>> index 01a2b887a60b..347a0ec09bb2 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-after=livedebugvalues -filetype=obj %s -o -| llvm-dwarfdump -|
>> FileCheck %s
>> +# RUN: llc -emit-call-site-info -start-after=livedebugvalues
>> -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s
>>
>>  # Based on the following reproducer:
>>  #
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
>> index d6c6b3018462..b142313871eb 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -|
>> FileCheck %s
>> +# RUN: llc -emit-call-site-info -start-after=machineverifier
>> -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s
>>  #
>>  # CHECK:        DW_TAG_GNU_call_site
>>  # CHECK-NEXT:     DW_AT_abstract_origin {{.*}} "foo"
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
>> index 4d88fa9aab74..79e40b65c420 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -|
>> FileCheck %s
>> +# RUN: llc -emit-call-site-info -start-after=machineverifier
>> -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s
>>  # CHECK:        DW_TAG_GNU_call_site
>>  # CHECK-NEXT:     DW_AT_abstract_origin {{.*}} "foo")
>>  # CHECK-NEXT:     DW_AT_low_pc {{.*}}
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
>> index b97785d650c9..f0902bbe41d6 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-before=livedebugvalues -filetype=obj -o - %s \
>> +# RUN: llc -emit-call-site-info -start-before=livedebugvalues
>> -filetype=obj -o - %s \
>>  # RUN:     | llvm-dwarfdump - | FileCheck %s
>> --implicit-check-not=DW_TAG_GNU_call_site_parameter
>>
>>  --- |
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
>> index 81af598ba194..73927772ca08 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-before=livedebugvalues -filetype=obj -o - %s | llvm-dwarfdump - |
>> FileCheck %s
>> +# RUN: llc -start-before=livedebugvalues -filetype=obj -o - %s |
>> llvm-dwarfdump - | FileCheck %s
>>
>>  # Based on the following C++ code:
>>  # struct A { A(A &) {} };
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
>> index 1baf66393c49..27a03193e816 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -start-before=livedebugvalues -filetype=obj -o - %s \
>> +# RUN: llc -emit-call-site-info -start-before=livedebugvalues
>> -filetype=obj -o - %s \
>>  # RUN:     | llvm-dwarfdump - | FileCheck %s
>> --implicit-check-not=DW_TAG_GNU_call_site_parameter
>>
>>  --- |
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
>> index ac97da66a397..c1bdbd0783ac 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -O1 -emit-call-site-info -debug-entry-values
>> -start-after=livedebugvalues -filetype=obj %s -o - | llvm-dwarfdump - |
>> FileCheck %s
>> +# RUN: llc -O1 -emit-call-site-info -start-after=livedebugvalues
>> -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s
>>
>>  # Based on the following C reproducer:
>>  #
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
>> b/llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
>> index 9346b513cf48..302cce20a15a 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -verify-machineinstrs -march=x86-64 -o - %s |
>> FileCheck %s
>> +# RUN: llc -run-pass=livedebugvalues -verify-machineinstrs -march=x86-64
>> -o - %s | FileCheck %s
>>  #
>>  #extern void fn2(int);
>>  #
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
>> b/llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
>> index 2a78919afd43..c5ca4f1b2a14 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
>> @@ -2,8 +2,8 @@
>>  # When the debugger tuning is set to gdb, use GNU opcodes.
>>  # For lldb, use the standard DWARF5 opcodes.
>>
>> -# RUN: llc -emit-call-site-info -debug-entry-values -debugger-tune=gdb
>> -filetype=obj -mtriple=x86_64-unknown-unknown -start-after=machineverifier
>> -o - %s | llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-GNU
>> -# RUN: llc -emit-call-site-info -debug-entry-values -debugger-tune=lldb
>> -filetype=obj -mtriple=x86_64-unknown-unknown -start-after=machineverifier
>> -o - %s | llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-DWARF5
>> +# RUN: llc -emit-call-site-info -debugger-tune=gdb -filetype=obj
>> -mtriple=x86_64-unknown-unknown -start-after=machineverifier -o - %s |
>> llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-GNU
>> +# RUN: llc -emit-call-site-info -debugger-tune=lldb -filetype=obj
>> -mtriple=x86_64-unknown-unknown -start-after=machineverifier -o - %s |
>> llvm-dwarfdump - | FileCheck %s -check-prefixes=CHECK-DWARF5
>>  #
>>  # extern void foo(int *a, int b, int c, int d, int e, int f);
>>  # extern int getVal();
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
>> b/llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
>> index 541a2155578e..0dd63ae98009 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>> +# RUN: llc -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>>  #
>>  #extern void fn1 (int, int, int);
>>  #
>> @@ -85,11 +85,6 @@
>>  ---
>>  name:            fn2
>>  alignment:       16
>> -callSites:
>> -  - { bb: 0, offset: 14, fwdArgRegs:
>> -      - { arg: 0, reg: '$edi' }
>> -      - { arg: 1, reg: '$esi' }
>> -      - { arg: 2, reg: '$edx' } }
>>  body:             |
>>    bb.0.entry:
>>      liveins: $edi, $esi, $rbx
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
>> b/llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
>> index 042d76058a22..fc7bd93d0223 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>> +# RUN: llc -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>>  #
>>  # The test case was artificially adjusted, in order to make proper
>> diamond basic
>>  # block structure relevant to the debug entry values propagation.
>>
>> diff  --git
>> a/llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
>> b/llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
>> index c5af863954bf..34f80f5ca2a3 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -emit-call-site-info -debug-entry-values
>> -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>> +# RUN: llc -run-pass=livedebugvalues -march=x86-64 -o - %s | FileCheck %s
>>  #
>>  #extern void fn1 (int, int, int);
>>  #__attribute__((noinline))
>> @@ -110,15 +110,6 @@
>>  ---
>>  name:            fn2
>>  alignment:       16
>> -callSites:
>> -  - { bb: 0, offset: 20, fwdArgRegs:
>> -      - { arg: 0, reg: '$edi' }
>> -      - { arg: 1, reg: '$esi' }
>> -      - { arg: 2, reg: '$edx' } }
>> -  - { bb: 3, offset: 2, fwdArgRegs:
>> -      - { arg: 0, reg: '$edi' }
>> -      - { arg: 1, reg: '$esi' }
>> -      - { arg: 2, reg: '$edx' } }
>>  body:             |
>>    bb.0.entry:
>>      successors: %bb.1(0x40000000), %bb.2(0x40000000)
>>
>> diff  --git a/llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
>> b/llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
>> index ea9c12b5a192..bfc5c2be127e 100644
>> --- a/llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
>> +++ b/llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
>> @@ -1,4 +1,4 @@
>> -# RUN: llc -mtriple=x86_64-pc-linux -emit-call-site-info
>> -debug-entry-values -run-pass=unreachable-mbb-elimination -o - %s |
>> FileCheck %s
>> +# RUN: llc -emit-call-site-info -mtriple=x86_64-pc-linux
>> -run-pass=unreachable-mbb-elimination -o - %s | FileCheck %s
>>
>>  # Verify that the call site information for the call residing in the
>> eliminated
>>  # block is removed. This test case would previously trigger an assertion
>> when
>>
>> diff  --git a/llvm/test/DebugInfo/X86/dbg-value-range.ll
>> b/llvm/test/DebugInfo/X86/dbg-value-range.ll
>> index e0cfe5f15ee9..9159d2aac780 100644
>> --- a/llvm/test/DebugInfo/X86/dbg-value-range.ll
>> +++ b/llvm/test/DebugInfo/X86/dbg-value-range.ll
>> @@ -56,6 +56,6 @@ declare void @llvm.dbg.value(metadata, metadata,
>> metadata) nounwind readnone
>>  ;CHECK-NEXT:   .quad   [[CLOBBER_OFF]]
>>  ;CHECK-NEXT:  .short 1 ## Loc expr size
>>  ;CHECK-NEXT:   .byte   85 ## DW_OP_reg
>> -;CHECK-NEXT:   .quad   0
>> +;CHECK:        .quad  0
>>  ;CHECK-NEXT:   .quad   0
>>  !24 = !{i32 1, !"Debug Info Version", i32 3}
>>
>> diff  --git a/llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
>> b/llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
>> index 440498a9d8dd..425a6cb38c41 100644
>> --- a/llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
>> +++ b/llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
>> @@ -9,8 +9,7 @@
>>  ; ASM: movl $1, x(%rip)
>>  ; ASM: callq clobber
>>  ; ASM-NEXT: [[argc_range_end:.Ltmp[0-9]+]]:
>> -; Previously LiveDebugValues would claim argc was still in ecx after the
>> call.
>> -; ASM-NOT: #DEBUG_VALUE: main:argc
>> +; ASM: #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $ecx
>>
>>  ; argc is the first debug location.
>>  ; ASM: .Ldebug_loc1:
>> @@ -23,7 +22,8 @@
>>  ; DWARF: .debug_info contents:
>>  ; DWARF:  DW_TAG_formal_parameter
>>  ; DWARF-NEXT:    DW_AT_location ({{0x.*}}
>> -; DWARF-NEXT:      [0x0000000000000000, 0x0000000000000013): DW_OP_reg2
>> RCX)
>> +; DWARF-NEXT:    [0x0000000000000000, 0x0000000000000013): DW_OP_reg2 RCX
>> +; DWARF-NEXT:    [0x0000000000000013, 0x0000000000000043):
>> DW_OP_GNU_entry_value(DW_OP_reg2 RCX), DW_OP_stack_value
>>  ; DWARF-NEXT:    DW_AT_name ("argc")
>>
>>  ; ModuleID = 't.cpp'
>>
>> diff  --git a/llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
>> b/llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
>> index b8cd9574cc63..f12dfa6196c1 100644
>> --- a/llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
>> +++ b/llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
>> @@ -1,4 +1,4 @@
>> -; RUN: llc -O1 -emit-call-site-info -debug-entry-values -filetype=obj -o
>> - %s | llvm-dwarfdump - | FileCheck %s
>> +; RUN: llc -emit-call-site-info -O1 -filetype=obj -o - %s |
>> llvm-dwarfdump - | FileCheck %s
>>
>>  ; Verify that the 64-bit call site immediates are not truncated.
>>  ;
>>
>> diff  --git a/llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
>> b/llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
>> index 5d37774f55d6..dc8c418117c7 100644
>> --- a/llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
>> +++ b/llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
>> @@ -1,4 +1,4 @@
>> -; RUN: llc -O3 -emit-call-site-info -debug-entry-values -filetype=obj -o
>> - %s | llvm-dwarfdump - | FileCheck %s
>> +; RUN: llc -emit-call-site-info -O3 -filetype=obj -o - %s |
>> llvm-dwarfdump - | FileCheck %s
>>
>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>  target triple = "x86_64-unknown-linux-gnu"
>>
>> diff  --git a/llvm/test/DebugInfo/X86/loclists-dwp.ll
>> b/llvm/test/DebugInfo/X86/loclists-dwp.ll
>> index 91f838876338..a972c8094c5f 100644
>> --- a/llvm/test/DebugInfo/X86/loclists-dwp.ll
>> +++ b/llvm/test/DebugInfo/X86/loclists-dwp.ll
>> @@ -19,10 +19,12 @@
>>  ; void b(int i) { asm("" : : : "rdi"); }
>>
>>  ; CHECK:      DW_AT_location [DW_FORM_sec_offset]   (0x00000000
>> -; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000000,
>> 0x0000000000000006): DW_OP_reg5 RDI)
>> +; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000000,
>> 0x0000000000000006): DW_OP_reg5 RDI
>> +; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000001,
>> 0x0000000000000002): DW_OP_GNU_entry_value(DW_OP_reg5 RDI),
>> DW_OP_stack_value)
>>
>>  ; CHECK:      DW_AT_location [DW_FORM_sec_offset]   (0x00000000
>> -; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000000,
>> 0x0000000000000000): DW_OP_reg5 RDI)
>> +; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000000,
>> 0x0000000000000000): DW_OP_reg5 RDI
>> +; CHECK-NEXT: DW_LLE_startx_length (0x0000000000000001,
>> 0x0000000000000001): DW_OP_GNU_entry_value(DW_OP_reg5 RDI),
>> DW_OP_stack_value)
>>
>>  target triple = "x86_64-unknown-linux-gnu"
>>
>>
>> diff  --git a/llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
>> b/llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
>> new file mode 100644
>> index 000000000000..8ba22b7b6e51
>> --- /dev/null
>> +++ b/llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
>> @@ -0,0 +1,88 @@
>> +; RUN: llc -O0  -dwarf-version=5 -debugger-tune=lldb -march=x86-64
>> -filetype=obj < %s \
>> +; RUN:  | llvm-dwarfdump - | FileCheck
>> --implicit-check-not=DW_OP_entry_value %s
>> +; RUN: llc -O0  -dwarf-version=5 -debugger-tune=gdb -march=x86-64
>> -filetype=obj < %s \
>> +; RUN:  | llvm-dwarfdump - | FileCheck
>> --implicit-check-not=DW_OP_entry_value %s
>> +
>> +; The call-site-params are created iff corresponding DISubprogram
>> contains
>> +; the AllCallsDescribed DIFlag.
>> +; CHECK-NOT: DW_TAG_call_site_param
>> +
>> +; Genarated with:
>> +; clang -gdwarf-5 -O0 test.c -S -emit-llvm
>> +;
>> +; ModuleID = 'test.c'
>> +target datalayout =
>> "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
>> +target triple = "x86_64-unknown-linux-gnu"
>> +
>> +; Function Attrs: noinline nounwind optnone uwtable
>> +define dso_local void @fn1(i32 %x, i32 %y) !dbg !7 {
>> +entry:
>> +  %x.addr = alloca i32, align 4
>> +  %y.addr = alloca i32, align 4
>> +  %u = alloca i32, align 4
>> +  %a = alloca i32, align 4
>> +  store i32 %x, i32* %x.addr, align 4
>> +  call void @llvm.dbg.declare(metadata i32* %x.addr, metadata !11,
>> metadata !DIExpression()), !dbg !12
>> +  store i32 %y, i32* %y.addr, align 4
>> +  call void @llvm.dbg.declare(metadata i32* %y.addr, metadata !13,
>> metadata !DIExpression()), !dbg !14
>> +  call void @llvm.dbg.declare(metadata i32* %u, metadata !15, metadata
>> !DIExpression()), !dbg !16
>> +  %0 = load i32, i32* %x.addr, align 4, !dbg !16
>> +  %1 = load i32, i32* %y.addr, align 4, !dbg !16
>> +  %add = add nsw i32 %0, %1, !dbg !16
>> +  store i32 %add, i32* %u, align 4, !dbg !16
>> +  %2 = load i32, i32* %x.addr, align 4, !dbg !17
>> +  %cmp = icmp sgt i32 %2, 1, !dbg !17
>> +  br i1 %cmp, label %if.then, label %if.else, !dbg !16
>> +
>> +if.then:                                          ; preds = %entry
>> +  %3 = load i32, i32* %u, align 4, !dbg !17
>> +  %add1 = add nsw i32 %3, 1, !dbg !17
>> +  store i32 %add1, i32* %u, align 4, !dbg !17
>> +  br label %if.end, !dbg !17
>> +
>> +if.else:                                          ; preds = %entry
>> +  %4 = load i32, i32* %u, align 4, !dbg !17
>> +  %add2 = add nsw i32 %4, 2, !dbg !17
>> +  store i32 %add2, i32* %u, align 4, !dbg !17
>> +  br label %if.end
>> +
>> +if.end:                                           ; preds = %if.else,
>> %if.then
>> +  call void @llvm.dbg.declare(metadata i32* %a, metadata !19, metadata
>> !DIExpression()), !dbg !16
>> +  store i32 7, i32* %a, align 4, !dbg !16
>> +  %5 = load i32, i32* %a, align 4, !dbg !16
>> +  call void @fn2(i32 %5), !dbg !16
>> +  %6 = load i32, i32* %u, align 4, !dbg !16
>> +  %dec = add nsw i32 %6, -1, !dbg !16
>> +  store i32 %dec, i32* %u, align 4, !dbg !16
>> +  ret void, !dbg !16
>> +}
>> +
>> +; Function Attrs: nounwind readnone speculatable willreturn
>> +declare void @llvm.dbg.declare(metadata, metadata, metadata)
>> +
>> +declare dso_local void @fn2(i32)
>> +
>> +!llvm.dbg.cu = !{!0}
>> +!llvm.module.flags = !{!3, !4, !5}
>> +!llvm.ident = !{!6}
>> +
>> +!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer:
>> "clang version 11.0.0", isOptimized: false, runtimeVersion: 0,
>> emissionKind: FullDebug, enums: !2, splitDebugInlining: false,
>> nameTableKind: None)
>> +!1 = !DIFile(filename: "test.c", directory: "/")
>> +!2 = !{}
>> +!3 = !{i32 7, !"Dwarf Version", i32 5}
>> +!4 = !{i32 2, !"Debug Info Version", i32 3}
>> +!5 = !{i32 1, !"wchar_size", i32 4}
>> +!6 = !{!"clang version 11.0.0"}
>> +!7 = distinct !DISubprogram(name: "fn1", scope: !1, file: !1, line: 5,
>> type: !8, scopeLine: 5, flags: DIFlagPrototyped, spFlags:
>> DISPFlagDefinition, unit: !0, retainedNodes: !2)
>> +!8 = !DISubroutineType(types: !9)
>> +!9 = !{null, !10, !10}
>> +!10 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
>> +!11 = !DILocalVariable(name: "x", arg: 1, scope: !7, file: !1, line: 5,
>> type: !10)
>> +!12 = !DILocation(line: 5, column: 10, scope: !7)
>> +!13 = !DILocalVariable(name: "y", arg: 2, scope: !7, file: !1, line: 5,
>> type: !10)
>> +!14 = !DILocation(line: 5, column: 17, scope: !7)
>> +!15 = !DILocalVariable(name: "u", scope: !7, file: !1, line: 6, type:
>> !10)
>> +!16 = !DILocation(line: 6, column: 7, scope: !7)
>> +!17 = !DILocation(line: 7, column: 7, scope: !18)
>> +!18 = distinct !DILexicalBlock(scope: !7, file: !1, line: 7, column: 7)
>> +!19 = !DILocalVariable(name: "a", scope: !7, file: !1, line: 11, type:
>> !10)
>>
>> diff  --git a/llvm/test/tools/llvm-locstats/locstats.ll
>> b/llvm/test/tools/llvm-locstats/locstats.ll
>> index f16635d2e8e4..fd28679f3ec1 100644
>> --- a/llvm/test/tools/llvm-locstats/locstats.ll
>> +++ b/llvm/test/tools/llvm-locstats/locstats.ll
>> @@ -9,9 +9,9 @@
>>  ; LOCSTATS: [10%,20%) 0 0%
>>  ; LOCSTATS: [20%,30%) 1 11%
>>  ; LOCSTATS: [30%,40%) 0 0%
>> -; LOCSTATS: [40%,50%) 1 11%
>> -; LOCSTATS: [50%,60%) 1 11%
>> -; LOCSTATS: [60%,70%) 1 11%
>> +; LOCSTATS: [40%,50%) 0 0%
>> +; LOCSTATS: [50%,60%) 0 0%
>> +; LOCSTATS: [60%,70%) 3 33%
>>  ; LOCSTATS: [70%,80%) 0 0%
>>  ; LOCSTATS: [80%,90%) 2 22%
>>  ; LOCSTATS: [90%,100%) 1 11%
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200322/704d27ae/attachment-0001.html>


More information about the cfe-commits mailing list