LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MachinePostDominators.cpp
Go to the documentation of this file.
1 //===- MachinePostDominators.cpp -Machine Post Dominator Calculation ------===//
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 //===----------------------------------------------------------------------===//
9 //
10 // This file implements simple dominator construction algorithms for finding
11 // post dominators on machine functions.
12 //
13 //===----------------------------------------------------------------------===//
14 
16 
17 using namespace llvm;
18 
20 
21 //declare initializeMachinePostDominatorTreePass
23  "MachinePostDominator Tree Construction", true, true)
24 
27  DT = new DominatorTreeBase<MachineBasicBlock>(true); //true indicate
28  // postdominator
29 }
30 
33  return new MachinePostDominatorTree();
34 }
35 
36 bool
38  DT->recalculate(F);
39  return false;
40 }
41 
43  delete DT;
44 }
45 
46 void
48  AU.setPreservesAll();
50 }
51 
52 void
54  DT->print(OS);
55 }
static PassRegistry * getPassRegistry()
virtual bool runOnMachineFunction(MachineFunction &MF)
The main container class for the LLVM Intermediate Representation.
Definition: Module.h:112
F(f)
virtual void getAnalysisUsage(AnalysisUsage &AU) const
ID
LLVM Calling Convention Representation.
Definition: CallingConv.h:26
void initializeMachinePostDominatorTreePass(PassRegistry &)
FunctionPass * createMachinePostDominatorTreePass()
INITIALIZE_PASS(MachinePostDominatorTree,"machinepostdomtree","MachinePostDominator Tree Construction", true, true) MachinePostDominatorTree
virtual void getAnalysisUsage(AnalysisUsage &AU) const
virtual void print(llvm::raw_ostream &OS, const Module *M=0) const