Commit Graph

4759 Commits

Author SHA1 Message Date
e4957fb9b7 Add the heuristic to differentiate SSPStrong from SSPRequired.
The requirements of the strong heuristic are:

* A Protector is required for functions which contain an array, regardless of
  type or length.

* A Protector is required for functions which contain a structure/union which
  contains an array, regardless of type or length.  Note, there is no limit to
  the depth of nesting.

* A protector is required when the address of a local variable (i.e., stack
  based variable) is exposed. (E.g., such as through a local whose address is
  taken as part of the RHS of an assignment or a local whose address is taken as
  part of a function argument.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173231 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23 06:43:53 +00:00
114baee1fa Add the IR attribute 'sspstrong'.
SSPStrong applies a heuristic to insert stack protectors in these situations:

* A Protector is required for functions which contain an array, regardless of
  type or length.

* A Protector is required for functions which contain a structure/union which
  contains an array, regardless of type or length.  Note, there is no limit to
  the depth of nesting.

* A protector is required when the address of a local variable (i.e., stack
  based variable) is exposed. (E.g., such as through a local whose address is
  taken as part of the RHS of an assignment or a local whose address is taken as
  part of a function argument.)

This patch implements the SSPString attribute to be equivalent to
SSPRequired. This will change in a subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23 06:41:41 +00:00
d3afa9be99 docs: Update title of external tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173224 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23 03:21:41 +00:00
1d10898ab5 Fix spelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173103 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-21 23:20:47 +00:00
e4b1efef8a Docs for SparseMultiSet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173092 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-21 21:46:32 +00:00
ba87320f00 [docs] Update IRC information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172970 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 09:38:14 +00:00
df76b389e0 Update the gcc-loops benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172966 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 07:01:04 +00:00
c2b96cb7ba Update the linpack benchmark with different array sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172965 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 06:52:47 +00:00
8a72eff7c3 ReleaseNotes: note Sphinx migration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172955 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 03:32:55 +00:00
4a535629ec docs: Nuke the old release notes.
This change also removes a bunch of boilerplate and stuffing which made
it unnecessarily hard to navigate and see the comparatively miniscule
actual content that was added to this document during the 3.2
development period (or maybe even sticking around from earlier
releases...).

The new organization (a flat list) optimizes for making it easy for
people who know about changes to add them to the document.  It's
completely trivial for anyone with basic knowledge of LLVM to come in
later (such as when preparing for the actual release) and cluster any
changes into logical groups. However, I have left some comments
indicating how to add larger descriptions, if someone is feeling
adventurous ;)

Hopefully this organization will highlight how little effort is being
put into producing accurate, high-quality release notes, prompting a
corresponding improvement for the 3.3 release.

I have preserved the changes to this document that are not present
in the 3.2 release notes. There were only two... I'm pretty sure we've
been busier than that... (version control shows +213347/-173656 raw
lines just in the LLVM repo since the 3.2 release).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172954 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 03:29:50 +00:00
52878db465 docs: Use proper markup.
These are really definition lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172950 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 02:19:42 +00:00
31da439b57 docs: Inline documentation structure into homepage.
This brings back {Ctrl,Cmd}-f'ability, and makes some really bad
organizational choices easier to see (and therefore fix).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172949 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20 02:19:36 +00:00
35f63ddc8f Documentation: remove more mentions of Tcl
Followup for r172836


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172918 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-19 20:35:18 +00:00
ae4a9ae0b1 Documentation: replace some non-ASCII characters by equivalent markup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172917 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-19 20:34:20 +00:00
6d49b680be [MC/Mach-O] Implement integrated assembler support for linker options.
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172837 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 19:37:00 +00:00
55c6f0c614 Documentation: remove all mentions of DejaGNU and Tcl
We don't have DejaGNU tests now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172836 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 19:27:43 +00:00
317794939c Streamline the mentions of grep and FileCheck in TestingGuide.rst
grep is now only mentioned once in a sentence that explicitly says it's
deprecated. For FileCheck, there's no reason to repeat part of the
documentation that exists in CommandGuide/FileCheck.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172835 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 19:01:34 +00:00
634bd8512a [Linker] Drop support for IR-level extended linking support (archives, etc.).
- This code is dead, and the "right" way to get this support is to use the
   platform-specific linker-integrated LTO mechanisms, or the forthcoming LLVM
   linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172749 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:52:25 +00:00
