aboutsummaryrefslogtreecommitdiffstats
path: root/docs/AliasAnalysis.html
Commit message (Collapse)AuthorAgeFilesLines
* Update the descriptions of NoModRef and ModRef to be consistentDan Gohman2010-08-301-4/+4
| | | | | | | with the descriptions of Mod and Ref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112557 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove interprocedural-basic-aa and associated code. The AliasAnalysisDan Gohman2010-07-071-7/+14
| | | | | | | | | | | | 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
* Document that BasicAA respects noalias, while InterproceduralBasicAADan Gohman2010-07-021-2/+3
| | | | | | | does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8
* Describe which dependencies are relevant to noalias, and document howDan Gohman2010-07-021-0/+5
| | | | | | | AliasAnalyses have the choice to respect noalias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107544 91177308-0d34-0410-b5e6-96231b3b80d8
* Reword the definition of the noalias attribute. The intention is forDan Gohman2010-07-021-6/+8
| | | | | | | | | | | | | | | | | the noalias argument on function attributes be usable to model the C99 restrict keyword on arguments, and to allow AliasAnalysis to consider a noalias-attributed argument to be an "identified object". To support this, refactor a new "based on" concept out of the current pointer aliasing "associated" concept. This "based on" concept is very similar to (though it is not identical with) the "based on" concept in C99. Also, reword the definition of NoAlias to more closely describe the concept that the optimizer uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107495 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a blurb about -scev-aa.Dan Gohman2010-06-281-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107080 91177308-0d34-0410-b5e6-96231b3b80d8
* Document problems that I encountered when working on -scev-aa.Dan Gohman2010-06-241-0/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106776 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r103213. It broke several sections of live website.mike-m2010-05-071-0/+937
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103219 91177308-0d34-0410-b5e6-96231b3b80d8
* Overhauled llvm/clang docs builds. Closes PR6613.mike-m2010-05-061-937/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: 2nd part changeset for cfe trunk to follow. *** PRE-PATCH ISSUES ADDRESSED - clang api docs fail build from objdir - clang/llvm api docs collide in install PREFIX/ - clang/llvm main docs collide in install - clang/llvm main docs have full of hard coded destination assumptions and make use of absolute root in static html files; namely CommandGuide tools hard codes a website destination for cross references and some html cross references assume website root paths *** IMPROVEMENTS - bumped Doxygen from 1.4.x -> 1.6.3 - splits llvm/clang docs into 'main' and 'api' (doxygen) build trees - provide consistent, reliable doc builds for both main+api docs - support buid vs. install vs. website intentions - support objdir builds - document targets with 'make help' - correct clean and uninstall operations - use recursive dir delete only where absolutely necessary - added call function fn.RMRF which safeguards against botched 'rm -rf'; if any target (or any variable is evaluated) which attempts to remove any dirs which match a hard-coded 'safelist', a verbose error will be printed and make will error-stop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103213 91177308-0d34-0410-b5e6-96231b3b80d8
* remove anders-aa from mainline, it isn't maintained and isChris Lattner2010-03-011-21/+2
| | | | | | | tantalyzing enough that people keep trying to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97483 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the AliasAnalysis::getMustAliases method, which is dead.Chris Lattner2009-11-221-21/+1
| | | | | | | | | 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
* Update docs to not mention gcse/loadvn and mention memdep andChris Lattner2009-04-251-24/+12
| | | | | | | new stuff. PR3924. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70077 91177308-0d34-0410-b5e6-96231b3b80d8
* Recommit this grammar fix that was backed out along with nocapture.Nick Lewycky2008-12-181-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61189 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r61019, r61030, and r61040. These were breaking LLVM ReleaseBill Wendling2008-12-161-5/+5
| | | | | | | builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
* Introducing nocapture, a parameter attribute for pointers to indicate that theNick Lewycky2008-12-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | callee will not introduce any new aliases of that pointer. The attributes had all bits allocated already, so I decided to collapse alignment. Alignment was previously stored as a 16-bit integer from bits 16 to 32 of the attribute, but it was required to be a power of 2. Now it's stored in log2 encoded form in five bits from 16 to 21. That gives us 11 more bits of space. You may have already noticed that you only need four bits to encode a 16-bit power of two, so why five bits? Because the AsmParser accepted 32-bit alignments, even though we couldn't store them (they were silently discarded). Now we can store them in memory, but not in the bitcode. The bitcode format was already storing these as 64-bit VBR integers. So, the bitcode format stays the same, keeping the alignment values stored as 16 bit raw values. There's some hideous code in the reader and writer that deals with this, waiting to be ripped out the moment we run out of bits again and have to replace the parameter attributes table encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61019 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify the meaning of the NoAlias response. The plan is to refer to this fromNick Lewycky2008-12-141-10/+14
| | | | | | | a future version of LangRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61010 91177308-0d34-0410-b5e6-96231b3b80d8
* Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.Misha Brukman2008-12-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60880 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Owen Anderson2007-10-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42521 91177308-0d34-0410-b5e6-96231b3b80d8
* Mention memdep in the AA documentation.Owen Anderson2007-10-021-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42519 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not necessary to do rounding for alloca operations when the requestedDan Gohman2007-07-181-0/+965
alignment is equal to the stack alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8