Commit Graph

2765 Commits

Author SHA1 Message Date
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
3c8da59482 Fixed HTML validator warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61005 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 08:01:51 +00:00
Misha Brukman
98a4ec700e CSS cleanup:
* Lowercased all HTML element names
* Standardized spacing around { and }
* removed class "doc_table_nw": grep finds no uses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 07:20:36 +00:00
Mikhail Glushenkov
23f522a545 Add a comment to the auto-generated docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 17:51:47 +00:00
Mikhail Glushenkov
8cc8288bef Merge llvm-rst.css and llvm.css.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60984 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 17:50:58 +00:00
Mikhail Glushenkov
462886e8ad Some more documentation tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 03:11:37 +00:00
Mikhail Glushenkov
d565203d96 More cosmetic tweaks for llvmc docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60969 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 02:28:58 +00:00
Chris Lattner
ff17b032dd fix some incorrect links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60919 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 04:20:01 +00:00
Mikhail Glushenkov
daae124124 Man page update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60918 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 02:34:56 +00:00
Mikhail Glushenkov
905315441e Fix W3C validator errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:43:14 +00:00
Mikhail Glushenkov
99a3a2c44c Use correct file for the llvmc tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60910 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:33:33 +00:00
Mikhail Glushenkov
68319f87cc Update the auto-generated llvmc documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 23:24:40 +00:00
Misha Brukman
66286e9e61 * Removed stray </p> tag
* Whitespace cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 19:44:51 +00:00
Misha Brukman
2d33c5443a * <div align=center> is not valid HTML 4.01 - removed alignment
* <sup> cannot appear inside a <pre> - replaced <pre> with <tt> and <br>
* Added standard "Notes" section
* Sprinkled fixed-width <tt> tags in a few places for consistency


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60889 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 19:37:04 +00:00
Misha Brukman
f00ddb04df Removed warnings from HTML 4.01 validator: trailing slashes in <br> and <img>
tags are not needed in HTML, only XML.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 18:23:24 +00:00
Misha Brukman
430245f555 Conform to the HTML 4.01 Strict specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 18:14:06 +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
Misha Brukman
39309dfbb2 * Fixed formatting of command descriptions to be consistent:
- descriptions on new line
  - no terminating period
* Changed the W3C logos from yellow to blue to not stand out


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60879 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:12:52 +00:00
Misha Brukman
c1449e63ff s/A Few Coding Standards/LLVM Coding Standards/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60859 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 23:07:02 +00:00
Nuno Lopes
f82242de03 fix typo. thanks Baldrick for noticing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60841 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 16:11:10 +00:00
Nuno Lopes
58dc0b5534 add gcc 4.1.2 from redhat to the list of broken compilers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60840 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 16:01:22 +00:00
Duncan Sands
b8ee8012ee Update these instructions to the 2.4 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 14:24:58 +00:00
Duncan Sands
0cfe05270c Mention the Ada and Fortran front-ends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 10:50:58 +00:00
Mon P Wang
01f8d09dd3 Added a little more information that vector shifts require vector shift amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60831 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 08:55:09 +00:00
Dale Johannesen
80b990204b Rewrite instructions for configuring external tests
to reflect reality.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60825 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 01:58:32 +00:00
Mikhail Glushenkov
efc5c319ed Man page typo fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60765 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 14:41:00 +00:00
Mon P Wang
e9f1015d1f Fix getNode to allow a vector for the shift amount for shifts of vectors.
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 05:46:39 +00:00
Dan Gohman
70ef449741 Generalize bugpoint's concept of a "safe" backend, and add options
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.

This enables the following use cases:
 - bugpoint llc against an llc command from a different build
 - bugpoint llc against the same llc with different command-line options
 - and more...

Also, document the existing "custom" interpreter options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60681 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-08 04:02:47 +00:00
Nick Lewycky
28ea4f6c07 Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60679 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-08 00:45:02 +00:00
Mikhail Glushenkov
24dc52d56e Man page update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60669 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-07 16:48:07 +00:00
Dan Gohman
15511cf166 Rename isSimpleLoad to canFoldAsLoad, to better reflect its meaning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60487 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-03 18:15:48 +00:00
Nick Lewycky
822293a40c Fix spelling mistake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60250 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 20:13:25 +00:00
Misha Brukman
b0a57aa893 Fixed HTML closing tag, cleaned up some spacing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60153 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-27 06:41:20 +00:00
Bill Wendling
baa39d8664 Small formatting change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 19:19:05 +00:00
Bill Wendling
fbaa7edf93 Update to explain how ssp and sspreq attributes override each other.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60112 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 19:07:40 +00:00
Mikhail Glushenkov
dbb61d1bac Describe some more options in the man page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60105 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 13:40:08 +00:00
Mikhail Glushenkov
a606d1f34e Add a man page for llvmc. Really basic for now, will be updated later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60049 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-25 21:38:38 +00:00
Chris Lattner
62810e3202 This method got renamed, thanks to Mattias Holm for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60039 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-25 18:34:50 +00:00
Nuno Lopes
21bfe0b448 add info about how to run the tests with valgrind
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-25 15:57:52 +00:00
Oscar Fuentes
b6c2202786 CMake: Documented two cmake variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-25 04:23:36 +00:00
Dan Gohman
f003276ee6 Fix a few HTML tidiness issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59966 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 17:18:39 +00:00
Dan Gohman
fd9ddc066e Delete some spurious characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 16:45:15 +00:00
Dan Gohman
a7ab2bffae Fix some "</p>"s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 16:35:31 +00:00
Dan Gohman
641b279710 Some documentation for LegalizeTypes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59962 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 16:27:17 +00:00
Torok Edwin
9682607ad6 NULL, unique pointers from malloc(0), and freed pointers are legal values for
noalias attribute parameters/return values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 08:02:24 +00:00
Nick Lewycky
b2b32fd3fe 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
2008-11-24 05:00:44 +00:00
Nick Lewycky
02ff308aa1 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
2008-11-24 03:41:24 +00:00
Misha Brukman
dccb025768 Fixed named anchor for llvm.stackprotector intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-22 23:55:29 +00:00
Chris Lattner
7a15273892 Describe how the JIT maps fields to MachineOperands, patch by
JP Bonn!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59876 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-22 19:10:48 +00:00