[LLVMdev] PassManager Mysteries
criswell at uiuc.edu
Mon Jan 28 20:11:34 PST 2008
I had a similar error back in December; there are a number of email
exchanges about it on llvmdev in December 2007; a search through the
archives might shed some light on my PassManager does this.
If you're updating a pass from pre-LLVM 2.0 to post-LLVM 2.0, you should
be aware that the pass manager in LLVM 2.x is used only for scheduling
dependent *analysis* passes. If you need to ensure that transform
passes are run in a certain order or before an analysis pass, you need
to order that explicitly by adding the passes to the PassManager object
in the correct order.
In my case, SAFECode used the PassManager's dependency checking to
ensure that the Automatic Pool Allocation transform was run before the
SAFECode analysis and transform passes. This worked in LLVM 1.9; it
doesn't work in LLVM 2.x.
-- John T.
Vikram S. Adve wrote:
> On Jan 28, 2008, at 6:38 PM, Devang Patel wrote:
>>> So what does this assert mean, exactly?
>> In simple word, pass manager is unable to fulfill your request.
> Can you explain this one in complex words then? :^) I've encountered
> the same problem.
More information about the llvm-dev