xref: /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/InstrOrderFile.h (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
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