Index: clang/include/clang/Basic/CodeGenOptions.def =================================================================== --- clang/include/clang/Basic/CodeGenOptions.def +++ clang/include/clang/Basic/CodeGenOptions.def @@ -63,7 +63,6 @@ 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(IndirectTlsSegRefs, 1, 0) ///< Set when -mno-tls-direct-seg-refs ///< is specified. CODEGENOPT(DisableTailCalls , 1, 0) ///< Do not emit tail calls. Index: clang/include/clang/Driver/CC1Options.td =================================================================== --- clang/include/clang/Driver/CC1Options.td +++ clang/include/clang/Driver/CC1Options.td @@ -390,8 +390,6 @@ 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">, Index: clang/lib/CodeGen/BackendUtil.cpp =================================================================== --- clang/lib/CodeGen/BackendUtil.cpp +++ clang/lib/CodeGen/BackendUtil.cpp @@ -481,7 +481,6 @@ Options.DebuggerTuning = CodeGenOpts.getDebuggerTuning(); Options.EmitStackSizeSection = CodeGenOpts.StackSizeSection; Options.EmitAddrsig = CodeGenOpts.Addrsig; - Options.EnableDebugEntryValues = CodeGenOpts.EnableDebugEntryValues; Options.ForceDwarfFrameSection = CodeGenOpts.ForceDwarfFrameSection; Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; Index: clang/lib/CodeGen/CGDebugInfo.cpp =================================================================== --- clang/lib/CodeGen/CGDebugInfo.cpp +++ clang/lib/CodeGen/CGDebugInfo.cpp @@ -4857,8 +4857,7 @@ (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; Index: clang/lib/Frontend/CompilerInvocation.cpp =================================================================== --- clang/lib/Frontend/CompilerInvocation.cpp +++ clang/lib/Frontend/CompilerInvocation.cpp @@ -783,16 +783,6 @@ Opts.DisableLLVMPasses = Args.hasArg(OPT_disable_llvm_passes); Opts.DisableLifetimeMarkers = Args.hasArg(OPT_disable_lifetimemarkers); - - const llvm::Triple::ArchType DebugEntryValueArchs[] = { - llvm::Triple::x86, llvm::Triple::x86_64, llvm::Triple::aarch64, - llvm::Triple::arm, llvm::Triple::armeb}; - - 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); - Opts.DisableO0ImplyOptNone = Args.hasArg(OPT_disable_O0_optnone); Opts.DisableRedZone = Args.hasArg(OPT_disable_red_zone); Opts.IndirectTlsSegRefs = Args.hasArg(OPT_mno_tls_direct_seg_refs); Index: clang/test/CodeGen/debug-info-extern-call.c =================================================================== --- clang/test/CodeGen/debug-info-extern-call.c +++ 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 Index: clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp =================================================================== --- clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp +++ clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp @@ -15,22 +15,22 @@ // 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 \ +// Supported: DWARF4 + GDB tuning, -O1 +// RUN: %clang_cc1 -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 -// 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 tuning, -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 Index: lldb/packages/Python/lldbsuite/test/decorators.py =================================================================== --- lldb/packages/Python/lldbsuite/test/decorators.py +++ lldb/packages/Python/lldbsuite/test/decorators.py @@ -694,7 +694,7 @@ 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" Index: lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile +++ lldb/packages/Python/lldbsuite/test/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 Index: llvm/include/llvm/CodeGen/CommandFlags.inc =================================================================== --- llvm/include/llvm/CodeGen/CommandFlags.inc +++ llvm/include/llvm/CodeGen/CommandFlags.inc @@ -276,11 +276,6 @@ cl::init(false)); static cl::opt - EnableDebugEntryValues("debug-entry-values", - cl::desc("Emit debug info about parameter's entry values"), - cl::init(false)); - -static cl::opt ForceDwarfFrameSection("force-dwarf-frame-section", cl::desc("Always emit a debug frame section."), cl::init(false)); @@ -315,7 +310,6 @@ Options.ExceptionModel = ExceptionModel; Options.EmitStackSizeSection = EnableStackSizeSection; Options.EmitAddrsig = EnableAddrsig; - Options.EnableDebugEntryValues = EnableDebugEntryValues; Options.ForceDwarfFrameSection = ForceDwarfFrameSection; Options.MCOptions = InitMCTargetOptionsFromFlags(); Index: llvm/include/llvm/Target/TargetMachine.h =================================================================== --- llvm/include/llvm/Target/TargetMachine.h +++ llvm/include/llvm/Target/TargetMachine.h @@ -237,6 +237,9 @@ void setSupportsDefaultOutlining(bool Enable) { Options.SupportsDefaultOutlining = Enable; } + void setSupportsDebugEntryValues(bool Enable) { + Options.SupportsDebugEntryValues = Enable; + } bool shouldPrintMachineCode() const { return Options.PrintMachineCode; } Index: llvm/include/llvm/Target/TargetOptions.h =================================================================== --- llvm/include/llvm/Target/TargetOptions.h +++ llvm/include/llvm/Target/TargetOptions.h @@ -119,7 +119,7 @@ ExplicitEmulatedTLS(false), EnableIPRA(false), EmitStackSizeSection(false), EnableMachineOutliner(false), SupportsDefaultOutlining(false), EmitAddrsig(false), - EnableDebugEntryValues(false), ForceDwarfFrameSection(false) {} + SupportsDebugEntryValues(false), ForceDwarfFrameSection(false) {} /// PrintMachineCode - This flag is enabled when the -print-machineinstrs /// option is specified on the command line, and should enable debugging @@ -256,8 +256,8 @@ /// Emit address-significance table. unsigned EmitAddrsig : 1; - /// Emit debug info about parameter's entry values. - unsigned EnableDebugEntryValues : 1; + /// Set if the target supports the debug entry values. + unsigned SupportsDebugEntryValues : 1; /// Emit DWARF debug frame section. unsigned ForceDwarfFrameSection : 1; Index: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp =================================================================== --- llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -836,7 +836,7 @@ IsTail, PCAddr, CallReg); // GDB and LLDB support call site parameter debug info. - if (Asm->TM.Options.EnableDebugEntryValues && + if (Asm->TM.Options.SupportsDebugEntryValues && (tuneForGDB() || tuneForLLDB())) { ParamSet Params; // Try to interpret values of call site parameters. Index: llvm/lib/CodeGen/LiveDebugValues.cpp =================================================================== --- llvm/lib/CodeGen/LiveDebugValues.cpp +++ llvm/lib/CodeGen/LiveDebugValues.cpp @@ -960,7 +960,7 @@ if (auto *TPC = getAnalysisIfAvailable()) { auto &TM = TPC->getTM(); - if (TM.Options.EnableDebugEntryValues) + if (TM.Options.SupportsDebugEntryValues) emitEntryValues(MI, OpenRanges, VarLocIDs, Transfers, KillSet); } } @@ -1460,7 +1460,7 @@ VarLocMap &VarLocIDs) { if (auto *TPC = getAnalysisIfAvailable()) { auto &TM = TPC->getTM(); - if (!TM.Options.EnableDebugEntryValues) + if (!TM.Options.SupportsDebugEntryValues) return; } Index: llvm/lib/CodeGen/MIRParser/MIRParser.cpp =================================================================== --- llvm/lib/CodeGen/MIRParser/MIRParser.cpp +++ llvm/lib/CodeGen/MIRParser/MIRParser.cpp @@ -381,11 +381,11 @@ CSInfo.emplace_back(Reg, ArgRegPair.ArgNo); } - if (TM.Options.EnableDebugEntryValues) + if (TM.Options.SupportsDebugEntryValues) MF.addCallArgsForwardingRegs(&*CallI, std::move(CSInfo)); } - if (YamlMF.CallSitesInfo.size() && !TM.Options.EnableDebugEntryValues) + if (YamlMF.CallSitesInfo.size() && !TM.Options.SupportsDebugEntryValues) return error(Twine("Call site info provided but not used")); return false; } Index: llvm/lib/CodeGen/MachineFunction.cpp =================================================================== --- llvm/lib/CodeGen/MachineFunction.cpp +++ llvm/lib/CodeGen/MachineFunction.cpp @@ -865,7 +865,7 @@ MachineFunction::getCallSiteInfo(const MachineInstr *MI) { assert(MI->isCall() && "Call site info refers only to call instructions!"); - if (!Target.Options.EnableDebugEntryValues) + if (!Target.Options.SupportsDebugEntryValues) return CallSitesInfo.end(); return CallSitesInfo.find(MI); } Index: llvm/lib/CodeGen/MachineLICM.cpp =================================================================== --- llvm/lib/CodeGen/MachineLICM.cpp +++ llvm/lib/CodeGen/MachineLICM.cpp @@ -1367,6 +1367,8 @@ UpdateRegPressure(NewMIs[1]); // Otherwise we successfully unfolded a load that we can hoist. + if (MI->isCall()) + MF.eraseCallSiteInfo(MI); MI->eraseFromParent(); return NewMIs[0]; } Index: llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp =================================================================== --- llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp +++ llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp @@ -863,7 +863,7 @@ MI = &*std::next(Before); } - if (MI->isCall() && DAG->getTarget().Options.EnableDebugEntryValues) + if (MI->isCall() && DAG->getTarget().Options.SupportsDebugEntryValues) MF.addCallArgsForwardingRegs(MI, DAG->getSDCallSiteInfo(Node)); return MI; Index: llvm/lib/CodeGen/TargetLoweringBase.cpp =================================================================== --- llvm/lib/CodeGen/TargetLoweringBase.cpp +++ llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -1069,6 +1069,10 @@ // Replace the instruction and update the operand index. MBB->insert(MachineBasicBlock::iterator(MI), MIB); OperIdx += (MIB->getNumOperands() - MI->getNumOperands()) - 1; + + // Update the call site info. + if (MI->isCall()) + MI->getMF()->moveCallSiteInfo(MI, &*MIB); MI->eraseFromParent(); MI = MIB; } @@ -1086,7 +1090,12 @@ MIB.add(MI.getOperand(OpIdx)); MBB->insert(MachineBasicBlock::iterator(MI), MIB); + + // Update the call site info. + if (MI.isCall()) + MI.getMF()->moveCallSiteInfo(&MI, &*MIB); MI.eraseFromParent(); + return MBB; } @@ -1101,7 +1110,12 @@ MIB.add(MI.getOperand(OpIdx)); MBB->insert(MachineBasicBlock::iterator(MI), MIB); + + // Update the call site info. + if (MI.isCall()) + MI.getMF()->moveCallSiteInfo(&MI, &*MIB); MI.eraseFromParent(); + return MBB; } Index: llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp +++ llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp @@ -105,6 +105,10 @@ TII->get(TargetOpcode::COPY), AArch64::X0) .addReg(TLSBaseAddrReg); + // Update the call site info. + if (I.isCall()) + I.getMF()->eraseCallSiteInfo(&I); + // Erase the TLS_base_addr instruction. I.eraseFromParent(); Index: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -4116,7 +4116,7 @@ RegsToPass.emplace_back(VA.getLocReg(), Arg); RegsUsed.insert(VA.getLocReg()); const TargetOptions &Options = DAG.getTarget().Options; - if (Options.EnableDebugEntryValues) + if (Options.SupportsDebugEntryValues) CSInfo.emplace_back(VA.getLocReg(), i); } } else { Index: llvm/lib/Target/AArch64/AArch64TargetMachine.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64TargetMachine.cpp +++ llvm/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -313,6 +313,9 @@ // AArch64 supports default outlining behaviour. setSupportsDefaultOutlining(true); + + // AArch64 supports the debug entry values. + setSupportsDebugEntryValues(true); } AArch64TargetMachine::~AArch64TargetMachine() = default; Index: llvm/lib/Target/ARM/ARMISelLowering.cpp =================================================================== --- llvm/lib/Target/ARM/ARMISelLowering.cpp +++ llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -2217,7 +2217,7 @@ isThisReturn = true; } const TargetOptions &Options = DAG.getTarget().Options; - if (Options.EnableDebugEntryValues) + if (Options.SupportsDebugEntryValues) CSInfo.emplace_back(VA.getLocReg(), i); RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg)); } else if (isByVal) { Index: llvm/lib/Target/ARM/ARMTargetMachine.cpp =================================================================== --- llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -243,6 +243,9 @@ this->Options.NoTrapAfterNoreturn = true; } + // ARM supports the debug entry values. + setSupportsDebugEntryValues(true); + initAsmInfo(); } Index: llvm/lib/Target/X86/X86ISelLowering.cpp =================================================================== --- llvm/lib/Target/X86/X86ISelLowering.cpp +++ llvm/lib/Target/X86/X86ISelLowering.cpp @@ -3999,7 +3999,7 @@ } else if (VA.isRegLoc()) { RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg)); const TargetOptions &Options = DAG.getTarget().Options; - if (Options.EnableDebugEntryValues) + if (Options.SupportsDebugEntryValues) CSInfo.emplace_back(VA.getLocReg(), I); if (isVarArg && IsWin64) { // Win64 ABI requires argument XMM reg to be copied to the corresponding Index: llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp =================================================================== --- llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp +++ llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp @@ -920,6 +920,9 @@ // Now stitch the new instructions into place and erase the old one. for (auto *NewMI : NewMIs) MBB.insert(MI.getIterator(), NewMI); + + if (MI.isCall()) + MF.eraseCallSiteInfo(&MI); MI.eraseFromParent(); LLVM_DEBUG({ dbgs() << "Unfolded load successfully into:\n"; Index: llvm/lib/Target/X86/X86TargetMachine.cpp =================================================================== --- llvm/lib/Target/X86/X86TargetMachine.cpp +++ llvm/lib/Target/X86/X86TargetMachine.cpp @@ -232,6 +232,9 @@ setMachineOutliner(true); + // x86 supports the debug entry values. + setSupportsDebugEntryValues(true); + initAsmInfo(); } Index: llvm/test/CodeGen/ARM/smml.ll =================================================================== --- llvm/test/CodeGen/ARM/smml.ll +++ llvm/test/CodeGen/ARM/smml.ll @@ -10,7 +10,7 @@ ; Next test would previously trigger an assertion responsible for verification of ; call site info state. -; RUN: llc -stop-after=if-converter -debug-entry-values -mtriple=thumbv6t2-eabi %s -o -| FileCheck %s -check-prefix=CHECK-CALLSITE +; RUN: llc -stop-after=if-converter -mtriple=thumbv6t2-eabi %s -o -| FileCheck %s -check-prefix=CHECK-CALLSITE ; CHECK-CALLSITE: name: test_used_flags ; CHECK-CALLSITE: callSites: Index: llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir =================================================================== --- llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir +++ llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir @@ -1,4 +1,7 @@ -# RUN: llc -debug-entry-values -run-pass=none -verify-machineinstrs -o - %s | FileCheck %s +# We do not support the call site info for the target now. +# UNSUPPORTED: true + +# RUN: llc -run-pass=none -verify-machineinstrs -o - %s | FileCheck %s # Verify that it is possible to read and write MIR where a callSites entry # points to a call residing in a bundle. The offset should point to the call Index: llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir =================================================================== --- llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir +++ llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir @@ -1,4 +1,4 @@ -# RUN: not llc -mtriple=x86_64-- -run-pass none -debug-entry-values %s -o - 2>&1 | FileCheck %s +# RUN: not llc -mtriple=x86_64-- -run-pass none %s -o - 2>&1 | FileCheck %s # CHECK: baa call instruction block out of range. Unable to reference bb:1 --- | define dso_local i32 @baa(i32 %a) local_unnamed_addr { Index: llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir =================================================================== --- llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir +++ llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir @@ -1,4 +1,4 @@ -# RUN: not llc -mtriple=x86_64-- -run-pass none -debug-entry-values %s -o - 2>&1 | FileCheck %s +# RUN: not llc -mtriple=x86_64-- -run-pass none %s -o - 2>&1 | FileCheck %s # CHECK: baa call instruction offset out of range. Unable to reference instruction at bb: 0 at offset:1 --- | define dso_local i32 @baa(i32 %a) local_unnamed_addr { Index: llvm/test/CodeGen/MIR/X86/call-site-info-error3.mir =================================================================== --- llvm/test/CodeGen/MIR/X86/call-site-info-error3.mir +++ llvm/test/CodeGen/MIR/X86/call-site-info-error3.mir @@ -1,4 +1,4 @@ -# RUN: not llc -mtriple=x86_64-- -run-pass none -debug-entry-values %s -o - 2>&1 | FileCheck %s +# RUN: not llc -mtriple=x86_64-- -run-pass none %s -o - 2>&1 | FileCheck %s # CHECK: baa call site info should reference call instruction. Instruction at bb:0 at offset:0 is not a call instruction --- | define dso_local i32 @baa(i32 %a) local_unnamed_addr { Index: llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir =================================================================== --- llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir +++ 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 -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: Index: llvm/test/CodeGen/X86/call-site-info-output.ll =================================================================== --- llvm/test/CodeGen/X86/call-site-info-output.ll +++ 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 -debug-entry-values %s -stop-before=finalize-isel -o %t.mir +; RUN: llc %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 -debug-entry-values %t.mir -run-pass=finalize-isel -o -| FileCheck %s --check-prefix=PARSER +; RUN: llc %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: Index: llvm/test/DebugInfo/AArch64/call-site-info-output.ll =================================================================== --- llvm/test/DebugInfo/AArch64/call-site-info-output.ll +++ llvm/test/DebugInfo/AArch64/call-site-info-output.ll @@ -1,4 +1,4 @@ -; RUN: llc -mtriple aarch64-linux-gnu -debug-entry-values %s -o - -stop-before=finalize-isel | FileCheck %s +; RUN: llc -mtriple aarch64-linux-gnu %s -o - -stop-before=finalize-isel | FileCheck %s ; Verify that Selection DAG knows how to recognize simple function parameter forwarding registers. ; Produced from: ; extern int fn1(int,int,int); Index: llvm/test/DebugInfo/ARM/call-site-info-output.ll =================================================================== --- llvm/test/DebugInfo/ARM/call-site-info-output.ll +++ llvm/test/DebugInfo/ARM/call-site-info-output.ll @@ -1,4 +1,4 @@ -; RUN: llc -mtriple arm-linux-gnu -debug-entry-values %s -o - -stop-before=finalize-isel | FileCheck %s +; RUN: llc -mtriple arm-linux-gnu %s -o - -stop-before=finalize-isel | FileCheck %s ; Verify that Selection DAG knows how to recognize simple function parameter forwarding registers. ; Produced from: ; extern int fn1(int,int,int); Index: llvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll =================================================================== --- llvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll +++ llvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll @@ -1,4 +1,4 @@ -; RUN: llc -debug-entry-values -filetype=asm -o - %s | FileCheck %s +; RUN: llc -filetype=asm -o - %s | FileCheck %s ; Verify that the size operands of the DW_OP_GNU_entry_value operations are ; correct for the multi-byte DW_OP_regx expressions. Index: llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpret-movzxi.mir =================================================================== --- llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpret-movzxi.mir +++ llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpret-movzxi.mir @@ -1,4 +1,4 @@ -# RUN: llc -mtriple aarch64-linux-gnu -debug-entry-values -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -mtriple aarch64-linux-gnu -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s # # Based on the following C reproducer: # Index: llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir =================================================================== --- llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir +++ llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir @@ -1,4 +1,4 @@ -# RUN: llc -mtriple aarch64-linux-gnu -debug-entry-values -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -mtriple aarch64-linux-gnu -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s # Following code is used for producing this test case. Note that # some of argument loading instruction are modified in order to # cover certain cases. Index: llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir =================================================================== --- llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir +++ llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-after=livedebugvalues -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s +# RUN: llc -start-after=livedebugvalues -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s # Based on the following C reproducer: # Index: llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir =================================================================== --- llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir +++ llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir @@ -1,4 +1,4 @@ -# RUN: llc -mtriple=arm-linux-gnueabi -debug-entry-values -filetype=obj -start-after=machineverifier %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -mtriple=arm-linux-gnueabi -filetype=obj -start-after=machineverifier %s -o -| llvm-dwarfdump -| FileCheck %s # Following code is used for producing this test case. Note that # some of argument loading instruction are modified in order to # cover certain cases. Index: llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir =================================================================== --- llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir +++ llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir @@ -1,4 +1,4 @@ -# RUN: llc -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: # @@ -20,7 +20,7 @@ # # Generated using: # -# clang -Os -fno-inline -Xclang -femit-debug-entry-values -g --target=armeb. +# clang -Os -fno-inline -g --target=armeb. --- | target datalayout = "E-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" Index: llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir =================================================================== --- llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir +++ llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir @@ -1,4 +1,4 @@ -# RUN: llc -mtriple=arm-linux-gnu -debug-entry-values -run-pass if-converter %s -o -| FileCheck %s +# RUN: llc -mtriple=arm-linux-gnu -run-pass if-converter %s -o -| FileCheck %s # Vefify that the call site info will be updated after the optimization. # This test case would previously trigger an assertion when @@ -19,8 +19,7 @@ # # With slight change of MIR - substitution of BL instruction with BL_pred # in order to trigger optimization. -# clang -target arm-linux-gnu -g -O2 -Xclang -femit-debug-entry-values -# %s -stop-before=if-convert +# clang -target arm-linux-gnu -g -O2 %s -stop-before=if-convert # # CHECK: callSites: # CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: Index: llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir =================================================================== --- llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir +++ llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir @@ -1,4 +1,7 @@ -# RUN: llc -mtriple hexagon -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. +# UNSUPPORTED: true + +# RUN: llc -mtriple hexagon -start-after=machineverifier -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s # Based on the following C reproducer: # Index: llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir =================================================================== --- llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir +++ llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir @@ -1,4 +1,7 @@ -# RUN: llc -debug-entry-values -run-pass=livedebugvalues -o - %s | FileCheck %s +# We do not support the call site info for the target now. +# UNSUPPORTED: true + +# RUN: llc -run-pass=livedebugvalues -o - %s | FileCheck %s # Verify that the entry values for the input parameters are inserted after the # bundles which contains the registers' clobbering instructions (the calls to Index: llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir =================================================================== --- llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir +++ llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir @@ -1,4 +1,7 @@ -# RUN: llc -debug-entry-values -start-after=livedebugvalues -o - %s | FileCheck %s +# We do not support the call site info for the target now. +# UNSUPPORTED: true + +# RUN: llc -start-after=livedebugvalues -o - %s | FileCheck %s # This test would previously trigger an assertion when trying to describe the # call site value for callee()'s float parameter. Index: llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir +++ llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir @@ -1,4 +1,4 @@ -# RUN: llc -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; Index: llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir +++ llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir @@ -1,14 +1,14 @@ # Test the call site encoding in DWARF5 vs GNU extensions. # -# RUN: llc -dwarf-version 4 -debugger-tune=gdb -debug-entry-values -filetype=obj \ +# RUN: llc -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 -debug-entry-values -filetype=obj \ +# RUN: llc -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 -debug-entry-values -filetype=obj \ +# RUN: llc -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 # Index: llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir +++ llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir @@ -1,9 +1,9 @@ # Check that llvm can describe a call site parameter which resides in a spill slot. # -# RUN: llc -debug-entry-values -start-after=machineverifier -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s +# RUN: llc -start-after=machineverifier -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s # # Command: -# $ ~/src/builds/llvm-project-master-RA/bin/clang -g -Xclang -femit-debug-entry-values -O2 -c -o spill.o spill.cc -mllvm -stop-before=machineverifier -o spill.mir +# $ ~/src/builds/llvm-project-master-RA/bin/clang -g -O2 -c -o spill.o spill.cc -mllvm -stop-before=machineverifier -o spill.mir # # Source: ## extern void callee(int); Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-after=livedebugvalues -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -start-after=livedebugvalues -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s # Based on the following reproducer: # Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s # # CHECK: DW_TAG_GNU_call_site # CHECK-NEXT: DW_AT_abstract_origin {{.*}} "foo" Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-after=machineverifier -filetype=obj %s -o -| llvm-dwarfdump -| FileCheck %s +# RUN: llc -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 {{.*}} Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-before=livedebugvalues -filetype=obj -o - %s \ +# RUN: llc -start-before=livedebugvalues -filetype=obj -o - %s \ # RUN: | llvm-dwarfdump - | FileCheck %s --implicit-check-not=DW_TAG_GNU_call_site_parameter --- | Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir @@ -1,4 +1,4 @@ -# RUN: llc -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 &) {} }; Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir @@ -1,4 +1,4 @@ -# RUN: llc -debug-entry-values -start-before=livedebugvalues -filetype=obj -o - %s \ +# RUN: llc -start-before=livedebugvalues -filetype=obj -o - %s \ # RUN: | llvm-dwarfdump - | FileCheck %s --implicit-check-not=DW_TAG_GNU_call_site_parameter --- | Index: llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir +++ llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir @@ -1,4 +1,4 @@ -# RUN: llc -O1 -debug-entry-values -start-after=livedebugvalues -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s +# RUN: llc -O1 -start-after=livedebugvalues -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s # Based on the following C reproducer: # Index: llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir +++ llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir @@ -1,4 +1,4 @@ -# RUN: llc -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 fn2(int); # Index: llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir +++ 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 -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 -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 -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 -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(); Index: llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir +++ llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir @@ -1,4 +1,4 @@ -# RUN: llc -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); # Index: llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir +++ llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir @@ -1,4 +1,4 @@ -# RUN: llc -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. Index: llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir +++ llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir @@ -1,4 +1,4 @@ -# RUN: llc -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 clobbering. Index: llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir +++ llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir @@ -1,4 +1,4 @@ -# RUN: llc -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 # #int global; #int foo(int p, int q, int r) { Index: llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir +++ llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir @@ -1,4 +1,4 @@ -# RUN: llc -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)) Index: llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir =================================================================== --- llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir +++ llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir @@ -1,4 +1,4 @@ -# RUN: llc -mtriple=x86_64-pc-linux -debug-entry-values -run-pass=unreachable-mbb-elimination -o - %s | FileCheck %s +# RUN: llc -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 Index: llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll =================================================================== --- llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll +++ llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll @@ -1,4 +1,7 @@ -; RUN: llc -debug-entry-values -filetype=asm -o - %s | FileCheck %s +; We do not support the call site info for the target now. +; UNSUPPORTED: true + +; RUN: llc -filetype=asm -o - %s | FileCheck %s ; Verify that the entry value covers both of the DW_OP_regx pieces. Previously ; the size operand of the entry value would be hardcoded to one. Index: llvm/test/DebugInfo/X86/dbg-value-range.ll =================================================================== --- llvm/test/DebugInfo/X86/dbg-value-range.ll +++ llvm/test/DebugInfo/X86/dbg-value-range.ll @@ -56,6 +56,6 @@ ;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} Index: llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll =================================================================== --- llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll +++ 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' Index: llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll =================================================================== --- llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll +++ llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll @@ -1,4 +1,4 @@ -; RUN: llc -O1 -debug-entry-values -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s +; RUN: llc -O1 -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s ; Verify that the 64-bit call site immediates are not truncated. ; Index: llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll =================================================================== --- llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll +++ llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll @@ -1,4 +1,4 @@ -; RUN: llc -O3 -debug-entry-values -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s +; RUN: llc -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" Index: llvm/test/DebugInfo/X86/loclists-dwp.ll =================================================================== --- llvm/test/DebugInfo/X86/loclists-dwp.ll +++ 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" Index: llvm/test/tools/llvm-dwarfdump/X86/locstats.ll =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/locstats.ll +++ llvm/test/tools/llvm-dwarfdump/X86/locstats.ll @@ -1,4 +1,4 @@ -; RUN: llc -debug-entry-values %s -o - -filetype=obj \ +; RUN: llc %s -o - -filetype=obj \ ; RUN: | llvm-dwarfdump -statistics - | FileCheck %s ; ; CHECK: "entry value scope bytes covered":5 Index: llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll +++ llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll @@ -1,9 +1,6 @@ -; RUN: llc -debug-entry-values %s -o - -filetype=obj \ +; RUN: llc %s -o - -filetype=obj \ ; RUN: | llvm-dwarfdump -statistics - | FileCheck %s ; -; The LLVM IR file was generated on this source code by using -; option '-femit-debug-entry-values'. -; ; extern void foo(int *a, int b, int c, int d, int e, int f); ; extern int getVal(); ; Index: llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll +++ llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll @@ -1,4 +1,4 @@ -; RUN: llc -debug-entry-values %s -o - -filetype=obj \ +; RUN: llc %s -o - -filetype=obj \ ; RUN: | llvm-dwarfdump -verify - | FileCheck %s ; ; CHECK: No errors. Index: llvm/test/tools/llvm-locstats/locstats.ll =================================================================== --- llvm/test/tools/llvm-locstats/locstats.ll +++ 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%) 0 0% +; LOCSTATS: [40%,50%) 0 0% +; LOCSTATS: [50%,60%) 0 0% +; LOCSTATS: [60%,70%) 2 22% ; LOCSTATS: [70%,80%) 0 0% ; LOCSTATS: [80%,90%) 3 33% ; LOCSTATS: [90%,100%) 1 11%