One Hat Cyber Team
Your IP :
216.73.216.14
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
include
/
llvm
/
Analysis
/
Edit File:
CycleAnalysis.h
//===- CycleAnalysis.h - Cycle Info for LLVM IR -----------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// \file /// /// This file declares an analysis pass that computes CycleInfo for /// LLVM IR, specialized from GenericCycleInfo. /// //===----------------------------------------------------------------------===// #ifndef LLVM_ANALYSIS_CYCLEANALYSIS_H #define LLVM_ANALYSIS_CYCLEANALYSIS_H #include "llvm/IR/CycleInfo.h" #include "llvm/IR/PassManager.h" #include "llvm/IR/SSAContext.h" #include "llvm/Pass.h" namespace llvm { /// Legacy analysis pass which computes a \ref CycleInfo. class CycleInfoWrapperPass : public FunctionPass { Function *F = nullptr; CycleInfo CI; public: static char ID; CycleInfoWrapperPass(); CycleInfo &getResult() { return CI; } const CycleInfo &getResult() const { return CI; } bool runOnFunction(Function &F) override; void getAnalysisUsage(AnalysisUsage &AU) const override; void releaseMemory() override; void print(raw_ostream &OS, const Module *M = nullptr) const override; // TODO: verify analysis? }; /// Analysis pass which computes a \ref CycleInfo. class CycleAnalysis : public AnalysisInfoMixin<CycleAnalysis> { friend AnalysisInfoMixin<CycleAnalysis>; static AnalysisKey Key; public: /// Provide the result typedef for this analysis pass. using Result = CycleInfo; using LegacyWrapper = CycleInfoWrapperPass; /// Run the analysis pass over a function and produce a dominator tree. CycleInfo run(Function &F, FunctionAnalysisManager &); // TODO: verify analysis? }; /// Printer pass for the \c DominatorTree. class CycleInfoPrinterPass : public PassInfoMixin<CycleInfoPrinterPass> { raw_ostream &OS; public: explicit CycleInfoPrinterPass(raw_ostream &OS); PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); static bool isRequired() { return true; } }; } // end namespace llvm #endif // LLVM_ANALYSIS_CYCLEANALYSIS_H
Simpan