//===- StatepointLowering.h - SDAGBuilder's statepoint code ---*- C++ -*---===// // // 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 includes support code use by SelectionDAGBuilder when lowering a // statepoint sequence in SelectionDAG IR. // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_CODEGEN_SELECTIONDAG_STATEPOINTLOWERING_H #define LLVM_LIB_CODEGEN_SELECTIONDAG_STATEPOINTLOWERING_H #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallBitVector.h" #include "llvm/ADT/SmallVector.h" #include "llvm/CodeGen/SelectionDAGNodes.h" #include "llvm/IR/IntrinsicInst.h" #include <cassert> namespace llvm { class SelectionDAGBuilder; /// This class tracks both per-statepoint and per-selectiondag information. /// For each statepoint it tracks locations of it's gc valuess (incoming and /// relocated) and list of gcreloc calls scheduled for visiting (this is /// used for a debug mode consistency check only). The spill slot tracking /// works in concert with information in FunctionLoweringInfo. class StatepointLoweringState { … }; } // end namespace llvm #endif // LLVM_LIB_CODEGEN_SELECTIONDAG_STATEPOINTLOWERING_H