Commit Graph

5012 Commits

Author SHA1 Message Date
Nadav Rotem 2ee204d91d Update the release notes about the vectorizers.
llvm-svn: 179564
2013-04-15 22:10:39 +00:00
John Criswell 02fc72d47a Grammar and punctuation fixes.
No content changes.

llvm-svn: 179540
2013-04-15 17:38:06 +00:00
Tim Northover 865f4bcb5d Enable all targets by default on Visual Studio.
llvm-svn: 179518
2013-04-15 11:53:05 +00:00
Nadav Rotem a440a356e0 Document our desire to enable the loop vectorizer on -Os in future releases.
llvm-svn: 179511
2013-04-15 05:56:55 +00:00
Nadav Rotem 57da1fdd55 Docs: merge the description of the BB and SLP vectorizers and document the -fslp-vectorize-aggressive flag.
llvm-svn: 179510
2013-04-15 05:53:23 +00:00
Jia Liu f3076492c2 fix include path in doc Extending LLVM
llvm-svn: 179503
2013-04-15 03:26:13 +00:00
Nadav Rotem efa56e18be Document the SLP infrastructure.
llvm-svn: 179480
2013-04-14 07:42:25 +00:00
Nico Rieck d6df0547fe Teach llvm-readobj to print ELF program headers
llvm-svn: 179363
2013-04-12 04:07:39 +00:00
Nico Rieck f3f0b79704 Add -expand-relocs to llvm-readobj
This option expands shown relocations from single line to a dictionary
format:

  Relocation {
    Offset: 0x4
    Type: R_386_32 (1)
    Symbol: sym
    Info: 0x0
  }

llvm-svn: 179359
2013-04-12 04:01:52 +00:00
Nico Rieck 5143243484 Add man page for llvm-readobj
llvm-svn: 179244
2013-04-11 00:05:57 +00:00
Nico Rieck 1da4529b15 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'.

llvm-svn: 179240
2013-04-10 23:28:17 +00:00
Nadav Rotem 757aec9507 Remove the confusing sentence.
llvm-svn: 179085
2013-04-09 04:48:40 +00:00
Nadav Rotem fe47d58cf0 Update the docs about the fact that the loop vectorizer is enabled by default for -O3.
llvm-svn: 179060
2013-04-08 21:34:49 +00:00
Tim Northover 85c19f5a73 Add ACLE link to ARM documentation sections
llvm-svn: 179006
2013-04-08 08:42:24 +00:00
Eli Bendersky 4ee93cd45b Missing word
llvm-svn: 178774
2013-04-04 18:29:19 +00:00
Jakub Staszak 09da37d10d Fix a typo.
llvm-svn: 178567
2013-04-02 20:02:36 +00:00
Justin Holewinski 45df882045 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

