3d5f96ee1bf5189e324089976026ed09b6be9e58 |
|
06-Sep-2012 |
Arnold Schwaighofer <arnolds@codeaurora.org> |
BasicAA: Recognize cyclic NoAlias phis Enhances basic alias analysis to recognize phis whose first incoming values are NoAlias and whose other incoming values are just the phi node itself through some amount of recursion. Example: With this change basicaa reports that ptr_phi and ptr_phi2 do not alias each other. bb: ptr = ptr2 + 1 loop: ptr_phi = phi [bb, ptr], [loop, ptr_plus_one] ptr2_phi = phi [bb, ptr2], [loop, ptr2_plus_one] ... ptr_plus_one = gep ptr_phi, 1 ptr2_plus_one = gep ptr2_phi, 1 This enables the elimination of one load in code like the following: extern int foo; int test_noalias(int *ptr, int num, int* coeff) { int *ptr2 = ptr; int result = (*ptr++) * (*coeff--); while (num--) { *ptr2++ = *ptr; result += (*coeff--) * (*ptr++); } *ptr = foo; return result; } Part 2/2 of fix for PR13564. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
029032693fdb065b6edfff6d68df188f98bee8ac |
|
06-Sep-2012 |
Arnold Schwaighofer <arnolds@codeaurora.org> |
BasicAA: GEPs of NoAlias'ing base ptr with equivalent indices are NoAlias If we can show that the base pointers of two GEPs don't alias each other using precise analysis and the indices and base offset are equal then the two GEPs also don't alias each other. This is primarily needed for the follow up patch that analyses NoAlias'ing PHI nodes. Part 1/2 of fix for PR13564. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
998d3cca2937393d91b04d4d6105d9e67dd3b1b6 |
|
05-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Switch BasicAliasAnalysis' cache to SmallDenseMap. It relies on clear() being fast and the cache rarely has more than 1 or 2 elements, so give it an inline capacity and always shrink it back down in case it grows. DenseMap will grow to 64 buckets which makes clear() a lot slower. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6 |
|
29-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make MemoryBuiltins aware of TargetLibraryInfo. This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more severe with the recent memory builtin improvements. Since the memory builtin functions are used everywhere, this required passing TLI in many places. This means that functions that now have an optional TLI argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead mallocs anymore if the TLI argument is missing. I've updated most passes to do the right thing. Fixes PR13694 and probably others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9e72a79ef4a9fcda482ce0b0e1f0bd6a4f16cffd |
|
21-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
refactor the MemoryBuiltin analysis: - provide more extensive set of functions to detect library allocation functions (e.g., malloc, calloc, strdup, etc) - provide an API to compute the size and offset of an object pointed by Move a few clients (GVN, AA, instcombine, ...) to the new API. This implementation is a lot more aggressive than each of the custom implementations being replaced. Patch reviewed by Nick Lewycky and Chandler Carruth, thanks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
cd38485b8ae2928cc8cb3bb67dcff7c7b7529ebe |
|
28-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Duncan pointed out that if the alignment isn't explicitly specified, it defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1680a24e534f3066f99fa6b8a618e71373e2920c |
|
27-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Teach BasicAA about the LLVM IR rules that allow reading past the end of an object given sufficient alignment. Fixes PR12098. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
55f4ab84e567ac101d70f052771d1bc67a7560e3 |
|
25-Feb-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Move isKnownNonNull from private implementation detail of BasicAA to a public function that others can use, next to llvm::isIdentifiedObject. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ebad58dc58d73097b3546e7fcb6fd7c17336d413 |
|
17-Feb-2012 |
Dan Gohman <gohman@apple.com> |
Remove a comment about an alternative approach that wouldn't actually work, at least as described. LLVM Metadata is not intended to suppress LLVM IR rules, as it can be stripped at any time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
173862e5468fbcf4b022b9088d2c81b25c2d60c5 |
|
20-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Refactor code to use new attribute getters on CallSite for NoCapture and ByVal. Suggested in code review by Eli. That code in InstCombine looks kinda suspicious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8540101252d3ff69f288e83821aa9f27b366227b |
|
07-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Remove the old atomic instrinsics. autoupgrade functionality is included with this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e6fadced87cef8faa69f00e3e13fc3a7369210b1 |
|
28-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
PR10628: Fix getModRefInfo so it queries the underlying alias() implementation correctly while checking nocapture calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
184166da619ac7f14d8460b4b0f8f85bfc601ebc |
|
08-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
A couple minor corrections to r139276. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
81ac8ddc674d1589dbba97f752ec77750901f510 |
|
08-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix the logic in BasicAliasAnalysis::aliasGEP for comparing GEP's with variable differences so that it actually does something sane. Fixes PR10881. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e421ad64ff76b7d89a4ddf41bdb056376bc5f6a6 |
|
07-Sep-2011 |
Owen Anderson <resistor@mac.com> |
memset_pattern16 uses a 16 BYTE pattern, not a 16 BIT pattern. Add comments to that effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
69acc93b3de6854732a6d91b581c3c29b59bb315 |
|
07-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Teach BasicAA about the aliasing properties of memset_pattern16. Fixes PR10872 and <rdar://problem/10065079>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a44defeb2208376ca3113ffdddc391570ba865b8 |
|
27-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Explicitly cast narrowing conversions inside {}s that will become errors in C++0x. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9a09ca348f3b82c669f93fec7b58ca57e6d67fba |
|
11-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Initialize BasicAA's AliasCache to set it to use fewer buckets by default, since it usually has very few elements. This speeds up alias queries in many cases, because AliasCache.clear() doesn't have to visit as many buckets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5f1312c36e811562c3ea3136332771aed98016ed |
|
04-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Reapply r131781, now that the GVN bug with partially-aliasing loads is disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9a9d218ed013653b28741c26f28df0bd34c630fa |
|
04-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Revert r131781 again. Apparently there is more going on here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c122c625ce018e33f25ba35150bed10183ae2b40 |
|
04-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Reapply r131781 (revert r131809), now that some BasicAA shortcomings it exposed are fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1fc18d71deb0e23a9101c87bb7b1455098ce1c09 |
|
04-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Fix BasicAA's recursion detection so that it doesn't pessimize queries in the case of a DAG, where a query reaches a node visited earlier, but it's not on a cycle. This avoids MayAlias results in cases where BasicAA is expected to return MustAlias or PartialAlias in order to protect TBAA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
965fefa1add8151619cc340c373a812c94342e58 |
|
03-Jun-2011 |
Dan Gohman <gohman@apple.com> |
When merging MustAlias and PartialAlias, chose PartialAlias instead of conservatively choosing MayAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9adf151b3d46740ac103c4e21fbdec66d6ef1cdf |
|
24-May-2011 |
Dan Gohman <gohman@apple.com> |
Make DecomposeGEPExpression check SimplifyInstruction only after checking for a GEP, so that it matches what GetUnderlyingObject does. This fixes an obscure bug turned up by bugpoint in the testcase for PR9931. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c10ecd8f23ebb4541acbe18563b7f19c4f79e721 |
|
23-May-2011 |
Chris Lattner <sabre@nondot.org> |
fix a really nasty basicaa mod/ref calculation bug that was causing miscompilation of UnitTests/ObjC/messages-2.m with the recent optimizer improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d22920aae81ec318404f7c5235c634954d966cf6 |
|
21-May-2011 |
Duncan Sands <baldrick@free.fr> |
Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot. Original log message: When BasicAA can determine that two pointers have the same base but differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
424b7771711d8be54f8ac65a24d1870d931c18ee |
|
21-May-2011 |
Dan Gohman <gohman@apple.com> |
When BasicAA can determine that two pointers have the same base but differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1d7e818a386610da70d56809ea67eb81e0f9c84b |
|
27-Apr-2011 |
Dan Gohman <gohman@apple.com> |
Teach BasicAA about arm.neon.vld1 and vst1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fa4ebd396d0d5ac62535fb14fdd598a160cf09ce |
|
23-Mar-2011 |
Anders Carlsson <andersca@mac.com> |
Revert r128140 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
90af3420614fcfbcc6e2c2702fbdde144e13af86 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bd1801b5553c8be3960255a92738464e0010b6f6 |
|
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. Also, update several off GetUnderlyingObject's users which happen to have a TargetData handy to pass it in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
615da1a9bcca05de06fab5f48ee9110267312974 |
|
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 prevents TBAA from kicking in and saying NoAlias in such cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
895ace08e01578b5490ed9d064df6d89acf5420a |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c01895c7db4c4d8883dd4c31427c42cdae356567 |
|
15-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r121886, and also update DecomposeGEPExpression to keep it in sync. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5034dd318a9dfa0dc45a3ac01e58e60f2aa2498d |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
0f7f194416b9f139d4233b499a1f56b20bd84022 |
|
13-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r121520, PartialAlias implementation for BasicAA, now that memdep is updated to handle it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
839c092548280561beb4720d74aee174ed113fd0 |
|
10-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Revert r121520, which may have introduced miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3bd5e52676681914f2cb2767da2d6ef8c168cf73 |
|
10-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Implement PartialAlias checking in BasicAA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
40f8f6264d5af2c38e797e0dc59827cd231e8ff7 |
|
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 of modifying the object in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
13815d9d3eec3d0ef2fc2f8a09e8ca8a9fa2654a |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
201d1e56bb7535802c70d5eb46601afcc325045d |
|
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" optimization to handle memset and memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
42c31a70735e55bf82e66a9315c97d1821c9a798 |
|
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis chaining and simplify FunctionAttrs' GetModRefBehavior logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3fcfc9fafac268d282d1373ea4517b6901fc510d |
|
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Re-introduce the MaxLookup limit to BasicAliasAnalysis' pointsToConstantMemory code to guard against possible compile time slowdowns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a25e5dbcc2371352386a01e3c1b8e76dd890272b |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
431c794ade88f5da17ba06436f781b009c745dde |
|
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Teach BasicAliasAnalysis::getModRefBehavior(const Function *F) to analyze intrinsic functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
db4708cf86cece22539ff022cc0601612dd02ead |
|
20-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3da848bbda62b25c12335998aaa44ab361f0bf15 |
|
20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r116831 and r116839, converting AliasAnalysis to use uint64_t, plus fixes for places I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1db839e73471a40309c2c10873b67c3b5b1b7a7b |
|
19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Revert r116831 and r116839, which are breaking selfhost builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4cccb87b4d766719cd8cdf98bed1d433d245adb0 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
081c34b725980f995be9080eaec24cd3dfaaf065 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6cc7c9b8fc185473c80b38d9ea176fcc88314fb5 |
|
18-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Fix BasicAA to pass TBAAInfo through to the chained analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c1be92f3bb9158eade30d97db6997e2fe78150ab |
|
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 StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ce665bd2e2b581ab0858d1afe359192bac96b868 |
|
08-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
39e30124e50534972c2e58f4dab7d67c0c437743 |
|
15-Sep-2010 |
Eli Friedman <eli.friedman@gmail.com> |
PR7959: Handle negative scales in GEPs correctly in BasicAA for non-64-bit targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b2143b6247901ae4eca2192ee134564c4f5f7853 |
|
14-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Remove the experimental AliasAnalysis::getDependency interface, which isn't a good level of abstraction for memdep. Instead, generalize AliasAnalysis::alias and related interfaces with a new Location class for describing a memory location. For now, this is the same Pointer and Size as before, plus an additional field for a TBAA tag. Also, introduce a fixed MD_tbaa metadata tag kind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c8ddbdabb697b20b948c1a56af6062f26691532a |
|
09-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Extend the getDependence query with support for PHI translation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
65924111bf648db8f20599f485be918c7aa1e7ef |
|
08-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Add a new experimental generalized dependence query interface to AliasAnalysis, and some code for implementing the new query on top of existing implementations by making standard alias and getModRefInfo queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2215c607c3035be197f163beb5e7d8308f8787e5 |
|
19-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
refix PR1143 by making basicaa analyze zexts of indices aggresively, which I broke with a recent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ff2efb9f9caf6669beb587aa4d65f24d3a026090 |
|
19-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
GetLinearExpression is only called when TD is non-null, pass as a reference instead of pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8807e9fbdf81221b277506064c46829732f019cf |
|
19-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
rework GEP decomposition to make a new VariableGEPIndex struct instead of using a pair. This tidies up the code a bit. While setting things up, add a (currently unused) field to keep track of how the value is extended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
30963fbe8fa0ba3a4cc35c7c6e8f24c772f1b40c |
|
19-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
move gep decomposition out of ValueTracking into BasicAA. The form of decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4ae56d725d25020106d8056c09b19319a4c49e93 |
|
18-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. The form of", it doesn't pass tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6b63037306c5c3dc9bf719a34243de5045a949da |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
move gep decomposition out of ValueTracking into BasicAA. The form of decomposition that it is doing is very basicaa specific and is only used by basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6ce9d8b0edaf7c59f5a7c52d506c2801004698f0 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Move all the logic for function attributes and call attributes out of the AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion about where such logic is happening when there are other AliasAnalysis implementations present. Move the logic for translating two-callsite getModRefInfo queries into other AliasAnalysis queries out of BasicAliasAnalysis and into the AliasAnalysis base class, as it is useful for other AliasAnalysis implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e6a4a36096185d1716332956d04a92ea7ee3a40f |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Fix botched revert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5eeb19d189fd448293e607227e5564d2efab0f7f |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix 80-column violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
130073904ffc18a6700bf7a6505ed2e19fc25ff3 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Implement AccessesArguments checking in the two-callsite form of BasicAA::getModRefInfo. This allows BasicAA to say that two memset calls to non-aliasing memory locations don't interfere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5fa417c7904f7394d4e6dcb86e366c86867bcb5a |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix memdep's code for reasoning about dependences between two calls. A Ref response from getModRefInfo is not useful here. Instead, check for identical calls only in the NoModRef case. Reapply r110270, and strengthen it to compensate for the memdep changes. When both calls are readonly, there is no dependence between them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
34fa82f7e82a2845a42d0a2725e70412d06c917b |
|
05-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Revert r110270 for now. It appears to uncover a memdep bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3dcc91ee8c48f210d302937ecbbf0d277f8b656e |
|
05-Aug-2010 |
Dan Gohman <gohman@apple.com> |
The two-callsite form of AliasAnalysis::getModRefInfo is documented to return Ref if the left callsite only reads memory read or written by the right callsite; fix BasicAliasAnalysis to implement this. Add AliasAnalysisEvaluator support for testing the two-callsite form of getModRefInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
79fca6fea87be7221843031870bbf2c9ae1fc555 |
|
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Thread const correctness through a bunch of AliasAnalysis interfaces and eliminate several const_casts. Make CallSite implicitly convertible to ImmutableCallSite. Rename the getModRefBehavior for intrinsic IDs to getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite, which happens to be implicitly convertible to bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6fc24467e91a2c515fa5347e90071573c454bcca |
|
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
The singular of "indices" is "index". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
17f647d33237222bb8f79dad5046114a89a7efdf |
|
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Delete an unused function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ef1cfac9e50def9097cd3e3ab3c5cad7f4c758cc |
|
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Introduce a symbolic constant for ~0u for use with AliasAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d8cc7be0262092882d848a1c7d8a4cb6752cce6f |
|
22-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8be3291f5942e3ae4a5d66c480e7aabe2f771031 |
|
20-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch would cause them to fail the way they are, but none of the other intervening patches seem likely either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9e081004dad1c3cae7de82ad412c3f19a1a48d48 |
|
20-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r108794, a fix for the failing test from last time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e8a469cdb400249ec263c79d1021f953f42f2760 |
|
20-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert r108794, "Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is breaking teh everything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8ba15cb7099d9eadcb345328228d77ffa5afa42d |
|
20-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b8c86a010c2d958d6f655b0f66101d8964d7a0fc |
|
07-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Minore code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9e86f4364b912ae743490ba01d6989acfd12c046 |
|
07-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Remove interprocedural-basic-aa and associated code. The AliasAnalysis interface needs implementations to be consistent, so any code which wants to support different semantics must use a different interface. It's not currently worthwhile to add a new interface for this new concept. Document that AliasAnalysis doesn't support cross-function queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
21de4c0daf2b35963d16541a3007c543237eb7bf |
|
01-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Remove context sensitivity concerns from interprocedural-basic-aa, and make it more aggressive in cases where both pointers are known to live in the same function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6f205cbceb487b327708faf7ad25007b754dcf36 |
|
29-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Fix whitespace style. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3432d70d5b48164f0adaec0771c89c54408e2be9 |
|
29-Jun-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use a more obvious way to avoid compiling functions which are only used when XDEBUG is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ca9f7efdf8eeffcabd95609c3bb7d481164a0d79 |
|
29-Jun-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Jump through some silly hoops to make GCC accept that a function may not always be called. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6be2bd516a3022721480f8fee6986617baf0944f |
|
29-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Add an Intraprocedural form of BasicAliasAnalysis, which aims to properly handles instructions and arguments defined in different functions, or across recursive function iterations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
50f424c3d079d4774bb323de1e0b77cf4627be69 |
|
28-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Fix Value::stripPointerCasts and BasicAA to avoid trouble on code in unreachable blocks, which have have use-def cycles. This fixes PR7514. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
71339c965ca6268b9bff91213364783c3d06f666 |
|
24-Jun-2010 |
Gabor Greif <ggreif@gmail.com> |
use ArgOperand accessors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
551754c4958086cc6910da7c950f2875e212f5cf |
|
17-Apr-2010 |
Eric Christopher <echristo@apple.com> |
Revert 101465, it broke internal OpenGL testing. Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4ec2258ffb495d7ce00177e447740ef1123a27db |
|
16-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
reapply r101434 with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
607a7ab3da72a2eb53553a520507cbb8068dd1d8 |
|
16-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
back out r101423 and r101397, they break llvm-gcc self-host on darwin10 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2ff961f66816daab8bbc58a19025161d969821c2 |
|
15-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
reapply r101364, which has been backed out in r101368 with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9ee17208115482441953127615231c59a2f4d052 |
|
15-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
back out r101364, as it trips the linux nightlybot on some clang C++ tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
165dac08d1bb8428b32a5f39cdd3dbee2888987f |
|
15-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b57b6f1575ec87b22dc793fe03539cae9df0e586 |
|
08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Pointers to zero-sized objects don't point to overlapping objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1df9859c40492511b8aa4321eb76496005d3b75b |
|
16-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2033097b1f5b1889a5d801febbc7848c7b8ca439 |
|
20-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
add some new methods to adjust this pointers. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e405c64f6b91635c8884411447ff5756c2e6b4c3 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
move DecomposeGEPExpression out into ValueTracking.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fa3966881f7f0317803b09161602c9c7eeb2d3a3 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
teach GetLinearExpression to be a bit more aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5369250b73e172efe886b20bfcdab74e5b251a71 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
resolve a fixme. I haven't figured out how to write a testcase to exercise this though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5d5261c819fa2a203dc8d09c7bb71e041a12cd69 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Teach basicaa that x|c == x+c when the c bits of x are clear. This allows us to compile the example in readme.txt into: LBB1_1: ## %bb movl 4(%rdx,%rax), %ecx movl %ecx, %esi imull (%rdx,%rax), %esi imull %esi, %ecx movl %esi, 8(%rdx,%rax) imull %ecx, %esi movl %ecx, 12(%rdx,%rax) movl %esi, 16(%rdx,%rax) imull %ecx, %esi movl %esi, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 instead of: LBB1_1: movl (%rdx,%rax), %ecx imull 4(%rdx,%rax), %ecx movl %ecx, 8(%rdx,%rax) imull 4(%rdx,%rax), %ecx movl %ecx, 12(%rdx,%rax) imull 8(%rdx,%rax), %ecx movl %ecx, 16(%rdx,%rax) imull 12(%rdx,%rax), %ecx movl %ecx, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 GCC (4.2) doesn't seem to be able to eliminate the loads in this testcase either, it generates: L2: movl (%rdx), %eax imull 4(%rdx), %eax movl %eax, 8(%rdx) imull 4(%rdx), %eax movl %eax, 12(%rdx) imull 8(%rdx), %eax movl %eax, 16(%rdx) imull 12(%rdx), %eax movl %eax, 20(%rdx) addl $4, %ecx addq $16, %rdx cmpl $1002, %ecx jne L2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f6ac4d9dadaa62959e04a0281e3bc5f4270fc260 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
teach basicaa that A[i] != A[i+1]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d84eb911a9f9c5b16fb6a737289a98651b94ce7f |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
23e2a5b2fff8b5b483a464ce1bea9a686e6731de |
|
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 we care about passes, speedup up BasicAA a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4e91ee7a2a80142c3774a9984f92a3fae1c126e7 |
|
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*'s were non-zero, but strange constant express could be zero). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
539c9b99c27c0fe4f22a0498bc65334e4aa72ef0 |
|
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Use GEPOperator more pervasively to simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b27db37ed05a846bd2e0fcdaf592e5bb1a573f8b |
|
23-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix comment, thanks all :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
403ac2ece33046c58b66fffa105184f44fa4527e |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5d56b2d47d324ecf2d1cc1551a28cce49d16ab01 |
|
23-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
whitespace cleanup, tidying git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b34b82e9d1ec6ddbdc23dfd9bb65cd9d22527cd2 |
|
23-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
speed up BasicAA a bit by implementing a long-standing TODO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6c7276f17eca3dcbceed46dc70a833153cfc581f |
|
22-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
add fixme for dubious code. Duncan, what do you think? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4723303c97da6f30af0dac9a30c45e2feca79c93 |
|
22-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a silly condition that doesn't make a lot of sense anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
92e803c2a412cda777535e4ae01fe78007997f8a |
|
22-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
reduce indentation, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
66e08cf79a052dd75bf6fa2f94abd4c0a18cb019 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f94b5edc452c32d9ae258e7de30c33391fda6cc9 |
|
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 does not alias with a value resulting from a load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
20162ac5662a45388911ef1d35ba7559aae368f5 |
|
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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f75ef668a7d35d361e797b7b160008b37d62f15c |
|
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) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7b550ccfc5a3346c17e0390a59e2d6d19bc52705 |
|
06-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of extraneous LLVMContext arguments from various APIs, addressing PR5325. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f006b183e2d2bebcf6968d1dd7350397c95b0325 |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f2becca90b832cc02345fba063b9b439b2be33ad |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6665b0ea688941c1c044a5c034ee45d45862168f |
|
26-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Teach BasicAA how to analyze Select instructions, and make it more aggressive on PHI instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f5a86f45e75ec744c203270ffa03659eb0a220c1 |
|
25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6726b6d75a8b679068a58cb954ba97cf9d1690ba |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7b929dad59785f62a66f7c58615082f98441e95e |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
391d23b6c29e17b5c969e732169a789ac9d0d422 |
|
18-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
inline isGEP away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a846a8a1dcb8ab28e75e364c0cf0272634d023f2 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
20312d0bb8e06c6881010d54f857b6d482994470 |
|
15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing break statements! Thanks to Duncan Sands for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6e9e010752e475c27d929147dc07d6261fc0f0f1 |
|
15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach basicaa about memcpy/memmove/memset. The length argument can be used to improve alias results if constant, and the source pointer can't be modified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2d3820c29cfae37c4ed6060ae4fa823a3e9cb21a |
|
15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach BasicAA to use the size parameter of the memory use marker intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
22c031296ce91cdabb193a203b06b339ef500f4b |
|
15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Take advantage of TargetData when available; we know that the atomic intrinsics only dereference the element they point to directly with no pointer arithmetic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f0429fd1ca7f6d359a33c20617785d7572a0292d |
|
14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Clear VisitedPHIs after use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
681a33e26dd3222477f13520b94e7417bff59e32 |
|
14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Another BasicAA fix. If a value does not alias a GEP's base pointer, then it cannot alias the GEP. GEP pointer alias rule states this clearly: A pointer value formed from a getelementptr instruction is associated with the addresses associated with the first operand of the getelementptr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d83c2ca3368f90d60234848e751842d29b248039 |
|
14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
More code clean up based on patch feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3dbe43b1b50472f4f24df17fff5ac2443be63d5f |
|
14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Change VisitedPHIs into an instance variable that's freed by each alias() call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
50a5914e129c348e8878d4654b4306e0349281c2 |
|
14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
094f04b429c11547ed98d7a53dd3399db51083bd |
|
13-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Refactor some code. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5c9be67cffd689fa0e2111a3c60d7556c07b8608 |
|
13-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach BasicAA a little something about the atomic intrinsics: they can only modify through the pointer they're given. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
46e8312fb733338e9af4db3757a1a8beddeae15a |
|
18-Sep-2009 |
Victor Hernandez <vhernandez@apple.com> |
Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst. Reviewed by Eli Friedman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
aae87cde50fd004f394816820e57b7ef0e697c3b |
|
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Use stripPointerCasts instead of doing the same manually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1d0be15f89cb5056e20e2d24faa8d6afb1573bca |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a7235ea7245028a0723e8ab7fd011386b3900777 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are metadata related, which I'm waiting on to avoid conflicting with Devang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e |
|
29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantExpr to 2.5 API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0b |
|
25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make AliasAnalysis and related classes use getAnalysisIfAvailable<TargetData>(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
eed707b1e6097aac2bb6b3d47271f6300ace7f2e |
|
25-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e922c0201916e0b980ab3cfe91e1413e68d55647 |
|
22-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of the Pass+Context magic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f2411744214dad8c71044aac2977ca77e9ebf028 |
|
20-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Revert the addition of hasNoPointerOverflow to GEPOperator. Getelementptrs that are defined to wrap are virtually useless to optimization, and getelementptrs that are undefined on any kind of overflow are too restrictive -- it's difficult to ensure that all intermediate addresses are within bounds. I'm going to take a different approach. Remove a few optimizations that depended on this flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3a7a68c10880c2a28387617b42d14d774e218727 |
|
18-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make BasicAliasAnalysis and Value::getUnderlyingObject use GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine that create GEPs that may overflow clear the NoOverflow value. Among other things, this partially addresses PR2831. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
001dbfebcbbded8c8e74b19e838b50da2b6c6fb5 |
|
16-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in our current context-passing stuff, which is also fixed here git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c23197a26f34f559ea9797de51e187087c039c42 |
|
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
07cf79ef537caff6d39145f190a28a336e629b6f |
|
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
"LLVMContext* " --> "LLVMContext *" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
508955156a25a9abc470a29e1760aa176d341cf9 |
|
06-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Thread LLVMContext through the constant folding APIs, which touches a lot of files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e7b6118a51eb3b523c36c7b2f2e90e617eac19da |
|
23-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Remove unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
72776d219014f6b07485e7dcc5a818849904e720 |
|
27-May-2009 |
Dan Gohman <gohman@apple.com> |
Teach BasicAliasAnalysis to understand constant gep indices that fall beyond their associated static array type. I believe that this fixes a legitimate bug, because BasicAliasAnalysis already has code to check for this condition that works for non-constant indices, however it was missing the case of constant indices. With this change, it checks for both. This fixes PR4267, and miscompiles of SPEC 188.ammp and 464.h264.href. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
777d2306b36816a53bc1ae1244c0dc7d998ae691 |
|
09-May-2009 |
Duncan Sands <baldrick@free.fr> |
Rename PaddedSize to AllocSize, in the hope that this will make it more obvious what it represents, and stop it being confused with the StoreSize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d869b3847f1dee78e1e4e1ed3cb41bd3ab0a079c |
|
14-Feb-2009 |
Duncan Sands <baldrick@free.fr> |
Generalize some alias analysis logic from atomic intrinsics to any IntrWriteArgMem intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
826f7cebfd347bf2218ba35486bc13623523ed7f |
|
13-Feb-2009 |
Nick Lewycky <nicholas@mxc.ca> |
BasicAA was making the assumption that a local allocation which hadn't escaped couldn't ever be the return of call instruction. However, it's quite possible that said local allocation is itself the return of a function call. That's what malloc and calloc are for, actually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e79422096ea5319a365d160693d0957a2a4df75e |
|
06-Feb-2009 |
Owen Anderson <resistor@mac.com> |
Refactor my previous change to maintain the distinction between AliasAnalysis and BasicAliasAnalysis. This involves some wider changes because it folds away some never-used methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fe9388ccb4d2449e8e6a62053479a0ba74ae0b2d |
|
04-Feb-2009 |
Owen Anderson <resistor@mac.com> |
Finish making AliasAnalysis aware of the fact that most atomic intrinsics only dereference their arguments, and enhance BasicAA to make use of this fact when computing ModRef info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a5f81bba4ab18d6129774d4d67495f14b6f64375 |
|
03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Move isIdentifiedObject and isNoAliasCall into AliasAnalysis.cpp since they are useful to analyses other than BasicAliasAnalysis.cpp. Include the full comment for isIdentifiedObject in the header file. Thanks to Chris for suggeseting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3311a1f8f0d8a2c6d940802bbb95eba0b801a615 |
|
30-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Fix a post-RA scheduling dependency bug. If a MachineInstr doesn't have a memoperand but has an opcode that is known to load or store, assume its memory reference may alias *anything*, including stack slots which the compiler completely controls. To partially compensate for this, teach the ScheduleDAG building code to do basic getUnderlyingValue analysis. This greatly reduces the number of instructions that require restrictive dependencies. This code will need to be revisited when we start doing real alias analysis, but it should suffice for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8556d2a7f155c7edfaf454a3acda8ce28863c5e4 |
|
18-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
BasicAliasAnalysis and FunctionAttrs were both doing very similar pointer capture analysis. Factor out the common logic. The new version is from FunctionAttrs since it does a better job than the version in BasicAliasAnalysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7f85bb6f83440382ed5154f2a7ba7756acda6160 |
|
18-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
add a comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ceb4d1aecb9deffe59b3dcdc9a783ffde8477be9 |
|
12-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
Rename getABITypeSize to getTypePaddedSize, as suggested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d4a2700fdc5bc8ac50084fcb39155e01e86168d5 |
|
12-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
make tblgen autogenerate the nocapture intrinsics for llvm.memcpy/memset/memmove. This allows removal of some hackish code from basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
91c9c31033ff8166289bfee050b02bb6b586d510 |
|
05-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
When checking if an Argument escapes, check if the argument is marked nocapture - no need to analyze the argument if the answer is already known! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f23d0d392ab47e191e1bbd17dc7487b9d461485c |
|
19-Dec-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Resubmit support for the 'nocapture' attribute. The problematic part of this patch is that we were out of attribute bits, requiring some fancy bit hacking to make it fit (by shrinking alignment) without breaking existing users or the file format. This change will require users to rebuild llvm-gcc to match llvm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6fa311c2338391b0f332c062b3140c6df139a949 |
|
16-Dec-2008 |
Bill Wendling <isanbard@gmail.com> |
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1314f20283f47ef655b16623ce1e8e7266f8342e |
|
15-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Teach basicaa to use the nocapture attribute when possible. When the intrinsics are properly marked nocapture, the fixme should be addressed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b957bda0bcb81c88ed4464d07100c349af76890f |
|
10-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Allow basicaa to walk through geps with identical indices in parallel, allowing it to decide that P/Q must alias if A/B must alias in things like: P = gep A, 0, i, 1 Q = gep B, 0, i, 1 This allows GVN to delete 62 more instructions out of 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
20d6f0982ad33818cfa141f80157ac13e36d5550 |
|
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Teach BasicAA::getModRefInfo(CallSite, CallSite) some tricks based on readnone/readonly functions. Teach memdep to look past readonly calls when analyzing deps for a readonly call. This allows elimination of a few more calls from 403.gcc: before: 63 gvn - Number of instructions PRE'd 153986 gvn - Number of instructions deleted 50069 gvn - Number of loads deleted after: 63 gvn - Number of instructions PRE'd 153991 gvn - Number of instructions deleted 50069 gvn - Number of loads deleted 5 calls isn't much, but this adds plumbing for the next change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1832705b06e0378040c5fc94042fd0b0a9ee5b61 |
|
08-Dec-2008 |
Duncan Sands <baldrick@free.fr> |
Fix comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
295d4e953a1214f60632220b9fcb31c1af8b0c27 |
|
08-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Some minor optimizations for isObjectSmallerThan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b2b32fd3fe22ca6b165d9c21d7ec0bcd2af105f5 |
|
24-Nov-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Seriously strengthen the guarantee offered by noalias on a function's return value. It must now be as if the pointer were allocated and has not escaped to the caller. Thanks to Dan Gohman for pointing out the error in the original and helping devise this definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
02ff308aa1c165d37fcf35f618243180ee68eedd |
|
24-Nov-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Extend the 'noalias' attribute to function return values. This is intended to indicate functions that allocate, such as operator new, or list::insert. The actual definition is slightly less strict (for now). No changes to the bitcode reader/writer, asm printer or verifier were needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5d0392c6b370758750b397e254a6c6f028479969 |
|
01-Oct-2008 |
Duncan Sands <baldrick@free.fr> |
Factorize code: remove variants of "strip off pointer bitcasts and GEP's", and centralize the logic in Value::getUnderlyingObject. The difference with stripPointerCasts is that stripPointerCasts only strips GEPs if all indices are zero, while getUnderlyingObject strips GEPs no matter what the indices are. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
eaf42abab6d465c38891345d999255871cf03943 |
|
24-Sep-2008 |
Devang Patel <dpatel@apple.com> |
s/ParameterAttributes/Attributes/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ae73dc1448d25b02cabc7c64c86c64371453dda8 |
|
04-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up several unbeseeming casts from pointer to intptr_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
25df20f169eb90d2e5f9cff3018a4d935ee5d796 |
|
16-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
simplify some code by using a helper function. This really really wants a 'nocapture' predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
defa1c8034c5d69b1b91fc970f5faef255bdc660 |
|
16-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
move a bunch of predicates up into their own section in this file, no other changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e7275794d399615e8bde0dfb69b02934549e4fb6 |
|
16-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
Other parts of this code treat noalias arguments as objects for the purposes of escape analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
845f0d2f0fd4a268ca1b3df9afb3de523f6dfa9d |
|
16-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
If we are checking to see if the result of a call aliases a pointer derived from a local allocation, if the local allocation never escapes, the pointers can't alias. This implements PR2436 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a413960a4847b996e48ebad5c41f094df441641d |
|
16-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
Refactor basicaa's main alias function somethin' fierce. This fixes several minor bugs (such as returning noalias for comparisons between external weak functions an null) but is mostly a cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
98e3a6829aaf070a8893a164d6dc8c75f9f9feaa |
|
02-Jun-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Fixes PR2395. Looking for a constant in a GEP tail (when the first GEP is longer than the second one) should stop after finding one. Added break instruction guarantees it. It also changes difference between offsets to absolute value of this difference in the condition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
844731a7f1909f55935e3514c9e713a62d67662e |
|
13-May-2008 |
Dan Gohman <gohman@apple.com> |
Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e47d98200e4181e0558fc761c4145ccc727961af |
|
21-Apr-2008 |
Duncan Sands <baldrick@free.fr> |
Fix a "large integer implicitly truncated to unsigned type" warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
21d31a8d94eb260635c0ecfc81d6793a54fe56d0 |
|
15-Apr-2008 |
Dale Johannesen <dalej@apple.com> |
Don't assume a tail call can't reference a byval argument to the outer function, this isn't correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4f4c28f75f74fe557efb63feaf5f4f8bf639dcd5 |
|
20-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Restore isCFGOnly property of various analysis passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c758209153ca0f6da6737f25ada269c573fba456 |
|
19-Mar-2008 |
Devang Patel <dpatel@apple.com> |
PassInfo keep tracks whether a pass is an analysis pass or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ec5ec88d15b0aab050141b7247ac0335ebcb97ac |
|
19-Feb-2008 |
Duncan Sands <baldrick@free.fr> |
Fix a compiler warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
851bfff50f7251e4d00b5fffbb5e140544cc4a63 |
|
19-Feb-2008 |
Owen Anderson <resistor@mac.com> |
In addition to arguments passed to it, memcpy (and all other calls) can ModRef pointers that alias their arguments as well. This fixes PR2057. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bb494bcb0e3b25297412d609eec774edccab7575 |
|
18-Feb-2008 |
Chris Lattner <sabre@nondot.org> |
don't bother calling getUnderlyingObject for non-pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ef562471cebd643288a19fca1ece8c52e70ceff0 |
|
18-Feb-2008 |
Owen Anderson <resistor@mac.com> |
Since we're not checking for the more general AllocationInst first, we need to explicitly check that Object is an Argument before casting it to one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
26d914ada39516974d9fb97ea7504329d3822501 |
|
18-Feb-2008 |
Owen Anderson <resistor@mac.com> |
This check is not correct for mallocs, so exclude them earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ae708a3d91a9babfa171760f15d0fdcedd674d0d |
|
18-Feb-2008 |
Owen Anderson <resistor@mac.com> |
Fix a comment, and a bug where we weren't applying the tail call logic in cases that failed the first test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9aa7c35cee0eac0b84212f01abb41ca923f70ec2 |
|
18-Feb-2008 |
Owen Anderson <resistor@mac.com> |
Fix bugs that Chris noticed in my last patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
0ab5a4ae552765069baf4a45fcc26dba817020f9 |
|
18-Feb-2008 |
Chris Lattner <sabre@nondot.org> |
bitcasts of pointers are always pointers. If we see a memcpy of a pointer, make sure to check later uses of the pointer as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9b636cb3385376faa7f33a943cac7d40bff1531a |
|
17-Feb-2008 |
Owen Anderson <resistor@mac.com> |
Teach getModRefInfo that memcpy, memmove, and memset don't "capture" memory addresses. Also, noalias arguments are be considered "like" stack allocated ones for this purpose, because the only way they can be modref'ed is if they escape somewhere in the current function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d087480166d8f0ec2a44732c7ec087f4eb1ba527 |
|
24-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
getUnderlyingObject can return null, handle this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fd687500384803311556571989dc14cd84786904 |
|
24-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Teach basicaa that 'byval' arguments define a new memory location that can't be aliased to other known objects. This allows us to know that byval pointer args don't alias globals, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4ba8cfc5a4e98dbe55529bb2a0de17565e90c128 |
|
13-Dec-2007 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Make these loops follow GetGEPOperands() behavior. Let: %q = GEP %p, X, ... If %p is a GEP, we can chase baseptr further, only if X==0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f88380ba2cf472db6576a8534315449931e8cf50 |
|
09-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Fix PR1782, patch by Wojtek Matyjewicz! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a3355ffb3d30d19d226bbb75707991c60f236e37 |
|
03-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Rather than having special rules like "intrinsics cannot throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
dff6710717b159f089c76a07eda074eb6347eb92 |
|
01-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Integrate the readonly/readnone logic more deeply into alias analysis. This meant updating the API which now has versions of the getModRefBehavior, doesNotAccessMemory and onlyReadsMemory methods which take a callsite parameter. These should be used unless the callsite is not known, since in general they can do a better job than the versions that take a function. Also, users should no longer call the version of getModRefBehavior that takes both a function and a callsite. To reduce the chance of misuse it is now protected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
afa3b6da11bc05281bcf09e45de9e037e0ee5011 |
|
28-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Add some convenience methods for querying attributes, and use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
dc024674ff96820d6020757b48d47f46d4c07db2 |
|
27-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Fix PR1146: parameter attributes are longer part of the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e4dc717585d5b891d187248352cbbc8d2438da96 |
|
23-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Ding dong, the DoesntAccessMemoryFns and OnlyReadsMemoryFns tables are dead! We get more, and more accurate, information from gcc via the readnone and readonly function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
920653d41e101787cad4b733ae5c3d4241aa0cec |
|
22-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Teach alias analysis about readnone/readonly functions. Based on a patch by Török Edwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ee22be064ecfd9d49ac43dd5be998e8ea931ca57 |
|
16-Nov-2007 |
Tanya Lattner <tonic@nondot.org> |
Fix for PR1801 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9907cb12ae431ed6168bbb93088195b530b62ce8 |
|
06-Nov-2007 |
Chris Lattner <sabre@nondot.org> |
Fix PR1774 and BasicAA/2007-11-05-SizeCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
514ab348fddcdffa8367685dc608b2f8d5de986d |
|
01-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Executive summary: getTypeSize -> getTypeStoreSize / getABITypeSize. The meaning of getTypeSize was not clear - clarifying it is important now that we have x86 long double and arbitrary precision integers. The issue with long double is that it requires 80 bits, and this is not a multiple of its alignment. This gives a primitive type for which getTypeSize differed from getABITypeSize. For arbitrary precision integers it is even worse: there is the minimum number of bits needed to hold the type (eg: 36 for an i36), the maximum number of bits that will be overwriten when storing the type (40 bits for i36) and the ABI size (i.e. the storage size rounded up to a multiple of the alignment; 64 bits for i36). This patch removes getTypeSize (not really - it is still there but deprecated to allow for a gradual transition). Instead there is: (1) getTypeSizeInBits - a number of bits that suffices to hold all values of the type. For a primitive type, this is the minimum number of bits. For an i36 this is 36 bits. For x86 long double it is 80. This corresponds to gcc's TYPE_PRECISION. (2) getTypeStoreSizeInBits - the maximum number of bits that is written when storing the type (or read when reading it). For an i36 this is 40 bits, for an x86 long double it is 80 bits. This is the size alias analysis is interested in (getTypeStoreSize returns the number of bytes). There doesn't seem to be anything corresponding to this in gcc. (3) getABITypeSizeInBits - this is getTypeStoreSizeInBits rounded up to a multiple of the alignment. For an i36 this is 64, for an x86 long double this is 96 or 128 depending on the OS. This is the spacing between consecutive elements when you form an array out of this type (getABITypeSize returns the number of bytes). This is TYPE_SIZE in gcc. Since successive elements in a SequentialType (arrays, pointers and vectors) need to be aligned, the spacing between them will be given by getABITypeSize. This means that the size of an array is the length times the getABITypeSize. It also means that GEP computations need to use getABITypeSize when computing offsets. Furthermore, if an alloca allocates several elements at once then these too need to be aligned, so the size of the alloca has to be the number of elements multiplied by getABITypeSize. Logically speaking this doesn't have to be the case when allocating just one element, but it is simpler to also use getABITypeSize in this case. So alloca's and mallocs should use getABITypeSize. Finally, since gcc's only notion of size is that given by getABITypeSize, if you want to output assembler etc the same as gcc then getABITypeSize is the size you want. Since a store will overwrite no more than getTypeStoreSize bytes, and a read will read no more than that many bytes, this is the notion of size appropriate for alias analysis calculations. In this patch I have corrected all type size uses except some of those in ScalarReplAggregates, lib/Codegen, lib/Target (the hard cases). I will get around to auditing these too at some point, but I could do with some help. Finally, I made one change which I think wise but others might consider pointless and suboptimal: in an unpacked struct the amount of space allocated for a field is now given by the ABI size rather than getTypeStoreSize. I did this because every other place that reserves memory for a type (eg: alloca) now uses getABITypeSize, and I didn't want to make an exception for unpacked structs, i.e. I did it to make things more uniform. This only effects structs containing long doubles and arbitrary precision integers. If someone wants to pack these types more tightly they can always use a packed struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ef1502925851c813a57bb2257be3026e9de1fdd1 |
|
26-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Make a comment better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f92ff03f7124bdd1da31863a47a0c9af84ef6f23 |
|
25-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Fix for PR1741. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
718cb665ca6ce2bc4d8e8479f46a45db91b49f86 |
|
07-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Add lengthof and endof templates that hide a lot of sizeof computations. Patch by Sterling Stein! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
df344febe27b8fa68424032c4181e494307d6eaf |
|
05-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Missing break. Patch by Wojciech Matyjewicz. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a583990ec83a4773608084a9694943ddd268e571 |
|
06-Aug-2007 |
Chandler Carruth <chandlerc@gmail.com> |
This resolves a regression of BasicAA which failed to find any memory information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
8c5287086c02cff4a905db2e9c7735a82ed9137f |
|
05-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Upgrade BasicAliasAnalysis::getModRefBehavior to not call Value::getName, which dynamically allocates the string result. This speeds up dse on the testcase from PR1432 from 0.3781s to 0.1804s (2.1x). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a326b5da4bdab865ba440b57ae4487fbb16a0b7d |
|
02-Aug-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Implement review feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
406bfa3e21e8fab3deab240c30c763e78eddf2f5 |
|
02-Aug-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Teach BasicAA about noalias parameter attributes, but do it correctly this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
321ff4e6d55401d8f30b9c10023f6fea1803ba18 |
|
31-Jul-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Revert overly aggressive interpretation of noalias git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
50192c215252cf20e0b205ee2012272aa9b9b1a2 |
|
31-Jul-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
07a96765daedf180a7102d39fe56c499878312b7 |
|
16-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Fix comments about vectors to use the current wording. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a6900c7ad9752a27e2e3b1bd78b2af3b1381176d |
|
02-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
03265f98a3b2f49ecd0c01b868e0a9c844c3eeb7 |
|
18-Jun-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Make BasicAliasAnalysis correctly register itself. Patch by Devang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1997473cf72957d0e70322e2fe6fe2ab141c58a6 |
|
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3e15bf33e024b9df9e89351a165acfdb1dde51ed |
|
02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
794fd75c67a2cdc128d67342c6d88a504d186896 |
|
01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
843f0767acd05baed952d39e77ea89b438430a4f |
|
19-Apr-2007 |
Zhou Sheng <zhousheng00@gmail.com> |
Make use of ConstantInt::isZero instead of ConstantInt::isNullValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9d6565a5b1fbc4286d6ee638d8f47a3171a9ed7e |
|
15-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1195: Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a77600e8612c51e75f55710ce9af7eb8aba8b083 |
|
10-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Switch some std::vector's to SmallVectors. This speeds up -load-vn -gcse by 6% on tramp3d. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
fd1ad3b730a087555655b55d6345f6c0677cd7bd |
|
10-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
modify CheckGEPInstructions to take a pointer and size instead of a vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
829621c59e9e4e2f4e15cd562688fae9f82ea549 |
|
10-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
eliminate use of TargetData::getIndexedOffset that takes a vector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d7d83db5f22d05e5b14b6b1d838668222113c83a |
|
06-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce LLVM's footprint and speed up linking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 |
|
30-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
241607d01648e85754f72de945684c7a8641a292 |
|
14-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
fit to 80 cols. Remove now-extraneous checks for ptr->ptr bitcasts. Fix PR1109 and Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll. We need to consider arbitrary sized objects when checking for nested GEP offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
0bb38313ae78a621a0596dc1089522ad5255e399 |
|
12-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
GEP operands can't be bools git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
579dca12c2cfd60bc18aaadbd5331897d48fec29 |
|
12-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Implement review feedback for the ConstantBool->ConstantInt merge. Chris recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4fe16d607d11e29d742208894909733f5ad01f8f |
|
11-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Rename BoolTy as Int1Ty. Patch by Sheng Zhou. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6b6b6ef1677fa71b1072c2911b4c1f9524a558c9 |
|
11-Jan-2007 |
Zhou Sheng <zhousheng00@gmail.com> |
For PR1043: Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c5b206b6be61d0d933b98b6af5e22f42edd48ad1 |
|
31-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e4d87aa2de6e52952dca73716386db09aad5a8fd |
|
23-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d977d8651a5cd26a3e1088267f31cade405f2adf |
|
13-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Replace inferred getCast(V,Ty) calls with more strict variants. Rename getZeroExtend and getSignExtend to getZExt and getSExt to match the the casting mnemonics in the rest of LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e81561909d128c6e2d8033cb5465a49b2596b26a |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a5b31ca85686062408bca0f0a8aa43f9fe58e644 |
|
29-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Convert to using llvm streams instead of iostreams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3da59db637a887474c1b1346c1f3ccf53b6c4663 |
|
27-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c2e6801cc7c85deaaa6bc02186e2efa1bba065fe |
|
13-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
remove redundant code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7765d71304f0f26ab348deb41af9b6ae033aae4d |
|
03-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
Fix BasicAA/2006-11-03-BasicAAVectorCrash.ll by handling out-of-range vector accesses like we handle out-of-range array accesses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3ed469ccd7b028a030b550d84b7336d146f5d8fa |
|
02-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR786: Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b83eb6447ba155342598f0fabe1f08f5baa9164a |
|
20-Oct-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
90aa839c88776e3dd0b3a798a98ea30d85b6b53c |
|
04-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
Fix more static dtor issues git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a5370172b64bed5daf8e2869d7bf7cb52f80d6b7 |
|
28-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
simplify AnalysisGroup registration, eliminating one typeid call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7f8897f22e88271cfa114998a4d6088e7c8e8e11 |
|
28-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
eliminate RegisterOpt. It does the same thing as RegisterPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a4f0b3a084d120cfc5b5bb06f64b222f5cb72740 |
|
27-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9525528a7dc5462b6374d38c81ba5c07b11741fe |
|
29-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Use hidden visibility to make symbols in an anonymous namespace get dropped. This shrinks libllvmgcc.dylib another 67K git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4f1bd9e9963239c119db70070db1d68286b3de7e |
|
08-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
192913e281a0e9b97275fa1b84da96b02397323e |
|
01-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change from using a stub function to a stub variable for passing to the IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
cad25379d30b80c7d1a61271aed18938b01617e2 |
|
09-Mar-2006 |
Chris Lattner <sabre@nondot.org> |
Use autogenerated mod/ref info for intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2cfdd2854c7bcc050758749a2e28e5f7b3c1b35f |
|
04-Mar-2006 |
Chris Lattner <sabre@nondot.org> |
Fix a crash compiling Obsequi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5a3cf8de5db8d2ca91e77132a40b590c27f497ec |
|
04-Mar-2006 |
Chris Lattner <sabre@nondot.org> |
Be more conservative with our symbolic alias analysis. In particular, don't assume that A[1][0] and A[0][i] can't alias. "i" might be out of range, or even negative. This fixes a miscompilation of 188.ammp (which does bad pointer tricks) with the new CFE. Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6fb3bd6a658940287789198d3207b0da04c0a4e6 |
|
14-Jan-2006 |
Nate Begeman <natebegeman@mac.com> |
Add bswap intrinsics as documented in the Language Reference git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f6947c1bb84f1cd077987fe57f6c33f8319168e7 |
|
11-Nov-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
prevent cse of readcyclecounter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
51b8d54922350b7e1c2cd5a5183ef2c5f5d1b1d5 |
|
11-Nov-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
continued readcyclecounter support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ab466d769aa33a6973a1e6e11fe2b803a7dbdabc |
|
24-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
floor/ceil don't read/write memory. This allows gcse to eliminate 6 calls in mesa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d3513e026b9afc82000c4ed67a3b49acee4e97da |
|
11-Jul-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
Remove glibc specific functions, and mark a couple as C99 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d9793e6c0ad590fb168e93c41f03467a6fdece1d |
|
11-Jul-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
because on alpha: # define errno (*__errno_location ()) *shakes head git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
42e3c81c5f23c42ba2415a8f797d430dad387734 |
|
09-May-2005 |
Chris Lattner <sabre@nondot.org> |
By definition, 'tail' calls cannot access the stack frame of their caller. Expose this as a simple form of mod/ref information. This implements BasicAA/tailcall-modref.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
998fffdda1109dc603e0cae32f745ae8c8b640d4 |
|
06-May-2005 |
Chris Lattner <sabre@nondot.org> |
These intrinsics do not access memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
eed37bad011c8d3843611ecabfaf279eebf68a02 |
|
30-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5b103c20e37638e8665c0b64b4166ca59bc8b369 |
|
28-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
These functions can set errno! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2b37d7cf28b1382420b5e4007042feeb66d21ac8 |
|
21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
50bc9ef507090176773aa323e4d2d9413cc9d223 |
|
09-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilation that Alkis found with Java, thanks Alkis! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
534927d82de6d1be0f6e939263eeb309ad135661 |
|
08-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Add even more missing createXxxPass functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5226f6a901241c0aa1a8fbdccf1abb7a07e29d18 |
|
15-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a bug in -no-aa that caused two DSGraph tests to XPASS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
0af024c5d00c2a2d0e35ba33f4aaf4ed3fadfae2 |
|
15-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Adjust to new alias analysis interfaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c49741d047f7cf1143aa34a3a97379a8d1b5f0e5 |
|
09-Dec-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add testcase and fix for yet another case where we query the size an abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a95cf3024b9a3c3ed6bf3e862d956ce46a8cbebe |
|
09-Dec-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add testcase and fix for another case where we query the size an abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4a7ebfa4111305ea22fc753d4f029eed88149662 |
|
07-Dec-2004 |
Reid Spencer <rspencer@reidspencer.com> |
For PR387:\ Add getModRefInfo method to avoid overloaded virtuals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
eaf8f9c667b15cf09b4608558cc24675e92ad2cd |
|
28-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4e61676b568e6a30759d08073d174a0694dfea00 |
|
26-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
The trick with globals actually works with allocas and malloc too git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
0a1ac907c30cd3a5d0d8f96c1015bdb1c7461290 |
|
26-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
A store or load cannot alias a global if the accessed amount is larger then the global. This implements Regression/Analysis/BasicAA/global-size.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bc2a99b4803487202e5521839b7a9e4d5869e5c8 |
|
17-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.ll by saying what we mean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a35339dfb67cec3d7e9783c9c6d3de110ea6bafe |
|
16-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Be more careful about looking for constants when we really want constantint's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
20aa474f8fbebde588edc101b90e834df28ce4ce |
|
03-Sep-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fixes to make LLVM compile with vc7.1. Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
eb62bc77b68e8d2350453d15aca300f481a612d5 |
|
29-Jul-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Merge i*.h headers into Instructions.h as part of bug403. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
730b1ad2c4e33dd8b0f22744ece4f884f44c816a |
|
29-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx This also fixes the miscompilation of MallocBench/gs with dead store elimination enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
db5b80a7f2521a1f9ca8f339fdac2b6e11cc422a |
|
27-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Make basicaa a bit more aggressive git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e181b94309e34f9c16830a0a2a22e1c3c4b7f7ac |
|
27-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
basic-aa can actually provide simple mod/ref info git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
05e47987ee50d7d2bb1c9bde12a9e4a7636868eb |
|
27-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
This was implemented back in march git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bb8f43c8fcac4688f25c6d3a46651a0b1893eb03 |
|
21-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Do not ignore casts unless they are pointer-pointer casts. This caused us to miscompile the SingleSource/Regression/C++/pointer_member.cpp program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e840434755e2165ac20ec55e9d5ff3d2defac2d2 |
|
18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
bug 122: - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
f70770abd53cf275368acd08f1f494301f4ce138 |
|
14-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
689835a2d98ddd1e3766f5ce6816c8d908e8fff1 |
|
19-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data. This is a regression from 1.2, though noone uses -no-aa anyway git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4ee623de0b0fdaa2d5caa75bd65bc300cb889962 |
|
15-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
isnan is dead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9f35196fc22fc807eb5fd6d0e5c58685bf79c056 |
|
11-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
llvm.isnan doesn't access memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b52f44086006434039b0c5df55aaac1079d26b96 |
|
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Move the -no-aa AA implementation into this file since both of these alias analysis implementations are special: they do not autoforward to a chained implementation of alias analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7512c08bfd9f3f34f718803d21130f8e061adebc |
|
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Hrm, operator new and new[] do not belong here. We should not CSE them! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bec63d606f31679cb41777315325b96a65dfe3f4 |
|
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
operator new & operator new[] do not kill any legal memory locations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
65585aa3fcb6c70ab36fb8965ac864378f5e3d44 |
|
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Allow clients to be more efficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b903fc5c1b62ebf7f9339d63a623596be792ef00 |
|
10-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a couple of more functions that cannot access memory (the intrinsics) and don't write to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
28977af72a11fcad5d1b54d7a96b3df02828f6fc |
|
05-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Support getelementptr instructions which use uint's to index into structure types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
002be767333e4253df6c5477dda28890dbd3488c |
|
16-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add some missing functions. Make sure to handle calls together in case the client has another VN implementation that can VN calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bbcc147220d885b129743c009c3e46a7a3d8ab2e |
|
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a minor bug, implementing GCSE/call_pure_function.ll Also, add some stuff I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4244bb5bbd6fd815f86fc121ca507c6bd04459b3 |
|
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Teach basicaa about some stdc functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
7a82ba0510aece59f59fe988ab273c3542b4d559 |
|
13-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a couple of minor problems. Because PHI nodes can use themselves, this could cause infinite loops. Also, getUnderlyingObject can return null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
04b75935462642641469fb264aab9f1110ce2666 |
|
12-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Implement mod/ref analysis for a trivial case where locals don't escape. This comes up when you have a local array on the stack and you never pass the address of elements around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2d6a6aa1376c220c60f524c4e028c3fb42d2a398 |
|
01-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Expand on my note-to-self git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
e735b2de30b05f5469026ed662975d9e692f0242 |
|
22-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a soon-to-be-missing #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a4dd6743e7b300a62b0ee288912657123dafe2f6 |
|
30-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Fix thinko git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
bc1daaa8bb13f2cce6801f49928697fcde095a2e |
|
30-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Implement the pointsToConstantMemory() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6eb88d44c93f782a988039a047a9b80354a81887 |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate use of ConstantHandling itf git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
6cdc42b3d101b698266421f075fdd8ea47c1a66a |
|
28-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
4a83088b307968c25d11ea3e7de254cfb1771aeb |
|
12-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Factor out some duplicated code, implement the rest of the cases in BasicAA/2003-12-11-ConstExprGEP.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b307c88fe799eb69c37bee2840d9fde93d407e3a |
|
11-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Fix PR86. This makes basicaa _SIGNIFICANLY_ more aggressive with getelementptr's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c54735e7cbd639a612837d93bf75d73507dd7d47 |
|
11-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Fix a glaring bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
88d3e03429bf3b0e78b1cccbad8a9246a7fdb23e |
|
11-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Realize the gep P, <zeros> must aliases P. This is a partial fix for PR 86 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
863914578a10d4cf83e1fdc5d7bc3242838c8e6f |
|
11-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
With Brian's change to AA.h we can now clean out this uglyness git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9d7c9ea05316bab07b2b83caa357dac220078a65 |
|
25-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Fix file header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
1af55e169396dfa057f0a6067fa8b16eb4317909 |
|
25-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Use gep_type_begin/end instead of looking for ubytes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ec4e8085e83fa1f14a82849548f7c1ad82009ade |
|
25-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Finegrainify namespacification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d0fde30ce850b78371fd1386338350591f9ff494 |
|
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b576c94c15af9a440f69d9d03c2afead7971118c |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM project notice to the top of every C++ source file. Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c1820036bdedea566c89d2bd47bbbbe4384bdc73 |
|
20-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: BasicAA/2003-09-19-LocalArgument.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
2f2d06506c9167dada05b11debe717334de972d4 |
|
11-Sep-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Fixed spelling and grammar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
5bfccb9defee2026e113c1fd694eb29b99d4f8a6 |
|
03-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Reuse the values if they are constants: this is important so that we index into the right structure field This fixes bug: BasicAA/2003-07-03-BasicAACrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
388f669d956c08571108f26a5371e02269e662f5 |
|
17-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Implement handling of constantexprs for disambiguation. This implements BasicAA/featuretest.ll:constexpr_test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
920bd79f344acfabe23c8fb00363c58532426753 |
|
02-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Be more robust in the face of undefined behavior. Fixes bug: BasicAA/2003-06-01-AliasCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
9098f64ccce3c3e110e9ef4f08aa2842add4ef08 |
|
21-May-2003 |
Chris Lattner <sabre@nondot.org> |
Fix Bug: BasicAA/2003-05-21-GEP-Problem.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
807b7055b21c3262f6dfb15bbe22ef648e73c5a9 |
|
25-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Fix BasicAA/2003-04-25-GEPCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
b581148bd9d3fea008b5fdd58681671a3d738f19 |
|
23-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: BasicAA/2003-04-22-GEPProblem.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
3e76157d5afd1ae2b4dc6e41987ab7f9837408ab |
|
06-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Remove unneccesary forward decl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
506b4e4368601da94547990213fcd4efc4436163 |
|
04-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: BasicAA/2003-03-04-GEPCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
ff2d556bab95f32c81a5d1fbf3061d521547ac0a |
|
03-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Fix a problem with negative indexes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
c330ee6f0245569ade06f72af30bd85ae3cb3341 |
|
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: BasicAA/2003-02-26-AccessSizeTest.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
a36635aba78d46d0e80dd296c3b0aff56ca94d5e |
|
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Fix several bugs in basic-aa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|
d501c13b7d6ce418b0144886dde16525d13f835a |
|
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Move BasicAA pass out to it's own header file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/BasicAliasAnalysis.cpp
|