History log of /llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp (Results 551 – 575 of 785)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 12dacdd3 26-Nov-2009 Chris Lattner <sabre@nondot.org>

teach basicaa that A[i] != A[i+1].

llvm-svn: 89951


# 7a5b56ac 26-Nov-2009 Chris Lattner <sabre@nondot.org>

Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression. This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions m

Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression. This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions method, fixes a miscompilation (@test3) and makes the code more aggressive. In particular, we now handle the @test4 case, which is reduced from the SmallPtrSet constructor. Missing this caused us to emit a variable length memset instead of a fixed size one.

llvm-svn: 89922

show more ...


# 5341c967 26-Nov-2009 Chris Lattner <sabre@nondot.org>

Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around). This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check w

Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around). This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit.

llvm-svn: 89920

show more ...


# 89288994 26-Nov-2009 Chris Lattner <sabre@nondot.org>

Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets. Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*

Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets. Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero).

llvm-svn: 89915

show more ...


# a99edbed 26-Nov-2009 Chris Lattner <sabre@nondot.org>

Use GEPOperator more pervasively to simplify code.

llvm-svn: 89914


# 214ef9a4 23-Nov-2009 Chris Lattner <sabre@nondot.org>

fix comment, thanks all :)

llvm-svn: 89666


# 1e7b37eb 23-Nov-2009 Chris Lattner <sabre@nondot.org>

use the new isNoAlias method to simplify some code, only do an escaping check if
we have a non-constant pointer. Constant pointers can't be local.

llvm-svn: 89665


# 98e25326 23-Nov-2009 Chris Lattner <sabre@nondot.org>

whitespace cleanup, tidying

llvm-svn: 89664


# 84ed59ab 23-Nov-2009 Chris Lattner <sabre@nondot.org>

speed up BasicAA a bit by implementing a long-standing TODO.

llvm-svn: 89663


# a13c9d1a 22-Nov-2009 Chris Lattner <sabre@nondot.org>

add fixme for dubious code. Duncan, what do you think?

llvm-svn: 89602


# db1e9f12 22-Nov-2009 Chris Lattner <sabre@nondot.org>

remove a silly condition that doesn't make a lot of sense anymore.

llvm-svn: 89601


# d6a49ad2 22-Nov-2009 Chris Lattner <sabre@nondot.org>

reduce indentation, no functionality change.

llvm-svn: 89600


# 88874ec6 22-Nov-2009 Chris Lattner <sabre@nondot.org>

Remove the AliasAnalysis::getMustAliases method, which is dead.

The hasNoModRefInfoForCalls isn't worth it as a filter because
basicaa provides m/r info and everything chains to it, so remove
it.

Remove the AliasAnalysis::getMustAliases method, which is dead.

The hasNoModRefInfoForCalls isn't worth it as a filter because
basicaa provides m/r info and everything chains to it, so remove
it.

llvm-svn: 89599

show more ...


# 94e61762 19-Nov-2009 Dan Gohman <gohman@apple.com>

Extend CaptureTracking to indicate when a value is never stored, even
if it is not ultimately captured. Teach BasicAliasAnalysis that a
local object address which does not escape and is never stored

Extend CaptureTracking to indicate when a value is never stored, even
if it is not ultimately captured. Teach BasicAliasAnalysis that a
local object address which does not escape and is never stored does
not alias with a value resulting from a load.

llvm-svn: 89398

show more ...


# c53e2ecf 14-Nov-2009 Nick Lewycky <nicholas@mxc.ca>

Teach BasicAA that a constant expression can't alias memory provably not
allocated until runtime (such as an alloca). Patch by Hans Wennborg!

llvm-svn: 88760


# ccb4584e 09-Nov-2009 Dan Gohman <gohman@apple.com>

Default-addressspace null pointers don't alias anything. This allows
GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me)

llvm-svn: 86582


# 46b5c642 06-Nov-2009 Chris Lattner <sabre@nondot.org>

remove a bunch of extraneous LLVMContext arguments
from various APIs, addressing PR5325.

llvm-svn: 86231


# f390e04a 27-Oct-2009 Victor Hernandez <vhernandez@apple.com>

Rename MallocFreeHelper as MemoryBuiltins

llvm-svn: 85286


# 762195bd 26-Oct-2009 Victor Hernandez <vhernandez@apple.com>

Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()

llvm-svn: 85181


# 3b7ba5f3 26-Oct-2009 Dan Gohman <gohman@apple.com>

Teach BasicAA how to analyze Select instructions, and make it more
aggressive on PHI instructions.

llvm-svn: 85158


# 974e12b2 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca>

Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.

llvm-svn: 85043


# 02d5f77d 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca>

Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit

Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.

llvm-svn: 85042

show more ...


Revision tags: llvmorg-2.6.0
# 8acf2956 23-Oct-2009 Victor Hernandez <vhernandez@apple.com>

Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary.

llvm-svn: 84969


# b2647b9e 17-Oct-2009 Chris Lattner <sabre@nondot.org>

inline isGEP away.

llvm-svn: 84373


# 8ec25937 16-Oct-2009 Evan Cheng <evan.cheng@apple.com>

When checking aliases between phi sources and V2, we know the sources are not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call.

llvm-

When checking aliases between phi sources and V2, we know the sources are not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call.

llvm-svn: 84226

show more ...


1...<<21222324252627282930>>...32