Index: llvm/lib/CodeGen/MachineLICM.cpp =================================================================== --- llvm/lib/CodeGen/MachineLICM.cpp +++ llvm/lib/CodeGen/MachineLICM.cpp @@ -1367,6 +1367,11 @@ UpdateRegPressure(NewMIs[1]); // Otherwise we successfully unfolded a load that we can hoist. + + // Update the call site info. + if (MI->isCall()) + MF.eraseCallSiteInfo(MI); + MI->eraseFromParent(); return NewMIs[0]; } 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,13 @@ 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/X86/X86SpeculativeLoadHardening.cpp =================================================================== --- llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp +++ llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp @@ -920,6 +920,11 @@ // Now stitch the new instructions into place and erase the old one. for (auto *NewMI : NewMIs) MBB.insert(MI.getIterator(), NewMI); + + // Update the call site info. + if (MI.isCall()) + MF.eraseCallSiteInfo(&MI); + MI.eraseFromParent(); LLVM_DEBUG({ dbgs() << "Unfolded load successfully into:\n"; Index: llvm/test/CodeGen/AArch64/arm64-anyregcc.ll =================================================================== --- llvm/test/CodeGen/AArch64/arm64-anyregcc.ll +++ llvm/test/CodeGen/AArch64/arm64-anyregcc.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=arm64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=arm64-apple-darwin | FileCheck %s ; Stackmap Header: no constants - 6 callsites Index: llvm/test/CodeGen/AArch64/arm64-patchpoint.ll =================================================================== --- llvm/test/CodeGen/AArch64/arm64-patchpoint.ll +++ llvm/test/CodeGen/AArch64/arm64-patchpoint.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=arm64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -mtriple=arm64-apple-darwin -enable-misched=0 -mcpu=cyclone < %s | FileCheck %s ; RUN: llc -mtriple=arm64-apple-darwin -enable-misched=0 -mcpu=cyclone -fast-isel -fast-isel-abort=1 < %s | FileCheck %s Index: llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll =================================================================== --- llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll +++ llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=arm64-none-linux-gnu -stop-after=machineverifier -relocation-model=pic -aarch64-elf-ldtls-generation=1 < %s | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -aarch64-elf-ldtls-generation=1 -verify-machineinstrs < %s | FileCheck %s ; RUN: llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -aarch64-elf-ldtls-generation=1 -filetype=obj < %s | llvm-objdump -r - | FileCheck --check-prefix=CHECK-RELOC %s ; RUN: llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -verify-machineinstrs < %s | FileCheck --check-prefix=CHECK-NOLD %s Index: llvm/test/CodeGen/AArch64/stackmap-frame-setup.ll =================================================================== --- llvm/test/CodeGen/AArch64/stackmap-frame-setup.ll +++ llvm/test/CodeGen/AArch64/stackmap-frame-setup.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc -o - -debug-entry-values -mtriple=aarch64-apple-darwin -stop-after machine-sink %s | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -o - -verify-machineinstrs -mtriple=aarch64-apple-darwin -stop-after machine-sink %s | FileCheck %s --check-prefix=ISEL ; RUN: llc -o - -verify-machineinstrs -mtriple=aarch64-apple-darwin -fast-isel -fast-isel-abort=1 -stop-after machine-sink %s | FileCheck %s --check-prefix=FAST-ISEL Index: llvm/test/CodeGen/AArch64/stackmap.ll =================================================================== --- llvm/test/CodeGen/AArch64/stackmap.ll +++ llvm/test/CodeGen/AArch64/stackmap.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=arm64-linux-gnu -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=arm64-linux-gnu | FileCheck %s ; ; Note: Print verbose stackmaps using -debug-only=stackmaps. Index: llvm/test/CodeGen/X86/anyregcc.ll =================================================================== --- llvm/test/CodeGen/X86/anyregcc.ll +++ llvm/test/CodeGen/X86/anyregcc.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=x86_64-apple-darwin -frame-pointer=all | FileCheck %s ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 -frame-pointer=all | FileCheck --check-prefix=SSE %s ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -frame-pointer=all | FileCheck --check-prefix=AVX %s Index: llvm/test/CodeGen/X86/combineIncDecVector-crash.ll =================================================================== --- llvm/test/CodeGen/X86/combineIncDecVector-crash.ll +++ llvm/test/CodeGen/X86/combineIncDecVector-crash.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s | FileCheck %s ; This used to crash, just ensure that it doesn't. Index: llvm/test/CodeGen/X86/deopt-bundles.ll =================================================================== --- llvm/test/CodeGen/X86/deopt-bundles.ll +++ llvm/test/CodeGen/X86/deopt-bundles.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s | FileCheck %s ; RUN: llc -O3 < %s | FileCheck %s ; RUN: llc -O3 -debug-only=stackmaps < %s 2>&1 | FileCheck -check-prefix=STACKMAPS %s Index: llvm/test/CodeGen/X86/fast-isel-gc-intrinsics.ll =================================================================== --- llvm/test/CodeGen/X86/fast-isel-gc-intrinsics.ll +++ llvm/test/CodeGen/X86/fast-isel-gc-intrinsics.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -fast-isel target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128" Index: llvm/test/CodeGen/X86/hoist-invariant-load.ll =================================================================== --- llvm/test/CodeGen/X86/hoist-invariant-load.ll +++ llvm/test/CodeGen/X86/hoist-invariant-load.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; REQUIRES: asserts ; RUN: llc -mcpu=haswell < %s -O2 2>&1 | FileCheck %s ; For test: Index: llvm/test/CodeGen/X86/machine-sink-and-implicit-null-checks.ll =================================================================== --- llvm/test/CodeGen/X86/machine-sink-and-implicit-null-checks.ll +++ llvm/test/CodeGen/X86/machine-sink-and-implicit-null-checks.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-macosx -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -mtriple=x86_64-apple-macosx -O3 -enable-implicit-null-checks -o - < %s 2>&1 | FileCheck %s declare void @throw0() Index: llvm/test/CodeGen/X86/patchpoint.ll =================================================================== --- llvm/test/CodeGen/X86/patchpoint.ll +++ llvm/test/CodeGen/X86/patchpoint.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 < %s | FileCheck %s ; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7 -fast-isel -fast-isel-abort=1 < %s | FileCheck %s Index: llvm/test/CodeGen/X86/pr33010.ll =================================================================== --- llvm/test/CodeGen/X86/pr33010.ll +++ llvm/test/CodeGen/X86/pr33010.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-linux-generic -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -mtriple=x86_64-linux-generic < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll =================================================================== --- llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll +++ llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-unknown-linux-gnu -x86-speculative-load-hardening -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -x86-speculative-load-hardening -data-sections | FileCheck %s --check-prefix=X64 ; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39451. ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -x86-speculative-load-hardening -relocation-model pic -data-sections -verify-machineinstrs=0 | FileCheck %s --check-prefix=X64-PIC Index: llvm/test/CodeGen/X86/stackmap-fast-isel.ll =================================================================== --- llvm/test/CodeGen/X86/stackmap-fast-isel.ll +++ llvm/test/CodeGen/X86/stackmap-fast-isel.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 | FileCheck %s ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 -fast-isel -fast-isel-abort=1 | FileCheck %s Index: llvm/test/CodeGen/X86/stackmap-frame-setup.ll =================================================================== --- llvm/test/CodeGen/X86/stackmap-frame-setup.ll +++ llvm/test/CodeGen/X86/stackmap-frame-setup.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -o - -verify-machineinstrs -mtriple=x86_64-apple-darwin -mcpu=corei7 -stop-after machine-sink %s | FileCheck %s --check-prefix=ISEL ; RUN: llc -o - -verify-machineinstrs -mtriple=x86_64-apple-darwin -mcpu=corei7 -fast-isel -fast-isel-abort=1 -stop-after machine-sink %s | FileCheck %s --check-prefix=FAST-ISEL Index: llvm/test/CodeGen/X86/stackmap-large-location-size.ll =================================================================== --- llvm/test/CodeGen/X86/stackmap-large-location-size.ll +++ llvm/test/CodeGen/X86/stackmap-large-location-size.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple="x86_64-pc-linux-gnu" -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple="x86_64-pc-linux-gnu" | FileCheck %s declare void @callee() Index: llvm/test/CodeGen/X86/stackmap.ll =================================================================== --- llvm/test/CodeGen/X86/stackmap.ll +++ llvm/test/CodeGen/X86/stackmap.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-apple-darwin -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 | FileCheck %s ; ; Note: Print verbose stackmaps using -debug-only=stackmaps. Index: llvm/test/CodeGen/X86/statepoint-allocas.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-allocas.ll +++ llvm/test/CodeGen/X86/statepoint-allocas.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs < %s | FileCheck %s ; Check that we can lower a use of an alloca both as a deopt value (where the ; exact meaning is up to the consumer of the stackmap) and as an explicit spill Index: llvm/test/CodeGen/X86/statepoint-call-lowering.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-call-lowering.ll +++ llvm/test/CodeGen/X86/statepoint-call-lowering.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs < %s | FileCheck %s ; This file contains a collection of basic tests to ensure we didn't ; screw up normal call lowering when there are no deopt or gc arguments. Index: llvm/test/CodeGen/X86/statepoint-forward.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-forward.ll +++ llvm/test/CodeGen/X86/statepoint-forward.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: opt -O3 -S < %s | FileCheck --check-prefix=CHECK-OPT %s ; RUN: llc -verify-machineinstrs < %s | FileCheck --check-prefix=CHECK-LLC %s ; These tests are targetted at making sure we don't retain information Index: llvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll +++ llvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs < %s | FileCheck %s ; This file contains a collection of basic tests to ensure we didn't ; screw up normal call lowering when a statepoint is a GC transition. Index: llvm/test/CodeGen/X86/statepoint-invoke.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-invoke.ll +++ llvm/test/CodeGen/X86/statepoint-invoke.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs < %s 2>&1 | FileCheck %s target triple = "x86_64-pc-linux-gnu" Index: llvm/test/CodeGen/X86/statepoint-live-in.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-live-in.ll +++ llvm/test/CodeGen/X86/statepoint-live-in.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc -verify-machineinstrs -O3 -restrict-statepoint-remat -debug-entry-values -stop-after=machineverifier < %s | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -O3 -restrict-statepoint-remat < %s | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.11.0" Index: llvm/test/CodeGen/X86/statepoint-no-realign-stack.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-no-realign-stack.ll +++ llvm/test/CodeGen/X86/statepoint-no-realign-stack.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -mcpu=skylake < %s | FileCheck %s target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128" Index: llvm/test/CodeGen/X86/statepoint-stackmap-format.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-stackmap-format.ll +++ llvm/test/CodeGen/X86/statepoint-stackmap-format.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple="x86_64-pc-linux-gnu" -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc < %s -verify-machineinstrs -stack-symbol-ordering=0 -mtriple="x86_64-pc-linux-gnu" | FileCheck %s ; RUN: llc < %s -verify-machineinstrs -stack-symbol-ordering=0 -mtriple="x86_64-pc-unknown-elf" | FileCheck %s Index: llvm/test/CodeGen/X86/statepoint-uniqueing.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-uniqueing.ll +++ llvm/test/CodeGen/X86/statepoint-uniqueing.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple="x86_64-pc-linux-gnu" -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs < %s | FileCheck %s target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128" Index: llvm/test/CodeGen/X86/statepoint-vector-bad-spill.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-vector-bad-spill.ll +++ llvm/test/CodeGen/X86/statepoint-vector-bad-spill.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple="x86_64-pc-linux-gnu" -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -O3 < %s | FileCheck %s ; This is checking for a crash. Index: llvm/test/CodeGen/X86/statepoint-vector.ll =================================================================== --- llvm/test/CodeGen/X86/statepoint-vector.ll +++ llvm/test/CodeGen/X86/statepoint-vector.ll @@ -1,4 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py + +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple="x86_64-pc-linux-gnu" -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -stack-symbol-ordering=0 -mcpu=nehalem -debug-only=stackmaps < %s | FileCheck %s ; REQUIRES: asserts Index: llvm/test/CodeGen/X86/xray-custom-log.ll =================================================================== --- llvm/test/CodeGen/X86/xray-custom-log.ll +++ llvm/test/CodeGen/X86/xray-custom-log.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-unknown-linux-gnu -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s ; RUN: llc -verify-machineinstrs -filetype=asm -o - \ ; RUN: -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic < %s | FileCheck %s -check-prefix=PIC Index: llvm/test/CodeGen/X86/xray-typed-event-log.ll =================================================================== --- llvm/test/CodeGen/X86/xray-typed-event-log.ll +++ llvm/test/CodeGen/X86/xray-typed-event-log.ll @@ -1,3 +1,8 @@ +; Verify the call site info. If the call site info is not +; in the valid state, an assert should be triggered. +; RUN: llc < %s -debug-entry-values -mtriple=x86_64-unknown-linux-gnu -stop-after=machineverifier | FileCheck %s -check-prefix=CHECK-CALLSITE +; CHECK-CALLSITE: callSites: + ; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s ; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu \ ; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefix=PIC