[LLVMbugs] [Bug 12740] BasicAliasAnalysis incorrectly concludes "NoAlias"

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat May 5 13:53:59 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12740

Eli Friedman <sharparrow1 at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |sharparrow1 at yahoo.com
         Resolution|                            |INVALID

--- Comment #2 from Eli Friedman <sharparrow1 at yahoo.com> 2012-05-05 15:53:59 CDT ---
(In reply to comment #0)
> Created attachment 8494 [details]
> Simple loop IR which basicaa incorrectly analyzes
> 
> After moving from 2.9 to 3.0 we noticed that -basicaa was giving us some false
> "NoAlias" responses, even in very simple cases.
> 
> For example, in IR resulting from a C loop such as this:
> 
> for(i=0; i<100; i++){ A[i] = A[i] + A[i+1] }
> 
> -basicaa in 3.0 will say that A[i] and A[i+1] do not alias. While this is true
> in the context of a single iteration, it is not true in general.

This is intentional.  If we tried to compute alias analysis based on all the
possible values a Instruction could have through the entire program, alias
analysis would be nearly useless.

There's a current thread on llvmdev discussing a new LoopDependenceAnalysis
pass, if that's what you're looking for.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list