llvm/docs
Bill Wendling 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
..
_static [docs] Update HTML pages to refer to CSS in a way that works locally and with Sphinx. 2012-04-19 20:20:34 +00:00
_templates [docs] Convert docs index page into Sphinx. 2012-04-19 16:31:37 +00:00
_themes/llvm-theme Sphinx CSS: remove negative letter-spacing, it makes some fonts look really 2012-09-30 20:43:24 +00:00
CommandGuide Documentation: remove more mentions of Tcl 2013-01-19 20:35:18 +00:00
HistoricalNotes Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
TableGen TableGen/LangRef: link bang operators into the productionlist 2013-01-09 02:20:31 +00:00
tutorial docs: Update title of external tutorial. 2013-01-23 03:21:41 +00:00
AliasAnalysis.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
Atomics.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
BitCodeFormat.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
BranchWeightMetadata.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
Bugpoint.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
CMake.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
CodeGenerator.rst Remove PTX->NVPTX in CodeGenerator document and update its text. 2013-01-11 18:47:10 +00:00
CodingStandards.rst Fix spelling 2013-01-21 23:20:47 +00:00
CommandLine.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
CompilerWriterInfo.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
conf.py Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
DebuggingJITedCode.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
DeveloperPolicy.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
doxygen.cfg.in Reapply r141657. 2011-10-31 23:46:50 +00:00
doxygen.css [docs] Update Makefile for images removal. 2012-04-20 17:27:12 +00:00
doxygen.footer Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
doxygen.header Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
doxygen.intro Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
Dummy.html Add a dummy documentation file to unbreak 'make install'. We need to find how 2012-12-13 13:37:35 +00:00
ExceptionHandling.rst Documentation: use monospaced font for intrinsics' names 2013-01-13 16:07:49 +00:00
ExtendedIntegerResults.txt Revert r103213. It broke several sections of live website. 2010-05-07 00:28:04 +00:00
ExtendingLLVM.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
FAQ.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
GarbageCollection.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
gcc-loops.png Update the gcc-loops benchmark 2013-01-20 07:01:04 +00:00
GetElementPtr.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
GettingStarted.rst Documentation: remove all mentions of DejaGNU and Tcl 2013-01-18 19:27:43 +00:00
GettingStartedVS.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
GoldPlugin.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToAddABuilder.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToBuildOnARM.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToReleaseLLVM.rst Documentation: remove all mentions of DejaGNU and Tcl 2013-01-18 19:27:43 +00:00
HowToSetUpLLVMStyleRTTI.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToSubmitABug.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToUseInstrMappings.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
index.rst [docs] Update IRC information. 2013-01-20 09:38:14 +00:00
LangRef.rst Add the IR attribute 'sspstrong'. 2013-01-23 06:41:41 +00:00
Lexicon.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
LinkTimeOptimization.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
linpack-pc.png Update the linpack benchmark with different array sizes. 2013-01-20 06:52:47 +00:00
LLVMBuild.rst docs: Sphinxify LLVMBuild documentation. 2012-11-20 03:13:53 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
make.bat [docs] Stub out structure for Sphinx-based docs. 2012-04-19 16:31:19 +00:00
Makefile [docs] Remove POD based man page docs (and build system support). 2012-05-08 17:48:21 +00:00
Makefile.sphinx Makefile.sphinx: reST conversion is complete! 2012-12-12 21:35:43 +00:00
MakefileGuide.rst Documentation: remove all mentions of DejaGNU and Tcl 2013-01-18 19:27:43 +00:00
MarkedUpDisassembly.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
Packaging.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
Passes.rst Documentation: convert Passes.html to reST. 2012-12-11 15:29:37 +00:00
Phabricator.rst docs: use code font for console commands in phabricator manual 2012-11-06 15:04:37 +00:00
ProgrammersManual.rst Docs for SparseMultiSet 2013-01-21 21:46:32 +00:00
Projects.rst Documentation: remove all mentions of DejaGNU and Tcl 2013-01-18 19:27:43 +00:00
re_format.7 Revert r103213. It broke several sections of live website. 2010-05-07 00:28:04 +00:00
README.txt docs: update docs/README.txt and make it useful. 2013-01-02 02:31:51 +00:00
ReleaseNotes.rst ReleaseNotes: note Sphinx migration. 2013-01-20 03:32:55 +00:00
SegmentedStacks.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
SourceLevelDebugging.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
SphinxQuickstartTemplate.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
SystemLibrary.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
TableGenFundamentals.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
TestingGuide.rst Streamline the mentions of grep and FileCheck in TestingGuide.rst 2013-01-18 19:01:34 +00:00
TestSuiteMakefileGuide.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
Vectorizers.rst Docs: mention that we support float reductions when -ffast-math is used. 2013-01-08 17:46:30 +00:00
WritingAnLLVMBackend.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
WritingAnLLVMPass.rst remove the rest of the "written by" lines in the documentation. It is 2013-01-10 21:24:04 +00:00
yaml2obj.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
YamlIO.rst Documentation: replace some non-ASCII characters by equivalent markup 2013-01-19 20:34:20 +00:00

LLVM Documentation
==================

LLVM's documentation is written in reStructuredText, a lightweight
plaintext markup language (file extension `.rst`). While the
reStructuredText documentation should be quite readable in source form, it
is meant to be processed by the Sphinx documentation generation system to
create HTML pages which are hosted on <http://llvm.org/docs/> and updated
after every commit.

If you instead would like to generate and view the HTML locally, install
Sphinx <http://sphinx-doc.org/> and then do:

    cd docs/
    make -f Makefile.sphinx
    $BROWSER _build/html/index.html

The mapping between reStructuredText files and generated documentation is
`docs/Foo.rst` <-> `_build/html/Foo.html` <-> `http://llvm.org/docs/Foo.html`.

If you are interested in writing new documentation, you will want to read
`SphinxQuickstartTemplate.rst` which will get you writing documentation
very fast and includes examples of the most important reStructuredText
markup syntax.