LLVM  6.0.0svn
Go to the documentation of this file.
1 //===- IVUsersPrinter.cpp - Induction Variable Users Printer ----*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
11 #include "llvm/Analysis/IVUsers.h"
12 #include "llvm/Support/Debug.h"
13 using namespace llvm;
15 #define DEBUG_TYPE "iv-users"
19  LPMUpdater &U) {
20  AM.getResult<IVUsersAnalysis>(L, AR).print(OS);
21  return PreservedAnalyses::all();
22 }
PassT::Result & getResult(IRUnitT &IR, ExtraArgTs... ExtraArgs)
Get the result of an analysis pass for a given IR unit.
Definition: PassManager.h:687
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
A set of analyses that are preserved following a run of a transformation pass.
Definition: PassManager.h:153
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
Definition: PassManager.h:159
This class provides an interface for updating the loop pass manager based on mutations to the loop ne...
Analysis pass that exposes the IVUsers for a loop.
Definition: IVUsers.h:189
Represents a single loop in the control flow graph.
Definition: LoopInfo.h:439
A container for analyses that lazily runs them and caches their results.