Commit Graph

38 Commits

Author SHA1 Message Date
Peter Collingbourne
5a81e14385 Introduce bitset metadata format and bitset lowering pass.
This patch introduces a new mechanism that allows IR modules to co-operatively
build pointer sets corresponding to addresses within a given set of
globals. One particular use case for this is to allow a C++ program to
efficiently verify (at each call site) that a vtable pointer is in the set
of valid vtable pointers for the class or its derived classes. One way of
doing this is for a toolchain component to build, for each class, a bit set
that maps to the memory region allocated for the vtables, such that each 1
bit in the bit set maps to a valid vtable for that class, and lay out the
vtables next to each other, to minimize the total size of the bit sets.

The patch introduces a metadata format for representing pointer sets, an
'@llvm.bitset.test' intrinsic and an LTO lowering pass that lays out the globals
and builds the bitsets, and documents the new feature.

Differential Revision: http://reviews.llvm.org/D7288

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230054 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-20 20:30:47 +00:00
Sean Silva
54a6137379 [docs] Put an explicit link to InAlloca.rst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228192 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-04 20:51:19 +00:00
Peter Collingbourne
0ba9a7e4bb Add link to Go bindings documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225815 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 18:49:42 +00:00
Stepan Dyatkovskiy
4912640253 Added documentation for MergeFunctions pass:
Pass looks for equivalent functions that are mergable and folds them.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223931 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-10 17:42:01 +00:00
Matt Arsenault
99eff50c00 Fix sphinx error from Statepoints.rst
It was complaining it wasn't included in any toctree

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223254 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-03 18:35:11 +00:00
Tom Stellard
19cb35b4bc R600/SI: Start implementing an assembler
This was done using the Sparc and PowerPC AsmParsers as guides.  So far it
is very simple and only supports sopp instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221994 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-14 14:08:00 +00:00
Adrian Prantl
17dfc381ef Add a reference to Phabricator.rst to docs/index.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219015 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-03 20:17:32 +00:00
Jyoti Allur
72db9e5b09 fix a typo in doumentation index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218504 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-26 06:59:15 +00:00
Alex Lorenz
e3cea5fd9a Docs: add documentation for the coverage mapping format.
Differential Revision: http://reviews.llvm.org/D4729


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215990 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 17:05:58 +00:00
James Molloy
85918049ab [ARM64-BE] Add sphinx documentation for the ARM64 NEON implementation.
There are some interesting decisions based on non-obvious rationale in
the ARM64-BE NEON implementation - decent documentation is definitely required.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208577 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-12 15:13:39 +00:00
Duncan P. N. Exon Smith
23a6033104 blockfreq: Document BlockFrequencyInfo terminology
Documents terminology used in the forthcoming rewrite of
BlockFrequencyInfo.

<rdar://problem/14292693>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206086 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-11 23:21:07 +00:00
Sean Silva
ba9e79f7ef [docs] Update link title
docs/TableGen/ is not really just "fundamentals" anymore, but rather
more of a portal for all things TableGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205743 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-07 22:42:53 +00:00
Renato Golin
a5b283ab23 Recover TableGen/LangRef, make it official
Making the new TableGen documentation official and marking the old file as
"Moved". Also, reverting the original LangRef as the normative formal
description of the language, while keeping the "new" LangRef as LangIntro
for the less inlcined to reading language grammars.

We should remove TableGenFundamentals.rst one day, but for now, just a
warning that it moved will have to do, while we make sure there are no more
links to it from elsewhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205289 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-01 09:51:49 +00:00
Renato Golin
1625937ddb Re-factor TableGen docs
This is mainly a movement of content around to give place to new content
allowing different people to add bits to it in the right place. There is some
new content, but mostly to fill the gaps left by text movement.

I'm dropping the old syntax documentation as it has the problem of being
quickly outdated by changes and largely unnecessary to people not involved
in creating the language, but using it, which is the whole point of the
documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204351 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20 16:08:34 +00:00
Sean Silva
aede1c9884 [docs] Fix some Sphinx warnings.
The docs now build cleanly. Yay!

The following warnings were fixed:

/home/sean/pg/llvm/llvm/docs/HowToReleaseLLVM.rst:364: WARNING: Enumerated list ends without a blank line; unexpected unindent.
/home/sean/pg/llvm/llvm/docs/InAlloca.rst:: WARNING: document isn't included in any toctree

/home/sean/pg/llvm/llvm/docs/CodingStandards.rst:85: WARNING: Title underline too short.

