xref: /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/CFGSCCPrinter.h (revision 1db9f3b21e39176dd5b67cf8ac378633b172463e)
1bdd1243dSDimitry Andric //===-- CFGSCCPrinter.h ---------------------------------------------------===//
2bdd1243dSDimitry Andric //
3bdd1243dSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4bdd1243dSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5bdd1243dSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6bdd1243dSDimitry Andric //
7bdd1243dSDimitry Andric //===----------------------------------------------------------------------===//
8bdd1243dSDimitry Andric 
9bdd1243dSDimitry Andric #ifndef LLVM_ANALYSIS_CFGSCCPRINTER_H
10bdd1243dSDimitry Andric #define LLVM_ANALYSIS_CFGSCCPRINTER_H
11bdd1243dSDimitry Andric 
12bdd1243dSDimitry Andric #include "llvm/IR/PassManager.h"
13bdd1243dSDimitry Andric 
14bdd1243dSDimitry Andric namespace llvm {
15bdd1243dSDimitry Andric 
16bdd1243dSDimitry Andric class CFGSCCPrinterPass : public PassInfoMixin<CFGSCCPrinterPass> {
17bdd1243dSDimitry Andric   raw_ostream &OS;
18bdd1243dSDimitry Andric 
19bdd1243dSDimitry Andric public:
20bdd1243dSDimitry Andric   explicit CFGSCCPrinterPass(raw_ostream &OS) : OS(OS) {}
21bdd1243dSDimitry Andric   PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
22*1db9f3b2SDimitry Andric   static bool isRequired() { return true; }
23bdd1243dSDimitry Andric };
24bdd1243dSDimitry Andric } // namespace llvm
25bdd1243dSDimitry Andric 
26bdd1243dSDimitry Andric #endif
27