llvm-svn: 178428
2013-03-30 16:41:14 +00:00
Sean Silva 2a74699dd5 [docs] llvmbugs is not the place for patches.
llvm-svn: 178426
2013-03-30 15:33:02 +00:00
Sean Silva ab4997d0ec [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.

llvm-svn: 178425
2013-03-30 15:33:01 +00:00
Sean Silva 84b296c8d1 [docs] Reorganize mailing lists.
Order them roughly by "which one should a newbie join first".

llvm-svn: 178424
2013-03-30 15:32:54 +00:00
Sean Silva 0129924384 [docs] Pull IRC and Mailing Lists under a new "Community" heading.
llvm-svn: 178423
2013-03-30 15:32:51 +00:00
Sean Silva 163b5c4bd5 [docs] The GEP FAQ is not "design and overview"
llvm-svn: 178422
2013-03-30 15:32:50 +00:00
Sean Silva 9d205c8edc [docs] Put DeveloperPolicy under "Development Process Documentation"
llvm-svn: 178421
2013-03-30 15:32:47 +00:00
Sean Silva c9fbd23621 [docs] The STL "binary search" has a non-obvious name.
std::lower_bound is the canonical "binary search" in the STL
(std::binary_search generally is not what you want). The name actually
makes a lot of sense (and also has a beautiful symmetry with the
std::upper_bound algorithm). The name is nonetheless non-obvious.

Also, remove mention of "radix search". It's not even clear how that
would work in the context of a sorted vector. AFAIK "radix search" only
makes sense when you have a trie-like data structure.

llvm-svn: 178376
2013-03-29 21:57:47 +00:00
Thomas Schwinge b1322d5691 Correct spelling of Git.
llvm-svn: 178254
2013-03-28 18:06:20 +00:00
Michael Gottesman 88d1883de7 Added documentation to LangRef for the intrinsic llvm.ptr.annotation.* which for some reason was never written.
llvm-svn: 177950
2013-03-26 00:34:27 +00:00
Dmitri Gribenko 51cb2fa1c3 Documentation: Replace dead link for binfmt_misc
Patch by Thomas Schwinge.

llvm-svn: 177876
2013-03-25 17:08:25 +00:00
Jakob Stoklund Olesen 8ef2419d60 Mention the new TableGen pattern format in the release notes.
Make threats about removing the old syntax.

llvm-svn: 177848
2013-03-25 00:36:53 +00:00
Jakob Stoklund Olesen 91a5848cab Allow TableGen DAG arguments to be just a name.
DAG arguments can optionally be named:

  (dag node, node:$name)

With this change, the node is also optional:

  (dag node, node:$name, $name)

The missing node is treated as an UnsetInit, so the above is equivalent
to:

  (dag node, node:$name, ?:$name)

This syntax is useful in output patterns where we currently require the
types of variables to be repeated:

  def : Pat<(subc i32:$b, i32:$c), (SUBCCrr i32:$b, i32:$c)>;

This is preferable:

  def : Pat<(subc i32:$b, i32:$c), (SUBCCrr $b, $c)>;

llvm-svn: 177843
2013-03-24 19:36:51 +00:00
Tobias Grosser be2c6e9734 GettingStarted: Add Git clone instructions for compiler-rt and test-suite
Contributed-by:  Thomas Schwinge  <thomas@codesourcery.com>
llvm-svn: 177841
2013-03-24 15:15:19 +00:00
Jakob Stoklund Olesen 83aa671f09 Give Sparc instruction patterns direct types instead of register classes.
Also update the documentation since Sparc is the nicest backend, and
used as an example in WritingAnLLVMBackend.

llvm-svn: 177835
2013-03-24 00:56:20 +00:00
Sean Silva 4359068aea [docs] Slight reword for precision.
The new wording cannot be construed as suggesting the use of
SmallVectorImpl<T> as e.g. a class member (just because the class
happens to be in an interface).

llvm-svn: 177778
2013-03-22 23:52:38 +00:00
Sean Silva 4ee92f9de4 [docs] Document usage of SmallVectorImpl in interfaces.
llvm-svn: 177775
2013-03-22 23:41:29 +00:00
Eli Bendersky 6f6cbdbb8c fix small doc typo
llvm-svn: 177737
2013-03-22 16:09:06 +00:00
Eric Christopher 911f1d3474 Formatting fixups.
llvm-svn: 177458
2013-03-19 23:10:26 +00:00
Ulrich Weigand e618abd6e0 Extend TableGen instruction selection matcher to improve handling
of complex instruction operands (e.g. address modes).

Currently, if a Pat pattern creates an instruction that has a complex
operand (i.e. one that consists of multiple sub-operands at the MI
level), this operand must match a ComplexPattern DAG pattern with the
correct number of output operands.

This commit extends TableGen to alternatively allow match a complex
operands against multiple separate operands at the DAG level.

This allows using Pat patterns to match pre-increment nodes like
pre_store (which must have separate operands at the DAG level) onto
an instruction pattern that uses a multi-operand memory operand,
like the following example on PowerPC (will be committed as a
follow-on patch):

  def STWU  : DForm_1<37, (outs ptr_rc:$ea_res), (ins GPRC:$rS, memri:$dst),
                    "stwu $rS, $dst", LdStStoreUpd, []>,
                    RegConstraint<"$dst.reg = $ea_res">, NoEncode<"$ea_res">;

  def : Pat<(pre_store GPRC:$rS, ptr_rc:$ptrreg, iaddroff:$ptroff),
            (STWU GPRC:$rS, iaddroff:$ptroff, ptr_rc:$ptrreg)>;

Here, the pair of "ptroff" and "ptrreg" operands is matched onto the
complex operand "dst" of class "memri" in the "STWU" instruction.

Approved by Jakob Stoklund Olesen.

llvm-svn: 177428
2013-03-19 19:51:09 +00:00
Eli Bendersky f78a9786ee Update documentation of llvm-link to reflect recent cleanups.
llvm-svn: 177411
2013-03-19 16:04:19 +00:00
Sean Silva 8eaf3ca770 [docs] Remove incorrect information about lit.
Lit does support redirects in the 2>&1 style.

llvm-svn: 177403
2013-03-19 15:22:02 +00:00
Eric Christopher 7e66bd3951 Make the fields in the diagram match the descriptive text above them.
llvm-svn: 177314
2013-03-18 20:21:47 +00:00
Matthew Curtis a8b88cc0a8 ReleaseNotes: Tweak hexagonv2/hexagonv3 removal note.
llvm-svn: 177284
2013-03-18 13:08:24 +00:00
Sean Silva ca11d2c7ff [docs] Discuss a potential bug to be aware of.
llvm-svn: 177224
2013-03-16 16:58:20 +00:00
Matthew Curtis e2228a7048 ReleaseNotes: Add Hexagon Target section
And mention removal of hexagonv2 and hexagonv3 support (r176859).

llvm-svn: 176860
2013-03-12 12:20:51 +00:00
Eli Bendersky 9c0d49331e Missing period in doc
llvm-svn: 176809
2013-03-11 16:51:15 +00:00
Sean Silva 22ba6ec69a [docs] Remove explicit authorship.
In the spirit of r172109. Version control keeps a far more detailed
record of authorship anyways.

llvm-svn: 176807
2013-03-11 16:25:16 +00:00
Michael Liao a7699084b9 Remove tailing whitespaces
llvm-svn: 176570
2013-03-06 18:24:34 +00:00
Alexey Samsonov 2bc1012561 Docs for llvm-symbolizer command-line tool
llvm-svn: 176337
2013-03-01 07:58:27 +00:00
Benjamin Kramer a87d5128dd Brag about function call vectorization in the docs.
llvm-svn: 176292
2013-02-28 19:33:46 +00:00
Sean Silva f8e58016f6 [docs] Discuss manpage output.
llvm-svn: 176199
2013-02-27 18:48:42 +00:00
Sean Silva 1b46534445 [docs] Provide pointer for building Sphinx docs.
llvm-svn: 176195
2013-02-27 18:33:21 +00:00
Sean Silva cf6848f112 [docs] Use reST link instead of direct HTML link.
llvm-svn: 176108
2013-02-26 18:22:18 +00:00
Renato Golin 276ec45704 Adding ARM as supported architecture
llvm-svn: 176096
2013-02-26 17:23:13 +00:00
Renato Golin 2c2fce0e00 GCC 4.6.3 O3 miscompiles on ARM
llvm-svn: 176090
2013-02-26 13:32:40 +00:00
Kostya Serebryany cf880b9443 Unify clang/llvm attributes for asan/tsan/msan (LLVM part)
These are two related changes (one in llvm, one in clang).
LLVM: 
- rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
- rename thread_safety => sanitize_thread
- rename no_uninitialized_checks -> sanitize_memory

CLANG: 
- add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
- add __attribute__((no_sanitize_thread))
- add __attribute__((no_sanitize_memory))

for S in address thread memory
If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
set llvm attribute sanitize_S

llvm-svn: 176075
2013-02-26 06:58:09 +00:00
Renato Golin 8b90511e6b ARM build docs easier for copy&paste
llvm-svn: 176033
2013-02-25 18:25:58 +00:00
Renato Golin f2ea19ea2e Add global structure vectorization to docs
llvm-svn: 175965
2013-02-23 13:25:41 +00:00
Pekka Jaaskelainen 119a2b6f31 Made it more explicit that the self-referential llvm.loop identifier metadata
should be unique for each loop.

llvm-svn: 175888
2013-02-22 12:03:07 +00:00
Bill Wendling 09bd1f71ee Implement the NoBuiltin attribute.
The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should
not treat the callee function as a built-in function. I.e., it shouldn't try to
replace that function with different code.

llvm-svn: 175835
2013-02-22 00:12:35 +00:00
Paul Redmond eaaed3b1fe add missing space which prevented the llvm.loop code-block from appearing in the
generated html.

llvm-svn: 175769
2013-02-21 17:20:45 +00:00
Alex Rosenberg 7f5af7f5d2 Spelling corrections
llvm-svn: 175415
2013-02-18 02:44:09 +00:00
Dmitri Gribenko 2b7dd6b147 Documentation: correct syntax (one missing comma, one extra comma)
llvm-svn: 175375
2013-02-16 20:07:40 +00:00
Sean Silva 6c95b97bf6 [docs] PR15254: Add "AST" to the lexicon.
llvm-svn: 175077
2013-02-13 21:17:20 +00:00
Bill Wendling a361c9dd30 Add a blurb about the attributes changes to the release notes.
llvm-svn: 175075
2013-02-13 21:10:15 +00:00
Pekka Jaaskelainen 0d23725a8d Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.

See the documentation update for more info.

llvm-svn: 175060
2013-02-13 18:08:57 +00:00
Tim Northover fb6f08d5bb Mention AArch64 in release notes for 3.3
llvm-svn: 175055
2013-02-13 12:46:32 +00:00
Manuel Klimek 51e31d211c Update phab docs to clarify how to accept a change.
llvm-svn: 175047
2013-02-13 09:07:18 +00:00
Eric Christopher 19690538d3 This is actually located at the end, not the middle.
llvm-svn: 175041
2013-02-13 07:22:25 +00:00
Dmitri Gribenko 1c3e3c1433 Documentation: HowToUseAttributes: formatting (use monospaced font)
llvm-svn: 174982
2013-02-12 18:26:08 +00:00
Joe Abbey ba3e901e14 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.

llvm-svn: 174961
2013-02-12 11:45:22 +00:00
Bill Schmidt 8c0a8e5f6d Restore the resurrected doc link previously deleted
llvm-svn: 174884
2013-02-11 14:14:32 +00:00
Bill Schmidt 37fea43384 Remove a dead PowerPC doc link
llvm-svn: 174881
2013-02-11 13:16:30 +00:00
Kostya Serebryany d688bab563 [tsan/msan] adding thread_safety and uninitialized_checks attributes
llvm-svn: 174864
2013-02-11 08:13:54 +00:00
Tom Stellard 72fffbab66 ReleaseNotes: Add section for R600 backend
llvm-svn: 174764
2013-02-08 22:24:41 +00:00
Sean Silva 7adbc0eaa4 [docs] Tweaks for clarity, readability, and correctness.
llvm-svn: 174749
2013-02-08 21:51:26 +00:00
Bill Schmidt 995bc3f721 More modifications to PowerPC doc links
llvm-svn: 174742
2013-02-08 21:08:22 +00:00
Hal Finkel f3f32d0193 Update PowerPC links in CompilerWriterInfo.rst
This updates the current references to links that work for me.
In the future, we should update the list of references itself to provide
information on newer architecture variants.

Thanks to Sean Silva for pointing out that the current links were broken!

llvm-svn: 174739
2013-02-08 20:24:46 +00:00
Sean Silva 5672a3755b [ReleaseNotes] tidy up organization and formatting
llvm-svn: 174587
2013-02-07 05:56:46 +00:00
Nadav Rotem d58a614be5 Update Release notes regarding TTI.
llvm-svn: 174586
2013-02-07 05:44:58 +00:00
Nadav Rotem e56b05822d Document the loop vectorizer changes.
llvm-svn: 174585
2013-02-07 05:42:31 +00:00
Guy Benyei 5ea04c385f Canonicalize line endings to Linux style also when the --strict-whitespace flag is in use. This flag is supposed to affect horizontal whitespaces only.
llvm-svn: 174541
2013-02-06 20:40:38 +00:00
Bill Wendling 63b8819445 Initial submission for the attribute group feature.
Attribute groups are of the form:

  #0 = attributes { noinline "no-sse" "cpu"="cortex-a8" alignstack=4 }

Target-dependent attributes are represented as strings. Attributes can have
optional values associated with them. E.g., the "cpu" attribute has the value
"cortex-a8".

Target-independent attributes are listed as enums inside the attribute classes.

Multiple attribute groups can be referenced by the same object. In that case,
the attributes are merged together.

llvm-svn: 174493
2013-02-06 06:52:58 +00:00
Bill Wendling bf902f1d0d Alphabetize the function attributes.
llvm-svn: 174490
2013-02-06 06:22:58 +00:00
Dmitri Gribenko a84c59c95a Coding standards: don't use ``inline`` when defining a function in a class
definition

Current practice is not to use 'inline' in:

  class Foo {
  public:
    inline void bar() {
      // ...
    }
  };

llvm-svn: 174317
2013-02-04 10:24:58 +00:00
Patrik Hagglund d91ae4d960 Pass CPPFLAGS/CFLAGS/CXXFLAGS from the environment of configure to
Makefile.config.

This is implied at the bottom of the help text of configure (besides
CC/CXX/LDFLAGS, already passed to Makefile.config).

For backward compatibility, the values of CFLAGS and CXXFLAGS defaults
to empty, overriding the default values provided by autoconf (for
example, '-g -O2' when CC=gcc').

$(CPP) is not used by our makefiles. Therefore, the value of CPP is
not passed to Makefile.config, despite beeing mentioned by 'configure
--help'.

llvm-svn: 174313
2013-02-04 08:15:53 +00:00
Michael Gottesman e743a30850 Removed reference to LLVM as a project (since in LangRef it is used solely as a reference to the IR). Thanks silvas!
llvm-svn: 174301
2013-02-04 03:22:00 +00:00
Michael Gottesman 8901bb66fb Added new Global Variable marker ``externally_initialized'' to LangRef.
llvm-svn: 174270
2013-02-03 09:57:18 +00:00
Michael Gottesman ef2bc77330 Added clarification paragraph to LangRef's documentation of
GlobalVariable about LLVM's assumptions vis-a-vis Global Variable
initial values and Global Variable initializers.

This is in preparation for adding the new keyword
externally_initialized.

Specifically, the patch explains how LLVM optimizes global initializers
by assumign that global variables defined within the module are not
modified from their initial values before the start of the global
initializer.

llvm-svn: 174269
2013-02-03 09:57:15 +00:00
Sean Silva 59e7bd5b5e [docs] Fixup fallout from other grammar fixup.
My "excuse" for not refactoring the grammar here is to not diverge too
far from the grammar in the comments of TGParser.cpp, since I'm not
taking on the quest of majorly refactoring TGParser.cpp at the moment.

One benefit of doing this is that Ideas for refactoring and clarifying
the grammar in this document should translate almost immediately to
beneficial refactorings that can be made to TGParser.cpp.

llvm-svn: 174144
2013-02-01 03:50:20 +00:00
Sean Silva 6868ac4c9c [docs] Add missing colon to TableGen grammar.
Spotted by Eli Bendersky.

llvm-svn: 174143
2013-02-01 03:32:38 +00:00
Tim Northover e0e3aefdd3 Add AArch64 as an experimental target.
This patch adds support for AArch64 (ARM's 64-bit architecture) to
LLVM in the "experimental" category. Currently, it won't be built
unless requested explicitly.

This initial commit should have support for:
    + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions
      (except the late addition CRC instructions).
    + CodeGen features required for C++03 and C99.
    + Compilation for the "small" memory model: code+static data <
      4GB.
    + Absolute and position-independent code.
    + GNU-style (i.e. "__thread") TLS.
    + Debugging information.

The principal omission, currently, is performance tuning.

This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.

Further reviews would be gratefully received.

llvm-svn: 174054
2013-01-31 12:12:40 +00:00
Michael Gottesman 006039cc74 Fixed a mistake in my previous commit where I changed the wording slightly and forgot to undo the change after changing my mind and deciding to only commit the style changes.
llvm-svn: 174041
2013-01-31 05:48:48 +00:00
Michael Gottesman 1cffcf74d1 Formatting Fix. Changed " to `` around the word 'constant' in the Lang Ref
section Global Variable so that the style matches the other keywords in
said section.

llvm-svn: 174040
2013-01-31 05:44:04 +00:00
Andrew Trick 7e6f928a7a LangRef: Add a Rationale for volatile rules.
llvm-svn: 174007
2013-01-31 00:49:39 +00:00
Andrew Trick 89fc5a6627 ...in light of recent activity related to llvm.memcpy flags. I want to
prevent an llvm developer from mistakenly thinking that just because the
intrinsic has volatile flags that volatile operations can be converted
to or folded into them.

Platforms may rely on volatile loads and stores of natively supported
data width to be executed as single instruction. When compiling
C, this expectation likely holds for l-values of volatile primitive
types with native hardware support, but not necessarily for aggregate
types. The frontend upholds these expectations, which are not
specified in the IR.

llvm-svn: 173974
2013-01-30 21:19:35 +00:00
Eli Bendersky 0b85ba7d9e Remove a mention of TargetInstrDescriptor, which no longer exists in the code
llvm-svn: 173971
2013-01-30 20:54:21 +00:00
Sean Silva 1330eccb5f [docs] Guide prospective TableGen backend writers.
Boilerplate is often the hardest part of getting started with these
kinds of things, so throw them a bone.

llvm-svn: 173969
2013-01-30 20:39:46 +00:00
Patrik Hagglund a832ab1bfc Documentation: Updating the data layout default specifications to
correspond to the code.

Patch by Stephen McGruer.

llvm-svn: 173914
2013-01-30 09:02:06 +00:00
Dmitri Gribenko 69b5647369 Documentation: add empty lines so that lists are properly recognized
llvm-svn: 173845
2013-01-29 23:14:41 +00:00
Sean Silva bdb940f960 docs: reorganize front page slightly
llvm-svn: 173718
2013-01-28 21:28:10 +00:00
Dmitri Gribenko 675911d99c Documentation: fix syntax error
Patch by David Waggoner

llvm-svn: 173571
2013-01-26 13:30:13 +00:00
Michael Gottesman 4c8de298bb Fixed typo.
llvm-svn: 173478
2013-01-25 20:20:00 +00:00
Michael Gottesman 8f290a9b3a Added new section to the git-svn getting started section that provides a
custom git script called git-svnup which handles all of the work of
using the git-mirrors/keeping the git-svn numbers in sync.

llvm-svn: 173472
2013-01-25 19:31:09 +00:00
Hal Finkel c7d4dc13a4 Add an addition operator to TableGen
This adds an !add(a, b) operator to tablegen; this will be used
to cleanup the PPC register definitions.

llvm-svn: 173445
2013-01-25 14:49:08 +00:00
Eli Bendersky 4f2162f8f8 Fix small typo
llvm-svn: 173298
2013-01-23 22:05:19 +00:00
Bill Wendling 7c8f96a91b 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.)

llvm-svn: 173231
2013-01-23 06:43:53 +00:00
Bill Wendling d154e283f2 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.

llvm-svn: 173230
2013-01-23 06:41:41 +00:00
Sean Silva 243bc85355 docs: Update title of external tutorial.
llvm-svn: 173224
2013-01-23 03:21:41 +00:00
Joel Jones 7818be446c Fix spelling
llvm-svn: 173103
2013-01-21 23:20:47 +00:00
Michael Ilseman 830875bbda Docs for SparseMultiSet
llvm-svn: 173092
2013-01-21 21:46:32 +00:00
Michael J. Spencer 0ad0f5ebe4 [docs] Update IRC information.
llvm-svn: 172970
2013-01-20 09:38:14 +00:00
Nadav Rotem f4779c1a33 Update the gcc-loops benchmark
llvm-svn: 172966
2013-01-20 07:01:04 +00:00
Nadav Rotem af15daa14f Update the linpack benchmark with different array sizes.
llvm-svn: 172965
2013-01-20 06:52:47 +00:00
Sean Silva cc0614ef41 ReleaseNotes: note Sphinx migration.
llvm-svn: 172955
2013-01-20 03:32:55 +00:00
Sean Silva 1eab30dc17 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).

llvm-svn: 172954
2013-01-20 03:29:50 +00:00
Sean Silva 9d0eb9444e docs: Use proper markup.
These are really definition lists.

llvm-svn: 172950
2013-01-20 02:19:42 +00:00
Sean Silva 12159ffe11 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).

