#
9ed8d93f |
| 23-Mar-2011 |
Anders Carlsson <andersca@mac.com> |
A global variable with internal linkage where all uses are in one function and whose address is never taken is a non-escaping local object and can't alias anything else.
llvm-svn: 128140
|
Revision tags: llvmorg-2.9.0-rc1 |
|
#
0f124e19 |
| 24-Jan-2011 |
Dan Gohman <gohman@apple.com> |
Give GetUnderlyingObject a TargetData, to keep it in sync with BasicAA's DecomposeGEPExpression, which recently began using a TargetData. This fixes PR8968, though the testcase is awkward to reduce.
Give GetUnderlyingObject a TargetData, to keep it in sync with BasicAA's DecomposeGEPExpression, which recently began using a TargetData. This fixes PR8968, though the testcase is awkward to reduce.
Also, update several off GetUnderlyingObject's users which happen to have a TargetData handy to pass it in.
llvm-svn: 124134
show more ...
|
#
44da55b7 |
| 18-Jan-2011 |
Dan Gohman <gohman@apple.com> |
Teach BasicAA to return PartialAlias in cases where both pointers are pointing to the same object, one pointer is accessing the entire object, and the other is access has a non-zero size. This preven
Teach BasicAA to return PartialAlias in cases where both pointers are pointing to the same object, one pointer is accessing the entire object, and the other is access has a non-zero size. This prevents TBAA from kicking in and saying NoAlias in such cases.
llvm-svn: 123775
show more ...
|
#
16e42128 |
| 03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8813415 - a miscompilation of 164.gzip that loop-idiom exposed. It turns out to be a latent bug in basicaa, scary.
llvm-svn: 122772
|
#
05b18f14 |
| 15-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r121886, and also update DecomposeGEPExpression to keep it in sync.
llvm-svn: 121895
|
#
a4fcd241 |
| 15-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Move Value::getUnderlyingObject to be a standalone function so that it can live in Analysis instead of VMCore.
llvm-svn: 121885
|
#
c4bf5cac |
| 13-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r121520, PartialAlias implementation for BasicAA, now that memdep is updated to handle it.
llvm-svn: 121725
|
#
39de6234 |
| 10-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Revert r121520, which may have introduced miscompilations.
llvm-svn: 121573
|
#
041f74e7 |
| 10-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Implement PartialAlias checking in BasicAA.
llvm-svn: 121520
|
#
583abbc4 |
| 07-Dec-2010 |
Jay Foad <jay.foad@gmail.com> |
PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead
PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place.
llvm-svn: 121120
show more ...
|
#
90c4947d |
| 30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
enhance basicaa to return "Mod" for a memcpy call when the queried location doesn't overlap the source, and add a testcase.
llvm-svn: 120370
|
#
9a146372 |
| 30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
Teach basicaa that memset's modref set is at worst "mod" and never contains "ref".
Enhance DSE to use a modref query instead of a store-specific hack to generalize the "ignore may-alias stores" opti
Teach basicaa that memset's modref set is at worst "mod" and never contains "ref".
Enhance DSE to use a modref query instead of a store-specific hack to generalize the "ignore may-alias stores" optimization to handle memset and memcpy.
llvm-svn: 120368
show more ...
|
#
2694e140 |
| 10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis chaining and simplify FunctionAttrs' GetModRefBehavior logic.
llvm-svn: 118660
|
#
142ff82a |
| 08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Re-introduce the MaxLookup limit to BasicAliasAnalysis' pointsToConstantMemory code to guard against possible compile time slowdowns.
llvm-svn: 118440
|
#
9130bad7 |
| 08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Extend the AliasAnalysis::pointsToConstantMemory interface to allow it to optionally look for constant or local (alloca) memory.
Teach BasicAliasAnalysis::pointsToConstantMemory to look through Sele
Extend the AliasAnalysis::pointsToConstantMemory interface to allow it to optionally look for constant or local (alloca) memory.
Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select and Phi nodes, and to support looking for local memory.
Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that AliasAnalysis knows all the tricks that it knew.
llvm-svn: 118412
show more ...
|
#
e461d7d1 |
| 08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Teach BasicAliasAnalysis::getModRefBehavior(const Function *F) to analyze intrinsic functions.
llvm-svn: 118409
|
#
da85ed85 |
| 19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Move NoAA out of BasicAliasAnalysis.cpp into its own file, now that it doesn't have a special relationship with BasicAliasAnalysis anymore.
llvm-svn: 116876
|
#
f372cf86 |
| 19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r116831 and r116839, converting AliasAnalysis to use uint64_t, plus fixes for places I missed before.
llvm-svn: 116875
|
#
b4aa5035 |
| 19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Revert r116831 and r116839, which are breaking selfhost builds.
llvm-svn: 116858
|
#
f4c5fe73 |
| 19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Change AliasAnalysis and its clients to use uint64_t instead of unsigned for representing object sizes, for consistency with other parts of LLVM.
llvm-svn: 116831
|
#
6c18d1aa |
| 19-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly.
llvm-svn: 116820
show more ...
|
#
f3702452 |
| 18-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Fix BasicAA to pass TBAAInfo through to the chained analysis.
llvm-svn: 116730
|
#
02538ac4 |
| 18-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make BasicAliasAnalysis a normal AliasAnalysis implementation which does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias.
Update StandardCompile
Make BasicAliasAnalysis a normal AliasAnalysis implementation which does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias.
Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis.
Update tests to explicitly request -basicaa.
llvm-svn: 116720
show more ...
|
#
df7a4f25 |
| 07-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons!
llvm-svn: 115996
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2 |
|
#
ab3a1285 |
| 15-Sep-2010 |
Eli Friedman <eli.friedman@gmail.com> |
PR7959: Handle negative scales in GEPs correctly in BasicAA for non-64-bit targets.
llvm-svn: 114015
|