LLVM 22.0.0git
LoopSimplifyCFG.h
Go to the documentation of this file.
1//===- LoopSimplifyCFG.cpp - Loop CFG Simplification Pass -------*- C++ -*-===//
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// This file implements the Loop SimplifyCFG Pass. This pass is responsible for
10// basic loop CFG cleanup, primarily to assist other loop passes. If you
11// encounter a noncanonical CFG construct that causes another loop pass to
12// perform suboptimally, this is the place to fix it up.
13//
14//===----------------------------------------------------------------------===//
15
16#ifndef LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H
17#define LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H
18
20#include "llvm/IR/PassManager.h"
21
22namespace llvm {
23
24class LPMUpdater;
25class Loop;
26
27/// Performs basic CFG simplifications to assist other loop passes.
28class LoopSimplifyCFGPass : public PassInfoMixin<LoopSimplifyCFGPass> {
29public:
32};
33} // end namespace llvm
34
35#endif // LLVM_TRANSFORMS_SCALAR_LOOPSIMPLIFYCFG_H
This header defines various interfaces for pass management in LLVM.
This header provides classes for managing per-loop analyses.
This class provides an interface for updating the loop pass manager based on mutations to the loop ne...
Performs basic CFG simplifications to assist other loop passes.
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
Represents a single loop in the control flow graph.
Definition LoopInfo.h:40
A set of analyses that are preserved following a run of a transformation pass.
Definition Analysis.h:112
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< Loop, LoopStandardAnalysisResults & > LoopAnalysisManager
The loop analysis manager.
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
A CRTP mix-in to automatically provide informational APIs needed for passes.
Definition PassManager.h:70