Commit Graph

4870 Commits

Author SHA1 Message Date
Rafael Espindola 74f2e46eef Clarify that llvm.used can contain aliases.
Also add a check for llvm.used in the verifier and simplify clients now that
they can assume they have a ConstantArray.

llvm-svn: 180019
2013-04-22 14:58:02 +00:00
Stephen Lin b8bd232a3d Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter).
llvm-svn: 179925
2013-04-20 05:14:40 +00:00
Eli Bendersky c0ef3d8514 Fix grammar in LLVMBuild.rst
llvm-svn: 179768
2013-04-18 16:39:32 +00:00
Eli Bendersky 97ad9245f1 Fixes to LangRef.rst: incorrect attributes syntax and misplaced 'nobuiltin'
Patch by Stephen Lin

llvm-svn: 179763
2013-04-18 16:11:44 +00:00
Eli Bendersky 239a78b835 More consistent formatting and tidying-up
llvm-svn: 179716
2013-04-17 20:17:08 +00:00
Eli Bendersky ca38084d57 Make formatting more consistent and tidy-up.
llvm-svn: 179689
2013-04-17 17:17:20 +00:00
Nadav Rotem 136d50adb2 Fix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizers have (top-down and bottom-up).
llvm-svn: 179566
2013-04-15 22:21:25 +00:00
Nadav Rotem c875cc1273 Fix the internal link.
llvm-svn: 179565
2013-04-15 22:11:07 +00:00
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