//===-- StackMapLivenessAnalysis.cpp - StackMap live Out Analysis ----------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file implements the StackMap Liveness analysis pass. The pass calculates
// the liveness for each basic block in a function and attaches the register
// live-out information to a stackmap or patchpoint intrinsic if present.
//
//===----------------------------------------------------------------------===//
using namespace llvm;
static cl::opt<bool> ;
;
;
;
;
;
// namespace
char StackMapLiveness::ID = 0;
char &llvm::StackMapLivenessID = StackMapLiveness::ID;
/// Default construct and initialize the pass.
:
/// Tell the pass manager which passes we depend on and what information we
/// preserve.
void
/// Calculate the liveness information for the given machine function.
bool
/// Performs the actual liveness calculation for the function.
bool
/// Add the current register live set to the instruction.
void
/// Create a register mask and initialize it with the registers from the
/// register live set.
uint32_t *