32 errs() <<
"DomTree dump not available, build with DEBUG\n";
38 this->
viewGraph(
"domtree",
"Dominator Tree for function");
40 errs() <<
"DomTree dump not available, build with DEBUG\n";
45 struct LegacyDominatorTreeWrapperPassAnalysisGraphTraits {
51 struct DomViewerWrapperPass
53 DominatorTreeWrapperPass, false, DominatorTree *,
54 LegacyDominatorTreeWrapperPassAnalysisGraphTraits> {
56 DomViewerWrapperPass()
59 LegacyDominatorTreeWrapperPassAnalysisGraphTraits>(
"dom",
ID) {
64 struct DomOnlyViewerWrapperPass
66 DominatorTreeWrapperPass, true, DominatorTree *,
67 LegacyDominatorTreeWrapperPassAnalysisGraphTraits> {
69 DomOnlyViewerWrapperPass()
72 LegacyDominatorTreeWrapperPassAnalysisGraphTraits>(
"domonly",
ID) {
77 struct LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits {
83 struct PostDomViewerWrapperPass
85 PostDominatorTreeWrapperPass, false, PostDominatorTree *,
86 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits> {
88 PostDomViewerWrapperPass()
91 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits>(
"postdom",
97 struct PostDomOnlyViewerWrapperPass
99 PostDominatorTreeWrapperPass, true, PostDominatorTree *,
100 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits> {
102 PostDomOnlyViewerWrapperPass()
105 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits>(
115 "View dominance tree of function",
false,
false)
117 char DomOnlyViewerWrapperPass::
ID = 0;
122 char PostDomViewerWrapperPass::
ID = 0;
126 char PostDomOnlyViewerWrapperPass::
ID = 0;
133 struct DomPrinterWrapperPass
135 DominatorTreeWrapperPass, false, DominatorTree *,
136 LegacyDominatorTreeWrapperPassAnalysisGraphTraits> {
138 DomPrinterWrapperPass()
141 LegacyDominatorTreeWrapperPassAnalysisGraphTraits>(
"dom",
ID) {
146 struct DomOnlyPrinterWrapperPass
148 DominatorTreeWrapperPass, true, DominatorTree *,
149 LegacyDominatorTreeWrapperPassAnalysisGraphTraits> {
151 DomOnlyPrinterWrapperPass()
154 LegacyDominatorTreeWrapperPassAnalysisGraphTraits>(
"domonly",
ID) {
159 struct PostDomPrinterWrapperPass
161 PostDominatorTreeWrapperPass, false, PostDominatorTree *,
162 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits> {
164 PostDomPrinterWrapperPass()
167 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits>(
"postdom",
173 struct PostDomOnlyPrinterWrapperPass
175 PostDominatorTreeWrapperPass, true, PostDominatorTree *,
176 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits> {
178 PostDomOnlyPrinterWrapperPass()
181 LegacyPostDominatorTreeWrapperPassAnalysisGraphTraits>(
191 "Print dominance tree of function to 'dot' file",
false,
false)
193 char DomOnlyPrinterWrapperPass::
ID = 0;
199 char PostDomPrinterWrapperPass::
ID = 0;
204 char PostDomOnlyPrinterWrapperPass::
ID = 0;
215 return new DomPrinterWrapperPass();
219 return new DomOnlyPrinterWrapperPass();
223 return new DomViewerWrapperPass();
227 return new DomOnlyViewerWrapperPass();
231 return new PostDomPrinterWrapperPass();
235 return new PostDomOnlyPrinterWrapperPass();
239 return new PostDomViewerWrapperPass();
243 return new PostDomOnlyViewerWrapperPass();