History log of /external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
11d78777d5ced531823abc0fd111e1c4594dc53e 22-Oct-2013 Manman Ren <manman.ren@gmail.com> TBAA: fix PR17620.

We can have a struct type with a single field and the field does not start
with 0. In that case, we should correctly update the offset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
e5f32cf3207da58359a6e3aeeb5b01205645f710 28-Sep-2013 Manman Ren <manman.ren@gmail.com> TBAA: try to fix the dragonegg bots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
9e81c3bdb216e7ca457acf6614591e5b807cf70c 27-Sep-2013 Manman Ren <manman.ren@gmail.com> TBAA: handle scalar TBAA format and struct-path aware TBAA format.

Remove the command line argument "struct-path-tbaa" since we should not depend
on command line argument to decide which format the IR file is using. Instead,
we check the first operand of the tbaa tag node, if it is a MDNode, we treat
it as struct-path aware TBAA format, otherwise, we treat it as scalar TBAA
format.

When clang starts to use struct-path aware TBAA format no matter whether
struct-path-tbaa is no, and we can auto-upgrade existing bc files, the support
for scalar TBAA format can be dropped.

Existing testing cases are updated to use the struct-path aware TBAA format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
0b3d39235aaed8bc66ccffb3942bf7b5f185329c 07-Sep-2013 Manman Ren <manman.ren@gmail.com> TBAA: add isTBAAVtableAccess to MDNode so clients can call the function
instead of having its own implementation.

The implementation of isTBAAVtableAccess is in TypeBasedAliasAnalysis.cpp
since it is related to the format of TBAA metadata.

The path for struct-path tbaa will be exercised by
test/Instrumentation/ThreadSanitizer/read_from_global.ll, vptr_read.ll, and
vptr_update.ll when struct-path tbaa is on by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
a5b314c27a585b979ac9c9da944aa3cec27d22a6 27-Apr-2013 Manman Ren <mren@apple.com> Struct-path aware TBAA: change the format of TBAAStructType node.

We switch the order of offset and field type to make TBAAStructType node
(name, parent node, offset) similar to scalar TBAA node (name, parent node).
TypeIsImmutable is added to TBAAStructTag node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
2ff97832e593926ea8dbdd5fc5bcf367475638a9 23-Apr-2013 Manman Ren <mren@apple.com> Struct-path aware TBAA: update getMostGenericTBAA

The tag is of type TBAANode when flag EnableStructPathTBAA is off.

Move implementation of MDNode::getMostGenericTBAA to TypeBasedAliasAnalysis.cpp
since it depends on how to interprete the MDNodes for scalar TBAA and
struct-path aware TBAA.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
4df1854f263180fcd04cee3347990afe34749a89 12-Apr-2013 Manman Ren <mren@apple.com> Aliasing rules for struct-path aware TBAA.

Added PathAliases to check if two struct-path tags can alias.
Added command line option -struct-path-tbaa.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
562b84b3aea359d1f918184e355da82bf05eb290 11-Apr-2011 Jay Foad <jay.foad@gmail.com> Don't include Operator.h from InstrTypes.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
326faecc3506fae441795b1f0c75e8b96bf11ce1 16-Dec-2010 Dan Gohman <gohman@apple.com> Update a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
d67ca9de89ea4e13c3e9832ecf587d09d16d65c8 16-Dec-2010 Dan Gohman <gohman@apple.com> Enable TBAA by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
c9d8a75e44a56828cb4adcb9f54ff5c825571ce4 12-Nov-2010 Dan Gohman <gohman@apple.com> Re-disable TBAA for now; it broke MultiSource/Applications/JM/lencod,
at least.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
b238536ada9f711e6cc1701860b71b292f350d08 12-Nov-2010 Dan Gohman <gohman@apple.com> Enable TBAA.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
a8598bec287108d0359880d33955759dc90cd5a1 08-Nov-2010 Dan Gohman <gohman@apple.com> Implement getModRefBehavior for TypeBasedAliasAnalysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
87c5c2f069fe18df5a372e6eb7bbca3be4d09fac 25-Oct-2010 Dan Gohman <gohman@apple.com> Support TBAA attachments on calls. This is somewhat experimental.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
0b2136927d54ab40353a0461437769eac187d807 25-Oct-2010 Dan Gohman <gohman@apple.com> Fix chaining in TBAA's pointsToConstantMemory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
ae92af6771f0a87b380706bc20e69d90bc0c1818 25-Oct-2010 Dan Gohman <gohman@apple.com> Only read one bit for testing for a readonly type, leaving the other
bits open for future uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
269008ee8336bb6519ed714e50fe5bb428b98a51 25-Oct-2010 Dan Gohman <gohman@apple.com> Add a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
ee135131b16390177c09c1620e322bcf38a78e0a 21-Oct-2010 Dan Gohman <gohman@apple.com> Add some more documentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
bc078c81e66cbd0263fb75f533a63ac7dd1f137d 21-Oct-2010 Dan Gohman <gohman@apple.com> Explain what "constant" means here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
de38897cfc49f09ffc84fb023a76c076f4b2d402 21-Oct-2010 Dan Gohman <gohman@apple.com> Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
ba13864483b696e7f8e2058c3a50b5d901f2213b 21-Oct-2010 Dan Gohman <gohman@apple.com> Factor out the main aliasing check into a separate function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
0b62f95ea81d8954c21a2ae54602be10e5e1bb7e 21-Oct-2010 Dan Gohman <gohman@apple.com> Fix comments; the type graph is currently a tree, not a DAG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
01b58f637c23e203dd95a4709bdd40cdfc31ffa9 18-Oct-2010 Dan Gohman <gohman@apple.com> Make TypeBasedAliasAnalysis default to doing nothing, with a command-line
option to enable it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
acf50f5136c6f1daca2e78db756514a88470516b 18-Oct-2010 Dan Gohman <gohman@apple.com> Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
c05d8aa6db088b0f2e2d569d59d87de11cec9c29 15-Oct-2010 Dan Gohman <gohman@apple.com> Tolerate a null parent pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
633e7023177837537adabf775395ebe7ab51b38f 12-Oct-2010 Dan Gohman <gohman@apple.com> Support AA chaining.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
e6291ae96efa1e27ca6606ac59b17e35d45c057e 15-Sep-2010 Dan Gohman <gohman@apple.com> Convert TBAA to use the new TBAATag field of AliasAnalysis::Location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.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/TypeBasedAliasAnalysis.cpp
84b8ad321bbcedd62e9990c1aaf644959817b218 03-Aug-2010 Dan Gohman <gohman@apple.com> Fix a typo Devang noticed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
c182cb5784cfe557f3c8fa6cfb208c02d2ed42d5 03-Aug-2010 Dan Gohman <gohman@apple.com> Sketch up a preliminary Type-Based Alias Analysis implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp