[LLVMdev] Queries of an invalidated AA ModulePass
gohman at apple.com
Wed Jun 30 14:10:07 PDT 2010
On Jun 29, 2010, at 12:07 PM, Will Dietz wrote:
> On Tue, Jun 29, 2010 at 1:41 PM, Dan Gohman <gohman at apple.com> wrote:
>> My best guess is that the problem is that loopsimplify (Canonicalize
>> natural loops) doesn't preserve DSAA. It preserves AliasAnalysis, but as
>> docs/AliasAnalysis.html now mentions, this doesn't actually do anything.
>> And DSAA clobbers loopsimplify, because the pass manager can't
>> keep a LoopPass live across a ModulePass run. Given these constraints,
>> it's not possible for the pass manager to set up LICM's prerequisites.
> Thanks for the reply.
> If I'm understanding you correctly--LICM's prerequisites (perhaps
> because preserving AA doesn't do anything/work) are presently
> impossible to satisfy (when the AA is a modulepass) and as such
> PassManager tries to run it without its requirements satisfied and
> hopes for the best?
> Or put a different way, LICM and its deps just plain don't work with
> AA implemented as a modulepass?
Yes, as far as I can tell.
> (Out of curiosity is there a reason this kind of situation doesn't
> result in some "unable to satisfy pass requirements" assertion?
I don't know,.
> Looking at the bug tracker (for whatever reason I only searched open
> bugs before), this looks relevant:
> So it appears it's known and understood but not fixed because no one
> need it yet...which is understandable. I imagine that puts this in
> "patches welcome" territory?
More information about the llvm-dev