Path: blob/main/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
35271 views
//===-- NVPTXCtorDtorLowering.h --------------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXCTORDTORLOWERING_H9#define LLVM_LIB_TARGET_NVPTX_NVPTXCTORDTORLOWERING_H1011#include "llvm/IR/PassManager.h"1213namespace llvm {14class Module;15class PassRegistry;1617extern char &NVPTXCtorDtorLoweringLegacyPassID;18extern void initializeNVPTXCtorDtorLoweringLegacyPass(PassRegistry &);1920/// Lower llvm.global_ctors and llvm.global_dtors to special kernels.21class NVPTXCtorDtorLoweringPass22: public PassInfoMixin<NVPTXCtorDtorLoweringPass> {23public:24PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);25};2627} // namespace llvm2829#endif // LLVM_LIB_TARGET_NVPTX_NVPTXCTORDTORLOWERING_H303132