Commit Graph

52 Commits

Author SHA1 Message Date
Dan Gohman
01e59888cd Fix a typo that Bill spotted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-15 23:09:41 +00:00
Dan Gohman
49e41c5179 Document some more AliasAnalysis infrastructure limitations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121874 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-15 18:45:20 +00:00
Dan Gohman
4a34cbd2b9 Introduce a new PartialAlias response for AliasAnalysis. For most
AliasAnalysis consumers, PartialAlias will be treated as MayAlias.

For AliasAnalysis chaining, MayAlias says "procede to the next analysis".
PartialAlias will be used to indicate that the query should terminate,
even though it didn't reach MustAlias or NoAlias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121507 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 19:38:58 +00:00
Dan Gohman
c66712f632 -basicaa is no longer the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-15 18:07:16 +00:00
Dan Gohman
39429e2b51 Update the descriptions of NoModRef and ModRef to be consistent
with the descriptions of Mod and Ref.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112557 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30 23:47:24 +00:00
Dan Gohman
9e86f4364b 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
2010-07-07 14:27:09 +00:00
Dan Gohman
43b8fd728b Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 23:52:36 +00:00
Dan Gohman
efca7f9681 Describe which dependencies are relevant to noalias, and document how
AliasAnalyses have the choice to respect noalias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 23:46:54 +00:00
Dan Gohman
1e109621f1 Reword the definition of the noalias attribute. The intention is for
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
2010-07-02 18:41:32 +00:00
Dan Gohman
85dfca616a Add a blurb about -scev-aa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107080 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-28 22:09:52 +00:00
Dan Gohman
3f43dc3687 Document problems that I encountered when working on -scev-aa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24 19:34:03 +00:00
mike-m
e2c3a49c80 Revert r103213. It broke several sections of live website.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103219 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07 00:28:04 +00:00
mike-m
68cb31901c Overhauled llvm/clang docs builds. Closes PR6613.
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
2010-05-06 23:45:43 +00:00
Chris Lattner
a9cf19670f remove anders-aa from mainline, it isn't maintained and is
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
2010-03-01 19:24:17 +00:00
Chris Lattner
66e08cf79a 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
2009-11-22 16:01:44 +00:00
Chris Lattner
4f4365eb4e Update docs to not mention gcse/loadvn and mention memdep and
new stuff.  PR3924.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-25 21:11:37 +00:00
Nick Lewycky
78eb804068 Recommit this grammar fix that was backed out along with nocapture.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61189 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18 02:15:05 +00:00
Bill Wendling
6fa311c233 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
2008-12-16 19:06:48 +00:00
Nick Lewycky
e642658480 Introducing nocapture, a parameter attribute for pointers to indicate that the
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
2008-12-15 01:34:58 +00:00
Nick Lewycky
01557ce1b1 Clarify the meaning of the NoAlias response. The plan is to refer to this from
a future version of LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61010 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 21:08:48 +00:00
Misha Brukman
444087057a Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:34:48 +00:00
Owen Anderson
d8b4728353 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42521 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-02 00:44:20 +00:00
Owen Anderson
5a726b8ecf Mention memdep in the AA documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42519 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-02 00:43:25 +00:00
Chris Lattner
d6e0dd1db6 note where to get steens-aa and ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37850 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-03 04:41:50 +00:00
Duncan Sands
8036ca47e2 Various hopefully correct easy fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 12:22:09 +00:00
Reid Spencer
05fe4b0256 Changes docs for llvm.cs.uiuc.edu -> llvm.org
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26746 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:39:39 +00:00
Chris Lattner
05d5c9dc28 update usage of -print-alias-sets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25061 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-03 06:04:48 +00:00
Misha Brukman
a3f0313e81 Remove extraneous blank lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16205 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-06 23:00:30 +00:00
Misha Brukman
294611a6e4 * Use the doc_code class for code listings to make it stand out from text
* Wrap text in soft, comfortable <div>s and <p>s
* Wrap lines at 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-28 22:18:33 +00:00
Chris Lattner
ccb354b687 New functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 07:50:07 +00:00
Misha Brukman
a97e6cbf79 * `The' isn't necessary in front of LLVM
* Wrap long line


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14530 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 15:33:24 +00:00
Chris Lattner
100a4f88ec document new pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-28 19:19:47 +00:00
Chris Lattner
fcd3725747 Fix some broken links
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14306 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 22:52:48 +00:00
Chris Lattner
ccc806525c Substantially expand and update the alias analysis documentation, including
adding blurbs about all of the implementations we have


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13669 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:04:01 +00:00
Misha Brukman
f6acb51bf3 Fix grammar: remove `the' before LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13496 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:02:00 +00:00
Misha Brukman
6e4afd0a02 Put stylesheet after the title.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10887 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-15 19:04:12 +00:00
Misha Brukman
38847d5700 Fix the URL to check the referrer for CSS conformity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-21 22:53:21 +00:00
Chris Lattner
539ca70112 Expand on the AliasSetTracker a bit, so I can remember this next time I come back to it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10537 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19 08:43:07 +00:00
Misha Brukman
e12e5f3a81 Fix the links to match our 'llvm' namespace in doxygen-generated docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10504 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17 23:10:49 +00:00
Misha Brukman
3e7ada642a Since we are now in the 'llvm' namespace, the mangled C++ name of structs
and hence the links, all change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17 18:46:49 +00:00
Misha Brukman
915cab2ac1 Align the W3C images on the right side, bottom of page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10156 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-22 01:26:21 +00:00
Misha Brukman
5feba4e1df This page now uses valid HTML 4.01 Strict and valid CSS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10152 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-22 01:07:30 +00:00
Misha Brukman
1f254d50eb Made paragraph structure more consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10145 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 22:30:25 +00:00
John Criswell
0f6d7c0e20 Merged in RELEASE_1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9538 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 18:18:16 +00:00
Misha Brukman
3896be2ecd This is now valid HTML 4.01 Strict.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9475 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24 18:06:11 +00:00
Misha Brukman
b215425bb0 Really close the <li> tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9396 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 02:29:42 +00:00
Misha Brukman
e8320f29af Remove extraneous comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9395 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 01:50:39 +00:00
Misha Brukman
21b892c224 * Quote a value in <font> tag.
* Let CVS figure out the last-modified-date for us


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 01:49:47 +00:00
Misha Brukman
cd11e45d61 * Use UTF-8 instead of soon-to-be-extinct ISO-8859-1 ;)
* Use stylesheets instead of explicit <font> tags
* Stop using <ul> for spacing layout
* Close <a> and <p> tags


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9392 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22 23:27:16 +00:00
Misha Brukman
5560c9d49c Spell `necessary' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00