81e480463d8bb57776d03cebfd083762909023f1 |
|
27-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Reimplement isPotentiallyReachable to make nocapture deduction much stronger. Adds unit tests for it too. Split BasicBlockUtils into an analysis-half and a transforms-half, and put the analysis bits into a new Analysis/CFG.{h,cpp}. Promote isPotentiallyReachable into llvm::isPotentiallyReachable and move it into Analysis/CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
717b3f02ffea4d093e775c3ed3ceac08991dbca9 |
|
18-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Give 'hasPath' a longer but clearer name 'isPotentiallyReachable'. Also expand the comment. No functionality change. This change broken out of http://llvm-reviews.chandlerc.com/D996 . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
37ade2b8015d86e73c62ab48a2ce5f0ce10de708 |
|
07-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Eliminate trivial redundant loads across nocapture+readonly calls to uncaptured pointer arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
9f5de6dadcdb9922ad8c8135a29e4abccec11671 |
|
28-May-2013 |
Michael Kuperstein <michael.m.kuperstein@intel.com> |
Make BasicAliasAnalysis recognize the fact a noalias argument cannot alias another argument, even if the other argument is not itself marked noalias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
de0eb19248f3053c07a5b1dad9c47b8435458337 |
|
31-Jan-2013 |
Dan Gohman <dan433584@gmail.com> |
Move isKnownNonNull out of AliasAnalysis.h and into ValueTracking.cpp since it isn't really an AliasAnalysis concept, and ValueTracking has similar things that it could plausibly share code with some day. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
c55bd47105ef8e362cfb2a2c97ee3e23145aca4d |
|
04-Jan-2013 |
Manman Ren <mren@apple.com> |
Memory Dependence Analysis: fix a miscompile that uses DT to approxmiate the reachablity. We conservatively approximate the reachability analysis by saying it is not reachable if there is a single path starting from "From" and the path does not reach "To". rdar://12801584 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
3e2d76c946ba753c2b11af192a52e25b6f9b46ff |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the attribute enums to query if a parameter has an attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
1f9855a814fd61207d7fd4586d97c467fa85db1c |
|
04-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use method to query for NoAlias attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
3a884f5c17ac32e34e7e62b4602a0d73eeda1ce8 |
|
14-May-2012 |
Chad Rosier <mcrosier@apple.com> |
Move the capture analysis from MemoryDependencyAnalysis to a more general place so that it can be reused in MemCpyOptimizer. This analysis is needed to remove an unnecessary memcpy when returning a struct into a local variable. rdar://11341081 PR12686 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
46cb5afdcd031c371c78201fb34291d9d48b2ee4 |
|
26-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Enhance alias analysis for atomic instructions a bit. Upgrade a couple alias-analysis tests to the new atomic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
667ccf231b57857ea9e36f1d93bd895242d58284 |
|
15-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc analysis passes that need to be aware of atomic load/store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
bddc1ca18a8ca23f6f145d2f5d006fa07e72a870 |
|
27-Apr-2011 |
Dan Gohman <gohman@apple.com> |
When analyzing functions known to only access argument pointees, only check arguments with pointer types. Update the documentation of IntrReadArgMem reflect this. While here, add support for TBAA tags on intrinsic calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
ab6acc6ecdc4585a55059e36d81481d1c26d3ff9 |
|
03-Jan-2011 |
Owen Anderson <resistor@mac.com> |
Stub out a new updating interface to AliasAnalysis, allowing stateful analyses to be informed when a pointer value has potentially become escaping. Implementations can choose to either fall back to conservative responses for that value, or may recompute their analysis to accomodate the change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
387f28aff41bae6a81311279b203a1281eaa443a |
|
16-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Make memcpyopt TBAA-aware. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
9dc9e81aa7412b329bbaf51a589a81475214802b |
|
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
getLocationForDest should work for memset as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
e90c5cb747631b315350e7ee7424048c7778bdf9 |
|
21-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add "getLocation" method to AliasAnalysis for getting the source and destination location of a memcpy/memmove. I'm not clear about whether TBAA works on these, so I'm leaving it out for now. Dan, please revisit this when convenient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
6d8eb156e6be727570b300bac7712f745a318c7d |
|
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add helper functions for computing the Location of load, store, and vaarg instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
68a6056dafd4913ce42606353ab1ff7208215ff2 |
|
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add a doesAccessArgPointees helper function, and update code to use it, and to be consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
c07661c1fa7fd646c1e904f2327ca7f0105fb322 |
|
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Teach AliasAnalysis about AccessesArgumentsReadonly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
c80cbf25402e4095fafbb15a2ab1b81cf6feda77 |
|
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Delete getIntrinsicModRefBehavior. Clients can just use the normal getModRefBehavior now, since it now understands intrinsics as well as normal functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
e46a3881fc74652b23c3b31ee487e0ca9a6a268a |
|
25-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Update comments; BasicAA is no longer necessarily the end of the chain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
852dda46251f50286b6d83425f39e20a5c7592e9 |
|
25-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
f3a925dc7a14ade42da442b49c304c064954c1d4 |
|
19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Consistently use AliasAnalysis::UnknownSize instead of hardcoding ~0u. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
325e2643559fcec8b0396dfa16e415cc86a22a09 |
|
13-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Analysis groups need to initialize their default implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
e9ef41a47d2ee637b6aed5d018c4d90019d987ac |
|
06-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Hide analysis group registration behind a macro, just like pass registration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
e26a7b5e21a49543a727b1b2524a934e73c89772 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Implement a proper getModRefInfo for va_arg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
b9db52dcbcf4279270eab972f3d560b4e5654260 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Be more conservative in the face of volatile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
9b8639c9bd98ae08d0fe3630e2d3421a9277564a |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
0c3f3358df14dcf9b30448d9482b35fe9c657ec8 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Yes, we can do better, but this is not the place for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
a41af344c2964573318a77e2b43eafd4d3804003 |
|
04-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Remove PointerAccessInfo, which nothing was using. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
14a498a48677eb1eaddd8329330df073224f9575 |
|
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make AliasAnalysis::getModRefInfo conservative in the face of volatility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
7c422ac216fe39fc9c402a704cf296cca9dc5b22 |
|
06-Jan-2010 |
Duncan Sands <baldrick@free.fr> |
Partially address a README by having functionattrs consider calls to memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
5753a4a0033da4add45f2e9930a4e1159d92a869 |
|
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Global Aliases are not identifiable objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
ddd8c450ece6a3c637441992852193a6c5b2fed6 |
|
13-Feb-2009 |
Duncan Sands <baldrick@free.fr> |
If a function only reads memory, then we know that... it only reads memory! The other change has no functional effect, it just seems more logical to go in order of decreasing knowledge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
d9289a54cdce925fb189c5558f694a241b6e6d04 |
|
06-Feb-2009 |
Owen Anderson <resistor@mac.com> |
Fix a crasher: we need to check that the function is non-null before using it! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
cd89525434810af74d2d3f882f0e0ac5c677e341 |
|
03-Feb-2009 |
Owen Anderson <resistor@mac.com> |
Teach AliasAnalysis that a bunch of the atomic intrinsics only dereference their arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
5a56bf631eef695b04bbd306b53d6094f7616b5e |
|
30-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix a copy+paste error in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
7915cbee4d6ecc8bc2daa9fb44833a134a25016b |
|
12-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Revert r44626, which turned off the use of readonly and readnone for functions with bodies because it broke llvm-gcc-4.2 bootstrap. It turns out that, because of LLVM's array_ref hack, gcc was computing pure/const attributes wrong (now fixed by turning off the gcc ipa-pure-const pass). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
5d84afdc836fa28d840449108206e850617a2a15 |
|
05-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Commit 44487 broke bootstrap of llvm-gcc-4.2. It is not yet clear why, but in the meantime work around the problem by making less use of readnone/readonly info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
c718288f4939258a51ec5ae0c5be7b1a05eb6898 |
|
02-May-2007 |
Lauro Ramos Venancio <lauro.venancio@gmail.com> |
Fix build error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
0cb83fcab50c5c7ce1f4d04d2b9ffb878a5a642c |
|
17-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Removed unneeded <iostream> #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
6df60a9effe4d20a48cfd9d105c0ab3c5dc3e690 |
|
07-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: Break the "IncludeFile" mechanism into its own header file and adjust other files accordingly. Use this facility for the IntrinsicInst problem which was the subject of PR800. More to follow on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
8cfd24df54025fcc56ce3707f1223958b9204813 |
|
24-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Make this more efficient by only making one virtual method call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
d433bde071c6056295db73944df348b843c1989c |
|
23-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Make this a bit more aggressive git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
5b3a4553c1da7e417a240379e2f510c77532c5c1 |
|
17-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Fix the missing symbols problem Bill was hitting. Patch contributed by Bill Wendling!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
2c20ef506f65f649fd9fb8823f8c7b0086b1ba5c |
|
08-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Properly extern this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
47b14a4a6a455c7be169cfd312fcbe796f0ad426 |
|
29-Jul-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix #includes of i*.h => Instructions.h as per PR403. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
954da37bb492b519f5c31dc360f2a142567e08b4 |
|
04-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Add #include <iostream> since Value.h does not #include it any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
5a24d70d99cc76be190ed6ebe37d09585046ddc3 |
|
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Changes to work with the changes to the AliasAnalysis interface. The -no-aa class is now in the BasicAliasAnalysis.cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
992860c44ed8d8b82c6b7fde6645123772965c65 |
|
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Deinline some virtual methods, provide better mod/ref answers through the use of the boolean queries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
f4d904d7e326c9cbed497ca681b6270170fd2020 |
|
30-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Improve mod/ref information based on the pointsToConstantMemory method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp
|
8dcd17c938a11fe7b16592a70170cc850c45dcc1 |
|
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add new -no-aa implementation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.cpp
|
14ac877e0a898ab46eeba1b0b72b8e5a9918179f |
|
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
- Checkin of the alias analysis work: * Takes into account the size of the memory reference to determine aliasing. * Expose mod/ref information in a more consistent way * BasicAA can now disambiguate A[i][1] and A[j][2] for conservative request sizes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
762d2f0897a453bab92800b7aaadb0872e98aabd |
|
09-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Implement knowledge in BasicAA that &A->field != &A and (P+1) != P git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
44f340250e3648e4bab6623d1546a3f84f3b29ef |
|
09-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
- Fix BasicAA to correctly detect the non-aliasness of A[1] & A[2] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
1dbd1b820f984a30e82ddbed70de45394bc6df3c |
|
07-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Don't bother counting alias results, allow the AliasAnalysisCounter to do that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
dc1ad196e1915e9dc6e3ba8271a0bdafd214e769 |
|
03-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add statistics to basicAA pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
75310d59c979f2c281427fcc59709bb375a7379f |
|
06-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Make query operations non-const to allow demand-driven analyses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
a6299345ee306f219170d58acf8b4c7b7f54518b |
|
08-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
* Add capability to recognize alias properties of the following common cases: - A[c1] cannot alias A[c2] where constants c1 != c2 - A[i] cannot alias B[j] if A & B are provably different arrays This should help out array based codes. For example, from bzip2 from spec, 3 additional loads can be GCSE'd, and _21_ additional loads can be LICMd due to this change. In a test example from the Spec GAP benchmark (vecffe.c), this change allows _52_ additional loads to be GCSE'd and _224_ additional LICM'd loads. Not bad for such a simple change. Other testcases show no change at all because they just don't use arrays. Not too suprising there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
04b9025450830e45aefae8be4f2a3411dbeea237 |
|
29-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Remove unneeded #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
f9355f636b6a7d59993081766dd0481bd08f545d |
|
23-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
doxygenize comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
22d8cd61436755a8bc15ff5dc660426ca1cb08d7 |
|
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Add missing #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|
53ad0edd361c724df623c082a8a37eaf762d1703 |
|
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Check-in new alias analysis infrastructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/AliasAnalysis.cpp
|