|
|
|||
File indexing completed on 2026-05-10 08:44:42
0001 //===- LoopSimplifyCFG.cpp - Loop CFG Simplification Pass -------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 // 0009 // This file implements the Loop SimplifyCFG Pass. This pass is responsible for 0010 // basic loop CFG cleanup, primarily to assist other loop passes. If you 0011 // encounter a noncanonical CFG construct that causes another loop pass to 0012 // perform suboptimally, this is the place to fix it up. 0013 // 0014 //===----------------------------------------------------------------------===// 0015 0016 #ifndef LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H 0017 #define LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H 0018 0019 #include "llvm/Analysis/LoopAnalysisManager.h" 0020 #include "llvm/IR/PassManager.h" 0021 0022 namespace llvm { 0023 0024 class LPMUpdater; 0025 class Loop; 0026 0027 /// Performs basic CFG simplifications to assist other loop passes. 0028 class LoopSimplifyCFGPass : public PassInfoMixin<LoopSimplifyCFGPass> { 0029 public: 0030 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM, 0031 LoopStandardAnalysisResults &AR, LPMUpdater &U); 0032 }; 0033 } // end namespace llvm 0034 0035 #endif // LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|