[LLVMdev] alias information in codegen

Daniel Berlin 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 mailing list