llvm-svn: 172949
2013-01-20 02:19:36 +00:00
Dmitri Gribenko 9e4fc280f9 Documentation: remove more mentions of Tcl
Followup for r172836

llvm-svn: 172918
2013-01-19 20:35:18 +00:00
Dmitri Gribenko e813112c71 Documentation: replace some non-ASCII characters by equivalent markup
llvm-svn: 172917
2013-01-19 20:34:20 +00:00
Daniel Dunbar 9585612876 [MC/Mach-O] Implement integrated assembler support for linker options.
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.

llvm-svn: 172837
2013-01-18 19:37:00 +00:00
Dmitri Gribenko 09a682ab5a Documentation: remove all mentions of DejaGNU and Tcl
We don't have DejaGNU tests now.

llvm-svn: 172836
2013-01-18 19:27:43 +00:00
Eli Bendersky f747bd621d 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.

llvm-svn: 172835
2013-01-18 19:01:34 +00:00
Daniel Dunbar 8a81c24312 [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.

llvm-svn: 172749
2013-01-17 19:52:25 +00:00
Daniel Dunbar 1dc66cafca [docs] Get rid of some UTF8 characters (non-breaking space maybe).
llvm-svn: 172741
2013-01-17 18:57:32 +00:00
Daniel Dunbar 252bedc568 [IR] Reserve/define the purpose for the "Linker Options" metadata flags.
llvm-svn: 172681
2013-01-17 00:16:27 +00:00
Lang Hames 045f439310 Update the description of the llvm.fmuladd.* intrinsics to avoid use of the
ambiguous term 'legal'.

Suggested by Andrew Booker. Thanks Andrew!

llvm-svn: 172680
2013-01-17 00:00:49 +00:00
Dmitri Gribenko 4dc2ba15d7 Documentation: fix a typo 'IEE754'
Reported on IRC by _savage

llvm-svn: 172677
2013-01-16 23:40:37 +00:00
Daniel Dunbar d77d9fb04d [IR] Add 'Append' and 'AppendUnique' module flag behaviors.
llvm-svn: 172659
2013-01-16 21:38:56 +00:00
Daniel Dunbar 25c4b5718b [IR] Add verifier support for llvm.module.flags.
- Also, update the LangRef documentation on module flags to match the
   implementation.

llvm-svn: 172498
2013-01-15 01:22:53 +00:00
Dmitri Gribenko bb13a3c457 Documentation: use monospaced font for intrinsics' names
llvm-svn: 172360
2013-01-13 16:07:49 +00:00
Dmitri Gribenko c5137404f4 Fix broken link to LangRef
llvm-svn: 172359
2013-01-13 16:06:11 +00:00
Tim Northover 4694b54f3f Use more canonical exception-handling link in docs.
llvm-svn: 172325
2013-01-12 19:54:21 +00:00
Tim Northover 53acb32afc Fix broken links around Itanium C++ ABI in documentation.
llvm-svn: 172312
2013-01-12 12:38:54 +00:00
Justin Holewinski f73d7a53ed Remove PTX->NVPTX in CodeGenerator document and update its text.
llvm-svn: 172235
2013-01-11 18:47:10 +00:00
Justin Holewinski ceab0dea55 Update CodeGenerator document to add a "Not Applicable" category to the
Target Feature Matrix, and update the PTX column with this new category.

llvm-svn: 172234
2013-01-11 18:37:54 +00:00
Sean Silva 92a44897a2 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.

llvm-svn: 172162
2013-01-11 02:28:08 +00:00
Sean Silva 216ff2ff29 docs: fix misleading description.
PR14890

llvm-svn: 172160
2013-01-11 01:54:16 +00:00
Chris Lattner 045a73e62d 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.

llvm-svn: 172109
2013-01-10 21:24:04 +00:00
Sean Silva 8e68b792b4 docs: fix broken link.
PR14889

llvm-svn: 172046
2013-01-10 06:39:37 +00:00
Sean Silva 45e4147345 TableGen/LangRef: link bang operators into the productionlist
Now BangOperator should be nicely hyperlinked.

Pointed out by Joel Jones.

llvm-svn: 171942
2013-01-09 02:20:31 +00:00
Sean Silva 543fd7f8be TableGen/LangRef: discuss specific C-like escapes
Suggested by Joel Jones.

llvm-svn: 171941
2013-01-09 02:20:30 +00:00
Sean Silva dce94d3bd2 docs: Fix mention of DefmID to MultiClassID.
llvm-svn: 171940
2013-01-09 02:20:24 +00:00
Sean Silva c95fe2804d 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.

llvm-svn: 171935
2013-01-09 02:11:55 +00:00
Nadav Rotem 9f20781bad Docs: mention that we support float reductions when -ffast-math is used.
llvm-svn: 171873
2013-01-08 17:46:30 +00:00
Eric Christopher 72a529566c Remove the llvm-local DW_TAG_vector_type tag and add a test to
make sure that vector types do work.

llvm-svn: 171833
2013-01-08 01:53:52 +00:00
Eric Christopher 9948d5eb6f Remove what appears to be a dead llvm-specific debug tag.
llvm-svn: 171821
2013-01-08 00:16:33 +00:00
Dmitri Gribenko 0655f6c3d9 Documentation: add a note that Clang on Mageia 2 can not find libstdc++ headers
llvm-svn: 171729
2013-01-07 12:17:44 +00:00
David Blaikie 8e390ea199 Documentation updates for pointer-to-member debug info added in r171698.
llvm-svn: 171701
2013-01-07 06:02:07 +00:00
Sean Silva 1b60018178 tblgen, docs: Add initial syntax reference.
llvm-svn: 171685
2013-01-07 02:43:44 +00:00
Dmitri Gribenko d326f6723a Documentation: add clang 3.0 + libstdc++ 4.7.x as a known bad combination that
is actually used by a few Linux distributions

llvm-svn: 171671
2013-01-06 21:23:27 +00:00
Renato Golin cd48362e62 Add reference to dcommit on GettingStarted
Signed-off-by: Renato Golin <renato.golin@linaro.org>
llvm-svn: 171642
2013-01-06 00:14:27 +00:00
Dmitri Gribenko 801e76900d GettingStarted: improve formatting and document that configure checks for
'clang' to use it as the compiler.

llvm-svn: 171630
2013-01-05 18:10:06 +00:00
Nadav Rotem 09b5a1be8b Update the gcc-loops benchmarks results with the new automatic unrolling feature.
llvm-svn: 171509
2013-01-04 19:10:34 +00:00
Eli Bendersky dcde5cb8da fix a couple of typos
llvm-svn: 171508
2013-01-04 19:09:15 +00:00
Nadav Rotem 014e19c2ca Add linpack-pc bench
llvm-svn: 171499
2013-01-04 19:00:42 +00:00
Nadav Rotem 7daadf21fe Update the docs about the new unroll features.
llvm-svn: 171470
2013-01-04 17:49:45 +00:00
Nadav Rotem 7ea18a763b Reformat the rst text.
llvm-svn: 171449
2013-01-03 01:56:33 +00:00
Nadav Rotem a616d68f2c LoopVectorizer: Document the unrolling feature.
llvm-svn: 171445
2013-01-03 01:47:02 +00:00
Sean Silva e3c5e48fc4 docs: update docs/README.txt and make it useful.
llvm-svn: 171353
2013-01-02 02:31:51 +00:00
NAKAMURA Takumi 43632a26a5 Update the copyright coredits -- Happy new year 2013!
llvm-svn: 171342
2013-01-01 10:00:19 +00:00
Sean Silva 6e4ebb5424 docs: Fix FIXME
I actually made a think-o when writing this FIXME since I wrote LangRef
but it should actually have said WritingAnLLVMBackend.

llvm-svn: 171293
2012-12-31 11:49:51 +00:00
Dmitri Gribenko 12be928dfb Documentation: add a section to prevent spurious test failures like the one
fixed in r171243.

llvm-svn: 171258
2012-12-30 14:51:03 +00:00
Sean Silva 0f2eabce10 docs: Add FAQ about "storing to a virtual register".
This came up for the N+1'st time today in IRC.

llvm-svn: 171155
2012-12-27 10:23:04 +00:00
Sean Silva 33fc6cff4b docs: Move link to the new "external tutorials" area.
llvm-svn: 171154
2012-12-27 08:57:08 +00:00
Nadav Rotem f85d3ee072 docs: Update the benchmark with updated perf numbers.
llvm-svn: 171149
2012-12-27 08:32:44 +00:00
Nadav Rotem 0bbf81e311 Update the docs with the new workload that was added.
llvm-svn: 171115
2012-12-26 19:45:00 +00:00
Nadav Rotem a1d2436b5f revert an accidental commit.
llvm-svn: 171098
2012-12-26 06:16:03 +00:00
Nadav Rotem 7375d35711 Doc: add fmuladd to the list of vectorizeable functions. Thanks hfinkel.
llvm-svn: 171094
2012-12-26 06:03:35 +00:00
Dmitri Gribenko 32e0aa3a50 Documentation: fix typos reported in PR13866
llvm-svn: 171006
2012-12-23 18:46:11 +00:00
Sean Silva ff120c7fc5 docs: Add link to external LLVM backend tutorial.
llvm-svn: 170998
2012-12-23 07:34:51 +00:00
Sean Silva 850861df62 docs: More robust image scaling fix.
Hopefully these benchmarks will be updated in the future, so avoid
hardcoding image dimensions.

llvm-svn: 170819
2012-12-21 00:28:42 +00:00
Sean Silva 35915c6459 docs: Prevent image scaling.
Tell the image to be its natural size.

llvm-svn: 170816
2012-12-21 00:20:25 +00:00
Sean Silva e9ba463632 docs: Try out nosidebar.
Please squawk if you find this appalling or otherwise don't like it.

llvm-svn: 170803
2012-12-20 23:35:22 +00:00
Sean Silva 287e7d275c docs: Cleanup trailing whitespace.
llvm-svn: 170799
2012-12-20 22:59:36 +00:00
Sean Silva e140b2ee67 docs: actually indent these consistently
llvm-svn: 170792
2012-12-20 22:49:13 +00:00
Sean Silva 8c44a4733c docs: Indent consistently in code examples.
llvm-svn: 170791
2012-12-20 22:47:41 +00:00
Sean Silva 99e12f91a6 docs: Improve navigation for Vectorizers.rst
Add links in the intro paragraph.
Add table of contents.

llvm-svn: 170790
2012-12-20 22:42:20 +00:00
Sean Silva fd706f7da9 docs: bring back link for reddit.
llvm-svn: 170776
2012-12-20 22:24:37 +00:00
Sean Silva eae2d90508 docs: Make document name congruent with title.
Hopefully nobody has linked to it yet...

OK'd by Nadav.

llvm-svn: 170768
2012-12-20 21:50:41 +00:00
James Molloy 4f6fb953a7 Add a new attribute, 'noduplicate'. If a function contains a noduplicate call, the call cannot be duplicated - Jump threading, loop unrolling, loop unswitching, and loop rotation are inhibited if they would duplicate the call.
Similarly inlining of the function is inhibited, if that would duplicate the call (in particular inlining is still allowed when there is only one callsite and the function has internal linkage).

llvm-svn: 170704
2012-12-20 16:04:27 +00:00
Sean Silva fe15616449 docs: Show TOC for GettingStarted.rst.
This is a pretty lengthy document, so put the table of contents in your
face so that it's easier to scope out the content.

This document is a mess currently and needs to be
refactored/revised/split-up.

llvm-svn: 170646
2012-12-20 03:32:39 +00:00
Sean Silva 08fd0888cb docs: Clean up adornments.
For whatever reason the usage of '^^^' and '---' adornments were
reversed compared to the "canonical" style of the LLVM docs (which is
currently "the style used in SphinxQuickstartTemplate.rst"). This change
doesn't affect the document structure at all, I'm just doing it for
trivial stylistic consistency (the document content is *much* more
important---thanks Nadav for writing this up!).

Also, trim the adornments to be the same length as the section names.

llvm-svn: 170638
2012-12-20 02:40:45 +00:00
Sean Silva 13ed79c66b docs: ASCII-fy
llvm-svn: 170637
2012-12-20 02:23:25 +00:00
Nadav Rotem 17d745618e doc: resize the image.
llvm-svn: 170622
2012-12-20 00:29:18 +00:00
Nadav Rotem 12da396abc Doc: update the chart.
llvm-svn: 170618
2012-12-20 00:03:36 +00:00
Meador Inge 0fbf321af2 docs: Fix title underline warnings
Building Vectorizers.rst produces a few warnings of the form:

   WARNING: Title underline too short.

Fixed by adding the extra needed dashes under the title.

llvm-svn: 170582
2012-12-19 20:16:40 +00:00
Nadav Rotem 0328f5e57d doc: add subsections.
llvm-svn: 170568
2012-12-19 18:04:44 +00:00
Nadav Rotem 8f4a6cced2 DOC: document the use of O2, O3 and Os with -fvectorize.
llvm-svn: 170567
2012-12-19 18:02:36 +00:00
Dmitri Gribenko d3be5d9bf6 Documentation: add a missing space
llvm-svn: 170542
2012-12-19 12:51:48 +00:00
Nadav Rotem 90c8b4bfa5 DOC: fix the url format.
llvm-svn: 170513
2012-12-19 08:43:05 +00:00
Nadav Rotem 15bdbbe309 DOC: add a benchmarks that compares us to gcc and icc.
llvm-svn: 170509
2012-12-19 08:28:24 +00:00
Nadav Rotem af14a3f20b docs: fix typos.
llvm-svn: 170504
2012-12-19 07:36:35 +00:00
Nadav Rotem c4efbb8b4e DOC: Add a webpage that describes the loop and bb vectorizers.
llvm-svn: 170503
2012-12-19 07:22:24 +00:00
Chandler Carruth 9dcfcf50c2 Actually update the grammar of this sentence to reflect the removal of CellSPU.
llvm-svn: 170268
2012-12-15 08:56:20 +00:00
Duncan Sands 503ce6953f Release notes for dragonegg 3.2.
llvm-svn: 170243
2012-12-14 21:10:59 +00:00
Chandler Carruth 58b3cb6cc2 The CellSPU backend is more than experimental, it's dead now...
llvm-svn: 170201
2012-12-14 13:44:05 +00:00
Chandler Carruth 1e83227942 Remove a section that was in 3.1's notes.
Just give a shout if this was actually still important....

llvm-svn: 170200
2012-12-14 13:43:59 +00:00
Chandler Carruth e6ccc13dbb Remove several entries from the 3.2 release notes that were in the 3.1
release notes already. =]

llvm-svn: 170198
2012-12-14 13:41:02 +00:00
Chandler Carruth 7c5d60c01d Fix the order of these sections of the release notes.
llvm-svn: 170197
2012-12-14 13:37:18 +00:00
Chandler Carruth 108d19e6b5 Add a rough draft of some content about the new SROA. I'll try to proof
read this and clean it up tomorrow, but hopefully it's a good
placeholder.

llvm-svn: 170196
2012-12-14 13:37:17 +00:00
Chandler Carruth b745ac48a6 Delete a long-stale "if its ready" comment. All indications is that this
will look a bit different when we have time to get it ready to turn on,
and we won't likely need this reminder.

llvm-svn: 170195
2012-12-14 13:37:12 +00:00
Chandler Carruth ec86541e9f Provide some actual highlight bullets for Clang.
If anyone has better highlights (I'm obviously biased by the things that
I'm excited about) jump in and add them!

llvm-svn: 170194
2012-12-14 13:22:57 +00:00