[LLVMdev] alias information in codegen
dberlin at dberlin.org
Mon Apr 7 10:26:10 PDT 2008
On Mon, Apr 7, 2008 at 11:00 AM, Dan Gohman <gohman at apple.com> wrote:
> On Thu, April 3, 2008 7:33 pm, Chris Lattner wrote:
> > On Apr 3, 2008, at 1:00 PM, Dan Gohman wrote:
> >> * BasicAliasAnalysis, the default AliasAnalysis implementation,
> >> doesn't
> >> understand lowered GEPs, integer arithmetic, or PHIs, and the
> >> regular codegen process involves passes that lower GEPs.
> > Sure.
> >> One way to solve this is to use a different AliasAnalysis
> >> implementation.
> >> I haven't looked at it in detail, but I'd guess that the Andersen's
> >> pass handles all of these constructs reasonably well. And it has the
> >> advantage of being much more capable than the BasicAliasAnalysis.
> > I haven't tried, but I seriously doubt it. Most AA's specifically
> > just look at pointers and interprocedural ones are much more
> > interested in this than local ones: this reduces the number of values
> > to track, speeding up analysis and reducing memory use.
> I just tried it, and it did work. Perhaps this means that the
> current -anders-aa pass is doing more work than it should.
It's more likely that something is broken and needs fixing, to be honest.
IE it's probably getting wrong answers.
The anders-aa is in good shape solving algorithm wise, but needs a lot
of testing to get the bugs out of the constraints it generates.
More information about the llvm-dev