|
|
|||
File indexing completed on 2026-05-10 08:44:42
0001 //===- BreakCriticalEdges.h - Critical Edge Elimination Pass --------------===// 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 // BreakCriticalEdges pass - Break all of the critical edges in the CFG by 0010 // inserting a dummy basic block. This pass may be "required" by passes that 0011 // cannot deal with critical edges. For this usage, the structure type is 0012 // forward declared. This pass obviously invalidates the CFG, but can update 0013 // dominator trees. 0014 // 0015 //===----------------------------------------------------------------------===// 0016 0017 #ifndef LLVM_TRANSFORMS_UTILS_BREAKCRITICALEDGES_H 0018 #define LLVM_TRANSFORMS_UTILS_BREAKCRITICALEDGES_H 0019 0020 #include "llvm/IR/PassManager.h" 0021 0022 namespace llvm { 0023 0024 class Function; 0025 struct BreakCriticalEdgesPass : public PassInfoMixin<BreakCriticalEdgesPass> { 0026 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); 0027 }; 0028 } // namespace llvm 0029 #endif // LLVM_TRANSFORMS_UTILS_BREAKCRITICALEDGES_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|