3389dbcd24 [docs] Get rid of some UTF8 characters (non-breaking space maybe).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172741 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:57:32 +00:00
e06bfe8d90 [IR] Reserve/define the purpose for the "Linker Options" metadata flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172681 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:16:27 +00:00
b0ec16b3a4 Update the description of the llvm.fmuladd.* intrinsics to avoid use of the
ambiguous term 'legal'.

Suggested by Andrew Booker. Thanks Andrew!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172680 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:00:49 +00:00
c3c8d2ad8d Documentation: fix a typo 'IEE754'
Reported on IRC by _savage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172677 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 23:40:37 +00:00
5db391c67d [IR] Add 'Append' and 'AppendUnique' module flag behaviors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172659 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 21:38:56 +00:00
8dd938ed17 [IR] Add verifier support for llvm.module.flags.
- Also, update the LangRef documentation on module flags to match the
   implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172498 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-15 01:22:53 +00:00
135174deb8 Documentation: use monospaced font for intrinsics' names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172360 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-13 16:07:49 +00:00
74401c853d Fix broken link to LangRef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172359 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-13 16:06:11 +00:00
7cd32479b0 Use more canonical exception-handling link in docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172325 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-12 19:54:21 +00:00
7aa3080a85 Fix broken links around Itanium C++ ABI in documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172312 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-12 12:38:54 +00:00
9c0d0f55da Remove PTX->NVPTX in CodeGenerator document and update its text.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172235 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11 18:47:10 +00:00
c059d56aa7 Update CodeGenerator document to add a "Not Applicable" category to the
Target Feature Matrix, and update the PTX column with this new category.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172234 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11 18:37:54 +00:00
a7aec400a7 docs: Fix long standing linking antipattern.
Before we learned about :doc:, we used :ref: and put a dummy link at the
top of each page. Don't do that anymore.

This fixes PR14891 as a special case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172162 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11 02:28:08 +00:00
52b23731d6 docs: fix misleading description.
PR14890

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172160 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11 01:54:16 +00:00
2ba4bd97d1 remove the rest of the "written by" lines in the documentation. It is
against the developer policy to include this sort of thing as SVN blame
already captures this in a far more fine-grained way.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172109 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10 21:24:04 +00:00
8a0f3f7811 docs: fix broken link.
PR14889

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172046 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10 06:39:37 +00:00
96a05b3074 TableGen/LangRef: link bang operators into the productionlist
Now BangOperator should be nicely hyperlinked.

Pointed out by Joel Jones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171942 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09 02:20:31 +00:00
104f2b5e91 TableGen/LangRef: discuss specific C-like escapes
Suggested by Joel Jones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171941 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09 02:20:30 +00:00
d155ffc03f docs: Fix mention of DefmID to MultiClassID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171940 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09 02:20:24 +00:00
9302dcc914 docs: Bring TableGen syntax a bit closer to reality.
It's not just def's but actually a limited subset of Object's that are
allowed inside a multiclass.

Spotted by Joel Jones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171935 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09 02:11:55 +00:00
2a92c10dcb Docs: mention that we support float reductions when -ffast-math is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171873 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08 17:46:30 +00:00
9a1e0e252a Remove the llvm-local DW_TAG_vector_type tag and add a test to
make sure that vector types do work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171833 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08 01:53:52 +00:00
72a81be374 Remove what appears to be a dead llvm-specific debug tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171821 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08 00:16:33 +00:00
a1e7530bb4 Documentation: add a note that Clang on Mageia 2 can not find libstdc++ headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171729 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07 12:17:44 +00:00
92f09170aa Documentation updates for pointer-to-member debug info added in r171698.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171701 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07 06:02:07 +00:00
26b8aab72e tblgen, docs: Add initial syntax reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171685 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07 02:43:44 +00:00
be0ffd1e5a Documentation: add clang 3.0 + libstdc++ 4.7.x as a known bad combination that
is actually used by a few Linux distributions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171671 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 21:23:27 +00:00
e36291a1ef Add reference to dcommit on GettingStarted
Signed-off-by: Renato Golin <renato.golin@linaro.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171642 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 00:14:27 +00:00
8b2bcf4f75 GettingStarted: improve formatting and document that configure checks for
'clang' to use it as the compiler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171630 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-05 18:10:06 +00:00
648c093b2b Update the gcc-loops benchmarks results with the new automatic unrolling feature.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171509 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-04 19:10:34 +00:00
7c88270ae2 fix a couple of typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171508 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-04 19:09:15 +00:00
13410a11e7 Add linpack-pc bench
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171499 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-04 19:00:42 +00:00