xref: /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/InstrOrderFile.h (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1 //===- InstrOrderFile.h ---- Late IR instrumentation for order file ----===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_INSTRORDERFILE_H
12 #define LLVM_TRANSFORMS_INSTRUMENTATION_INSTRORDERFILE_H
13 
14 #include "llvm/IR/PassManager.h"
15 
16 namespace llvm {
17 class Module;
18 
19 /// The instrumentation pass for recording function order.
20 class InstrOrderFilePass : public PassInfoMixin<InstrOrderFilePass> {
21 public:
22   PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
23 };
24 
25 } // end namespace llvm
26 
27 #endif // LLVM_TRANSFORMS_INSTRUMENTATION_INSTRORDERFILE_H
28