Supported C++11 Language and Library Features
-------------------------------------------
/home/sean/pg/llvm/llvm/docs/CodingStandards.rst:85: WARNING: Title underline too short.

Supported C++11 Language and Library Features
-------------------------------------------
/home/sean/pg/llvm/llvm/docs/GettingStarted.rst:185: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/home/sean/pg/llvm/llvm/docs/GettingStarted.rst:565: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/home/sean/pg/llvm/llvm/docs/GettingStarted.rst:567: WARNING: Block quote ends without a blank line; unexpected unindent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202603 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-02 00:21:42 +00:00
Andrew Trick
e97b13228a LangRef documentation for the stackmap and patchpoint intrinsics.
These still have "experimental" status, meaning we don't guarantee
backward compatibility. However, they are already actively used by the
open source WebKit project, and have started to be adopted by other
projects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197930 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-24 02:57:25 +00:00
Sean Silva
0774681991 [docs] Fix some Sphinx toctree warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190326 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-09 19:09:00 +00:00
Renato Golin
8216947d4d Cross-compilation doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190282 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-08 20:44:48 +00:00
Andrew Kaylor
23dcb187fb Adding a document to describe the MCJIT execution engine implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188943 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 22:15:09 +00:00
Renato Golin
fe4716f7cf Linking ReleaseProcess doc with the world
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182763 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-28 10:32:55 +00:00
Nico Rieck
18d49acdab MC: Support COFF image-relative MCSymbolRefs
Add support for the COFF relocation types IMAGE_REL_I386_DIR32NB and
IMAGE_REL_AMD64_ADDR32NB for 32- and 64-bit respectively. These are
similar to normal 4-byte relocations except that they do not include
the base address of the image.

Image-relative relocations are used for debug information (32-bit) and
SEH unwind tables (64-bit).

A new MCSymbolRef variant called 'VK_COFF_IMGREL32' is introduced to
specify such relocations. For AT&T assembly, this variant can be accessed
using the symbol suffix '@imgrel'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179240 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-10 23:28:17 +00:00
Justin Holewinski
531ebc8a3c Add start of user documentation for NVPTX
Summary: This is the beginning of user documentation for the NVPTX back-end.  I want to ensure I am integrating this properly into the rest of the LLVM documentation.

Differential Revision: http://llvm-reviews.chandlerc.com/D600

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178428 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 16:41:14 +00:00
Sean Silva
6ef362a6de [docs] llvmbugs is not the place for patches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178426 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:33:02 +00:00
Sean Silva
fb7aa39435 [docs] Annotate mailing lists with their "name".
Nobody says "the developer's list" or "commits archive"; they always say
"llvmdev" or "llvm-commits". It makes sense for our documentation to
at least make that association explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178425 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:33:01 +00:00
Sean Silva
135856526c [docs] Reorganize mailing lists.
Order them roughly by "which one should a newbie join first".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178424 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:32:54 +00:00
Sean Silva
bd1aecbea7 [docs] Pull IRC and Mailing Lists under a new "Community" heading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178423 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:32:51 +00:00
Sean Silva
cad9b9cdb4 [docs] The GEP FAQ is not "design and overview"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178422 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:32:50 +00:00
Sean Silva
a6a22233a8 [docs] Put DeveloperPolicy under "Development Process Documentation"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178421 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30 15:32:47 +00:00
Joe Abbey
0013a5d87b Adding a HowTo for Attributes.
This is based on Bill Wendling's email.  No additional content has been added,
but now there's a place for Attributes to capture future information.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174961 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-12 11:45:22 +00:00
Sean Silva
ae70224a3e docs: reorganize front page slightly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173718 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-28 21:28:10 +00:00
Michael J. Spencer
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
Sean Silva
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
Sean Silva
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
Sean Silva
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
Sean Silva
96098782d1 docs: Fix typo on front page
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165200 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04 04:41:27 +00:00
Sean Silva
74a19f0729 docs: dedent list on index.rst
In reStructuredText, indented blocks denote block quotes [1]. This list
is not a block quote.

[1]. http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164847 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28 21:18:37 +00:00
Benjamin Kramer
d9b0b02561 Fix typos found by http://github.com/lyda/misspell-check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-02 10:20:22 +00:00
Daniel Dunbar
21e993c1b1 [docs] Convert docs index page into Sphinx.
- Work in progress, this is mostly important because it lets us incrementally migrate the remaining documentation.
 - Lots of styling, editing, and integration work yet to come…
 - PR12589

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 16:31:37 +00:00