Hi Surinder,<br><br>Did you remember to #include "llvm/Analysis/Dominators.h"?<br><br>Best,<br><br>Douglas<br><br><div class="gmail_quote">On Sun, Jan 30, 2011 at 11:24 PM, Surinder <span dir="ltr"><<a href="mailto:surifilms@gmail.com">surifilms@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I am creating a new pass (function pass) called Dfl from the Hello<br>
example and notes on "Writing an LLVM Pass". When I compile the<br>
program I get inncomplete type error (llvm/include/llvm/Pass.h:188:<br>
error: incomplete type 'llvm::DominatorTree' used in nested name<br>
specifier). The code is given below.<br>
<br>
Surinder<br>
<br>
struct Dfl : public FunctionPass {<br>
raw_ostream *Out;<br>
static char ID;<br>
//<br>
Dfl() : FunctionPass(&ID) { }<br>
//<br>
virtual bool runOnFunction(Function &F) {<br>
// //BlocksCounter++; EdgesCounter++; InstCounter++;<br>
bool modified=false;<br>
errs() << "In Dfl for Function : " << F.getName();<br>
if (F.empty()) errs() << " is empty." << "\n";<br>
else errs() << "\n";<br>
// DT = &getAnalysis<DominatorTree>();<br>
modified = printDfl(Out, &F); // , &DT);<br>
return modified;<br>
};<br>
// pass interface to other passes<br>
virtual void getAnalysisUsage(AnalysisUsage &AU) const {<br>
AU.setPreservesAll();<br>
AU.addRequired<DominatorTree>(); /// ***error<br>
line ***********<br>
}<br>
<br>
<br>
}; // end struc Dfl<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br>