File indexing completed on 2026-05-10 08:43:17
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_ANALYSIS_STRUCTURALHASH_H
0010 #define LLVM_ANALYSIS_STRUCTURALHASH_H
0011
0012 #include "llvm/IR/PassManager.h"
0013
0014 namespace llvm {
0015
0016 enum class StructuralHashOptions {
0017 None,
0018 Detailed,
0019 CallTargetIgnored,
0020 };
0021
0022
0023 class StructuralHashPrinterPass
0024 : public PassInfoMixin<StructuralHashPrinterPass> {
0025 raw_ostream &OS;
0026 const StructuralHashOptions Options;
0027
0028 public:
0029 explicit StructuralHashPrinterPass(raw_ostream &OS,
0030 StructuralHashOptions Options)
0031 : OS(OS), Options(Options) {}
0032
0033 PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
0034
0035 static bool isRequired() { return true; }
0036 };
0037
0038 }
0039
0040 #endif