Commit Graph

6319 Commits

Author SHA1 Message Date
Sean Silva 216f1ee339 [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.

llvm-svn: 202603
2014-03-02 00:21:42 +00:00
Chandler Carruth 25353acf94 [docs] Update the docs to remove my hedging about C++98 vs. C++11. =]
The switch has been thrown. While I'm still watching for any failures or
problems with this, the documentation can go ahead and move forward.

llvm-svn: 202566
2014-03-01 02:48:03 +00:00
Chandler Carruth 6e390fae4b [docs] Clarify that there isn't much to be done other than watch build
bots when using the standard library facilities. The missing pieces here
aren't always in useful discreet chunks.

Fortunately, the missing pieces are few and far between, and we can
emulate most of them in our headers as needed.

Based on feedback from Lang and Dave.

llvm-svn: 202548
2014-02-28 21:59:51 +00:00
Richard Smith a98d400fec Add more whitespace to fix more bullets.
llvm-svn: 202538
2014-02-28 21:14:25 +00:00
Richard Smith f30ed8f96c Add whitespace to try to fix bulleted list.
llvm-svn: 202537
2014-02-28 21:11:28 +00:00
Ben Langmuir 3b0a866a4c Fix some links to C++11 feature papers in the Coding Standards
llvm-svn: 202532
2014-02-28 19:37:20 +00:00
Gabor Greif 76f166ee0c add missing 3.4 release
llvm-svn: 202531
2014-02-28 19:20:48 +00:00
Chandler Carruth e8c97895ef [docs] Add a section to the coding standards about languages and such.
A lot of this is writing down common knowledge and things often
communicated on mailing lists and in discussions. It could live in the
Programmer's Manual alternatively, but that felt slightly less
well-fitting.

It also includes (and was motivated by) the section on the relevant
language standards for LLVM and the specific features that will be
enabled with the switch to C++11.

With this, all of the documentation for the C++11 switch is, I think, in
place. I plan to flip the switch RSN. =]

llvm-svn: 202497
2014-02-28 13:35:54 +00:00
Chandler Carruth c8ce0659f2 [docs] A slight tweak to the intro for the golden rule in the coding
standards.

It claims the document intentionally doesn't give fixed standards for
brace placement or spacing, and then the document goes on to do
precisely that in several places. Instead, try to highlight that even
these rules are simply *guidance* which may be trumped by some other
circumstance or the local conventions of code.

I'm not trying to change the thrust of this part of the document, and if
folks think this does so, I'm happy to re-wordsmith it. I just don't
want it to be so self-contradicting.

llvm-svn: 202495
2014-02-28 12:24:18 +00:00
Chandler Carruth 518e58205f [docs] Tweak the example to match what is apparantly the desired form
for the style templates we're using.

llvm-svn: 202494
2014-02-28 12:14:56 +00:00
Chandler Carruth 2423e010fc [docs] Switch to external hyperlink references. Much more readable and
hopefully easier to get the formatting right for ReST.

llvm-svn: 202493
2014-02-28 12:09:14 +00:00
Chandler Carruth d9887739c3 [docs] Fix my links to use the correct ReST syntax.
llvm-svn: 202490
2014-02-28 11:12:14 +00:00
Chandler Carruth e70016954b [docs] Fix 80-column wrap that I messed up.
llvm-svn: 202489
2014-02-28 11:11:41 +00:00
Chandler Carruth b2719d48ab [docs] Tweak discussion of BSDs based on feedback from Roman Divacky.
FreeBSD 10.0 and newer have a modern Clang toolchain that should work
well.

llvm-svn: 202488
2014-02-28 11:09:33 +00:00
Chandler Carruth 0ec4f909fc [docs] Add a big section with details about how to go about acquiring
a more modern host C++ toolchain for Linux distros where folks sometimes
don't have a good option to get one as part of their system.

This is a first cut, so feedback, testing, and suggestions are very,
very welcom. This is one of the last real documentation changes that was
specifically requested prior to switching LLVM and Clang to build in
C++11 mode by default.

llvm-svn: 202486
2014-02-28 10:56:57 +00:00
Rafael Espindola a51f0f8367 Now that it is possible, use the mangler in IRObjectFile.
A really simple patch marks the end of a lot of yak shaving :-)

llvm-svn: 202463
2014-02-28 02:17:23 +00:00
Chandler Carruth 4e764b4cb1 [docs] Stop advertising 'make update'. It isn't implemented in CMake and
seems unlikely to be added. It also doesn't seem like it should be part
of the build system at all (consider out-of-tree builds).

We should probably add nice, easy tool for this that works both for svn
client trees and git-svn client trees, but it probably won't be spelled
"make update".

llvm-svn: 202430
2014-02-27 21:19:42 +00:00
Chandler Carruth 55cc48f403 [docs] Actually spell out the new version requirements for the host C++
toolchain of LLVM. These are already being enforced by the build system
and have been discussed quite a few times on the lists, but
documentation is important. =]

Also, garbage collect the majority of the information about broken host
GCC toolchains. These aren't really relevant any more as they're all
older than the minimum requirement. I've left a few notes about
compilers one step older than the current requirement as these compilers
are at least conceivable to use, and it's better to preserve this kind
of hard-won institutional knowledge.

The next step will be some specific docs on how to set up a sufficiently
modern host toolchain if your system doesn't come with one. But that'll
be tomorrow. =]

llvm-svn: 202375
2014-02-27 10:35:57 +00:00
Chandler Carruth 8356ce4121 [docs] Clean up some of the required software to not mention irrelevant
bits of software and to use a modern GCC version.

The Subversion bit was weird anyways -- it has nothing to do with
compiling LLVM. Also, there are many other ways to get at the trunk
source (git, git-svn, etc).

The TeXinfo thing... I have no idea about. But you can get a working
LLVM w/o it pretty easily. If man pages or something are missing, that
hardly seems like a problem. If folks really want this back, let me
know, but it seems mostly like a distraction.

I'd still like to separate this into:
- Required software to compile.
- Optional software to compile.
- Required software for certain *contributor* activities (like
  regenerating configure scripts).

Also we need to mention that there are multiple options for build
systems, and the differences.

Also we should mention Windows.

Also probably other stuff I'm forgetting.

I'm wondering if this whole thing needs to be shot in the head and we
should just start a new, simpler getting started that doesn't have so
many years of accumulated stuff that is no longer relevant.

llvm-svn: 202373
2014-02-27 09:57:48 +00:00
Chandler Carruth e04872dbc3 [docs] Switch this table to the simple form as well. No content changed.
llvm-svn: 202372
2014-02-27 09:46:09 +00:00
Chandler Carruth 4ef7efe771 [docs] Switch to the incredibly simpler "simple table" form. It now
actually looks like the table on the webpage and is entertainingly
smaller, easier to read, and easier to edit.

llvm-svn: 202371
2014-02-27 09:41:13 +00:00
Chandler Carruth 41e1b91750 [docs] Delete tons of bad information in the requirements section of the
getting started guide.

Some highlights:
- I heard there was this Clang compiler that you could use for your
  host compiler. Not sure though.
- We no longer have a GCC frontend with weird build restrictions.
- Windows is doing a bit better than partially supported.
- We nuked everything to do with itanium.
- SPUs? Really?
- Xcode 2.5 and gcc 4.0.1 are really not a concern -- they don't work.
- OMG, we actually tried building LLVM on Alpha? Really?
- PowerPC works pretty well these days.

There is still a lot of stuff here I'm pretty dubious about, but I nuked
most of what was actively misleading, out of date, or patently wrong.
Some of it (mingw stuff especially) isn't really lacking, its just that
the comments here were actively wrong. Hopefully folks that know those
platforms can add back correct / modern information.

llvm-svn: 202370
2014-02-27 09:33:55 +00:00
Mark Seaborn 20f9ddbb6b Exception handling docs: Fix a typo
llvm-svn: 202354
2014-02-27 06:54:04 +00:00
Mark Seaborn 202169afa1 Exception handling docs: Describe landingpad clauses' meanings in more detail
The original text is very terse, so I've expanded on it.

Specifically, in the original text:

 * "The selector value is a positive number if the exception matched a
   type info" -- It wasn't clear that this meant "if the exception
   matched a 'catch' clause".

 * "If nothing is matched, the behavior of the program is
   `undefined`_."  -- It's actually implementation-defined in C++
   rather than undefined, as the new text explains.

llvm-svn: 202209
2014-02-25 23:48:59 +00:00
Rafael Espindola 48fa6ed153 Make DisableIntegratedAS a TargetOption.
This replaces the old NoIntegratedAssembler with at TargetOption. This is
more flexible and will be used to forward clang's -no-integrated-as option.

llvm-svn: 201836
2014-02-21 03:13:54 +00:00
Daniel Sanders 66d797af1f Added release note about making all inline assembly parsed (even for assembly
output) when the integrated assembler is enabled.

llvm-svn: 201770
2014-02-20 09:24:15 +00:00
Sean Silva e0ddc731a4 [docs] Clean up some more llvm-gcc stuff
Some references to llvm-gcc were so crusty that I wasn't sure how to
proceed and so I've left them intact.

I also slipped in a quick peephole fix to use a :doc: link instead of
raw HTML link.

llvm-svn: 201619
2014-02-19 00:12:34 +00:00
Sean Silva aa06286d85 [docs] Nuke some references to llvm-gcc
From a cursory look it seems like all the described commandline options
and such apply to clang just fine, but I'd appreciate a second opinion.

llvm-svn: 201616
2014-02-18 23:56:43 +00:00
Duncan P. N. Exon Smith 846a627f5c PGO: llvm-profdata: tool for merging profiles
Introducing llvm-profdata, a tool for merging profile data generated by
PGO instrumentation in clang.

- The name indicates a file extension of <name>.profdata.  Eventually
  profile data output by clang should be changed to that extension.

- llvm-profdata merges two profiles.  However, the name is more general,
  since it will likely pick up more tasks (such as summarizing a single
  profile).

- llvm-profdata parses the current text-based format, but will be
  updated once we settle on a binary format.

<rdar://problem/15949645>

llvm-svn: 201535
2014-02-17 23:22:49 +00:00
Nico Rieck c4e7f305df Cleanup docs about lit substitutions
llvm-svn: 201464
2014-02-15 08:35:56 +00:00
Nico Rieck e52d293854 Fix typo
llvm-svn: 201461
2014-02-15 06:02:36 +00:00
Mark Seaborn 6e15ee85d1 Add a note about using "Differential Revision:" in commit messages
I noticed this convention from the commit logs.  It seems like it
would be useful to document it, to encourage other committers to link
back to code reviews in their commits.

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

llvm-svn: 201160
2014-02-11 16:58:03 +00:00
Sean Silva b829418bc3 [docs] [tblgen] clarify that code fragments are just string literals
Fun fact: looking at the TableGen code (around TGParser.cpp:1166), the
only difference in handling is that adjacent regular string literals are
concatenated in the parser.

llvm-svn: 201035
2014-02-09 02:54:26 +00:00
Sean Silva 2485c214ec [docs] [tblgen] There is no "code" type.
Code fragments are just fancy string literals.

llvm-svn: 201034
2014-02-09 02:54:15 +00:00
Sean Silva cc373354b8 [docs] TableGen easter egg: Multiline string literals
They're called code fragments, but they are really multiline string
literals. Just spotted this usage in a patch by Aaron using "code
fragments" for holding documentation text. I remember someone bemoaning
the lack of multiline string literals in TableGen, so I'm explicitly
documenting that code fragments are multiline string literals.

Let it be known that any use case needing multiline string literals in
TableGen (such as descriptions of options, or whatnot) can use use
code fragments (instead of C-style string concatenation or exceedingly
long lines). E.g.

    class Bar<int n>;
    class Baz<int n>;
    class Doc<string desc> {
        string Desc = desc;
    }
    def Foo : Bar<1>, Baz<3>, Doc<[{
    This Foo is a Bar, and also a Baz. It can take 3 values:
        * Qux
        * Quux
        * Quuux
    }]>;

llvm-svn: 201033
2014-02-09 02:43:50 +00:00
Rafael Espindola b4eec1daa1 Remove support for not using .loc directives.
Clang itself was not using this. The only way to access it was via llc.

llvm-svn: 200862
2014-02-05 18:00:21 +00:00
Tom Stellard 711ce3db3d HowToReleaseLLVM: Add information about dot releases
Based on the following discussion:
http://llvm.1065342.n5.nabble.com/LLVM-3-4-stable-releases-td65005.html

llvm-svn: 200772
2014-02-04 17:18:20 +00:00
Dmitri Gribenko 57150d3a22 Add a note to documentation that Clang + libstdc++ 4.7.2 can not be used to build LLD.
llvm-svn: 200758
2014-02-04 12:02:13 +00:00
Venkatraman Govindaraju 5a96c87b7e Add a note about Clang+LLVM on Sparc64.
llvm-svn: 200699
2014-02-03 15:28:26 +00:00
Duncan P. N. Exon Smith 1ff08e389f Lower llvm.expect intrinsic correctly for i1
LowerExpectIntrinsic previously only understood the idiom of an expect
intrinsic followed by a comparison with zero. For llvm.expect.i1, the
comparison would be stripped by the early-cse pass.

Patch by Daniel Micay.

llvm-svn: 200664
2014-02-02 22:43:55 +00:00
Josh Magee 24c7f06333 [stackprotector] Implement the sspstrong rules for stack layout.
This changes the PrologueEpilogInserter and LocalStackSlotAllocation passes to
follow the extended stack layout rules for sspstrong and sspreq.

The sspstrong layout rules are:
 1. Large arrays and structures containing large arrays (>= ssp-buffer-size)
are closest to the stack protector.
 2. Small arrays and structures containing small arrays (< ssp-buffer-size) are
2nd closest to the protector.
 3. Variables that have had their address taken are 3rd closest to the
protector.


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

llvm-svn: 200601
2014-02-01 01:36:16 +00:00
Reid Kleckner f5b76518c9 Implement inalloca codegen for x86 with the new inalloca design
Calls with inalloca are lowered by skipping all stores for arguments
passed in memory and the initial stack adjustment to allocate argument
memory.

Now the frontend is responsible for the memory layout, and the backend
doesn't have to do any work.  As a result these changes are pretty
minimal.

Reviewers: echristo

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

llvm-svn: 200596
2014-01-31 23:50:57 +00:00
Reid Kleckner 1c843228f8 [ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret'
MSVC always places the 'this' parameter for a method first.  The
implicit 'sret' pointer for methods always comes second.  We already
implement this for __thiscall by putting sret parameters on the stack,
but __cdecl methods require putting both parameters on the stack in
opposite order.

Using a special calling convention allows frontends to keep the sret
parameter first, which avoids breaking lots of assumptions in LLVM and
Clang.

Fixes PR15768 with the corresponding change in Clang.

Reviewers: ributzka, majnemer

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

llvm-svn: 200561
2014-01-31 17:41:22 +00:00
Matt Arsenault ee364ee729 Allow speculating llvm.sqrt, fma and fmuladd
This doesn't set errno, so this should be OK.
Also update the documentation to explicitly state
that errno are not set.

llvm-svn: 200501
2014-01-31 00:09:00 +00:00
Juergen Ributzka fb4d648295 [Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic.
Re-applying the patch, but this time without using AsmPrinter methods.

Reviewed by Andy

llvm-svn: 200481
2014-01-30 18:58:27 +00:00
Juergen Ributzka f6f0ce903e Revert "[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic."
This reverts commit r200444 to unbreak buildbots.

llvm-svn: 200445
2014-01-30 03:34:02 +00:00
Juergen Ributzka aece7583a7 [Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic.
Reviewed by Andy

llvm-svn: 200444
2014-01-30 03:06:14 +00:00
Juergen Ributzka 980f2dc4fc Extend the preserve_most/all calling convention description in LangRef about the
fact that the argument registers will be preserved too.

llvm-svn: 200441
2014-01-30 02:39:00 +00:00
Renato Golin bfcefb39db Document EHABI enabled by default
llvm-svn: 200390
2014-01-29 12:04:13 +00:00
Aaron Ballman 1e9d9b20fa Updating the getting started guide for Visual Studio a smidge.
llvm-svn: 199934
2014-01-23 20:46:44 +00:00
Chandler Carruth 36dc51910a Revert my commit in r199620 that added sections about namespaces to the
coding standards, and instead fix the existing section.

Thanks to Daniel Jasper for pointing out we already had a section
devoted to this topic. Instead of adding sections, just hack on this
section some. Also fix the example in the anonymous namespace section
below it to agree with the new advice.

As a re-cap, this switches the LLVM preferred style to never indent
namespaces. Having two approaches just led to endless (and utterly
pointless) debates about what was "small enough". This wasn't helping
anyone. The no-indent rule is easy to understand and doesn't really make
anything harder to read. Moreover, with tools like clang-format it is
considerably nicer to have simple consistent rules.

llvm-svn: 199637
2014-01-20 10:15:32 +00:00
Chandler Carruth 8660df47e5 Add some wording to the coding standards to say how to indent namespaces
(and to mention namespace ending comments). This is based on a quick
discussion on the developer mailing list where there was essentially no
objections to a simple and consistent rule. This should avoid future
debates about whether or not a namespace is "big enough" to indent. It
also matches clang-format's current behavior with LLVM source code which
hasn't really seen any opposition in code reviews that I spot checked.

llvm-svn: 199620
2014-01-20 01:40:43 +00:00
Reid Kleckner 436c42ec3d Add an inalloca flag to allocas
Summary:
The only current use of this flag is to mark the alloca as dynamic, even
if its in the entry block.  The stack adjustment for the alloca can
never be folded into the prologue because the call may clear it and it
has to be allocated at the top of the stack.

Reviewers: majnemer

CC: llvm-commits

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

llvm-svn: 199525
2014-01-17 23:58:17 +00:00
Juergen Ributzka 5d05ed1d17 Update LangRef to emphasize the difference between "coldcc" and "preserve_mostcc".
llvm-svn: 199521
2014-01-17 22:24:35 +00:00
Juergen Ributzka e625013071 Add two new calling conventions for runtime calls
This patch adds two new target-independent calling conventions for runtime
calls - PreserveMost and PreserveAll.
The target-specific implementation for X86-64 is defined as following:
  - Arguments are passed as for the default C calling convention
  - The same applies for the return value(s)
  - PreserveMost preserves all GPRs - except R11
  - PreserveAll preserves all GPRs and all XMMs/YMMs - except R11

Reviewed by Lang and Philip

llvm-svn: 199508
2014-01-17 19:47:03 +00:00
Reid Kleckner 60d3a835ff Change inalloca rules to make it only apply to the last parameter
This makes things a lot easier, because we can now talk about the
"argument allocation", which allocates all the memory for the call in
one shot.

The only functional change is to the verifier for a feature that hasn't
shipped yet.

llvm-svn: 199434
2014-01-16 22:59:24 +00:00
Hans Wennborg d4245acf19 LangRef.rst: fix LangRef data layout text about m specifier, take 2
llvm-svn: 199286
2014-01-15 02:49:17 +00:00
Hans Wennborg 773353b174 LangRef: attempt to fix line breaks
The line breaks around the "m:<mangling>" text in the Data Layout section
look weird. Let's see if this helps.

llvm-svn: 199285
2014-01-15 02:30:37 +00:00
Nico Rieck 7157bb765e Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using
these attributes on templates and inline functions.

Instead of introducing further mixed linkage types to include linkonce and
weak ODR, the old import/export linkage types are replaced with a new
separate visibility-like specifier:

  define available_externally dllimport void @f() {}
  @Var = dllexport global i32 1, align 4

Linkage for dllexported globals and functions is now equal to their linkage
without dllexport. Imported globals and functions must be either
declarations with external linkage, or definitions with
AvailableExternallyLinkage.

llvm-svn: 199218
2014-01-14 15:22:47 +00:00
Nico Rieck 9d2e0df049 Revert "Decouple dllexport/dllimport from linkage"
Revert this for now until I fix an issue in Clang with it.

This reverts commit r199204.

llvm-svn: 199207
2014-01-14 12:38:32 +00:00
Nico Rieck e43aaf7967 Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using
these attributes on templates and inline functions.

Instead of introducing further mixed linkage types to include linkonce and
weak ODR, the old import/export linkage types are replaced with a new
separate visibility-like specifier:

  define available_externally dllimport void @f() {}
  @Var = dllexport global i32 1, align 4

Linkage for dllexported globals and functions is now equal to their linkage
without dllexport. Imported globals and functions must be either
declarations with external linkage, or definitions with
AvailableExternallyLinkage.

llvm-svn: 199204
2014-01-14 11:55:03 +00:00
Tim Northover cdc5395680 Docs: fix sign of division and increase equivocation on code generated.
I should have been a politician.

llvm-svn: 199092
2014-01-13 10:47:04 +00:00
Juergen Ributzka 976d94b834 [anyregcc] Fix callee-save mask for anyregcc
Use separate callee-save masks for XMM and YMM registers for anyregcc on X86 and
select the proper mask depending on the target cpu we compile for.

llvm-svn: 198985
2014-01-11 01:00:27 +00:00
Rafael Espindola 1840ad4e57 Add a note about the old asm printer being removed.
llvm-svn: 198960
2014-01-10 22:06:26 +00:00
Rafael Espindola af77e1205a Use 'w' instead of 'c' to represent the win32 mangling.
This change was requested to avoid confusion if we ever support non windows coff
systems.

llvm-svn: 198938
2014-01-10 13:42:12 +00:00
Chandler Carruth 85dac69ba1 Update the developer policy to more clearly spell out the steps for
contributors to submit patches to the LLVM project. Thanks to Danny,
Chris, Alp, and others for reviewing.

llvm-svn: 198901
2014-01-10 00:08:34 +00:00
Nico Rieck ea623c6f10 Remove mention of old deleted test scripts from testing guide
llvm-svn: 198771
2014-01-08 16:30:03 +00:00
Rafael Espindola abdd726ce5 Improve documentation of the 'a' specifier and the '<abi>:<pref>' align pair.
llvm-svn: 198636
2014-01-06 21:40:24 +00:00
Rafael Espindola aa842f06bd Fix typo.
Thanks to Owen Anderson for noticing it.

llvm-svn: 198443
2014-01-03 19:42:04 +00:00
Rafael Espindola 58873566b3 Make the llvm mangler depend only on DataLayout.
Before this patch any program that wanted to know the final symbol name of a
GlobalValue had to link with Target.

This patch implements a compromise solution where the mangler uses DataLayout.
This way, any tool that already links with Target (llc, clang) gets the exact
behavior as before and new IR files can be mangled without linking with Target.

With this patch the mangler is constructed with just a DataLayout and DataLayout
is extended to include the information the Mangler needs.

llvm-svn: 198438
2014-01-03 19:21:54 +00:00
Rafael Espindola 6994fdf33c Remove the 's' DataLayout specification
During the years there have been some attempts at figuring out how to
align byval arguments. A look at the commit log suggests that they
were

* Use the ABI alignment.
* When that was not sufficient for x86-64, I added the 's' specification to
  DataLayout.
* When that was not sufficient Evan added the virtual getByValTypeAlignment.
* When even that was not sufficient, we just got the FE to add the alignment
  to the byval.

This patch is just a simple cleanup that removes my first attempt at fixing the
problem. I also added an AArch64 implementation of getByValTypeAlignment to
make sure this patch is a nop. I also left the 's' parsing for backward
compatibility.

I will send a short email to llvmdev about the change for anyone maintaining
an out of tree target.

llvm-svn: 198287
2014-01-01 22:29:43 +00:00
NAKAMURA Takumi d40d387fb1 Update the copyright credits -- Happy new year 2014!
FIXME: Dragonegg may be updated at non-trivial changes.
llvm-svn: 198274
2014-01-01 08:27:31 +00:00
Alexey Samsonov 27fbf0efd1 Remove link to unexisting llvm-prof docs
llvm-svn: 197989
2013-12-24 19:58:49 +00:00
Alexey Samsonov 60e59e29f8 llvm-symbolizer: add --obj flag to specify a single object file that should be symbolized.
llvm-svn: 197988
2013-12-24 19:33:22 +00:00
Andrew Trick 5e029cecdf 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.

llvm-svn: 197930
2013-12-24 02:57:25 +00:00
Timur Iskhodzhanov c1fb2d6111 [COFF] Add support for the .secidx directive
Reviewed at http://llvm-reviews.chandlerc.com/D2445

llvm-svn: 197826
2013-12-20 18:15:00 +00:00
Timur Iskhodzhanov 18f666b524 Fix a typo in the docs
llvm-svn: 197798
2013-12-20 10:32:12 +00:00
Alp Toker 171b0c36a3 Fix documentation typos
llvm-svn: 197757
2013-12-20 00:33:39 +00:00
Rafael Espindola 694b265d1f Update the links to the SPARC information.
llvm-svn: 197719
2013-12-19 20:54:33 +00:00
Reid Kleckner a534a38130 Begin adding docs and IR-level support for the inalloca attribute
The inalloca attribute is designed to support passing C++ objects by
value in the Microsoft C++ ABI.  It behaves the same as byval, except
that it always implies that the argument is in memory and that the bytes
are never copied.  This attribute allows the caller to take the address
of an outgoing argument's memory and execute arbitrary code to store
into it.

This patch adds basic IR support, docs, and verification.  It does not
attempt to implement any lowering or fix any possibly broken transforms.

When this patch lands, a complete description of this feature should
appear at http://llvm.org/docs/InAlloca.html .

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

llvm-svn: 197645
2013-12-19 02:14:12 +00:00
Eli Bendersky b512b968e6 Fix code sample in NVPTX examples: now it compiles to PTX and runs as expected.
llvm-svn: 197498
2013-12-17 14:14:15 +00:00
Renato Golin a4ecd46fab Add ARM to release instructions
llvm-svn: 197220
2013-12-13 09:39:36 +00:00
Rafael Espindola e8f4d58700 Use "a" instead of "a0" in DataLayout.
It means exactly the same and is just a bit shorter.

llvm-svn: 197169
2013-12-12 17:21:51 +00:00
Rafael Espindola 2f6d7b96e7 Use Field Lists for the types' "Overview", "Syntax" and "Examples".
Thanks to Sean Silva for the suggestion.

llvm-svn: 196924
2013-12-10 14:53:22 +00:00
Rafael Espindola 080133453b Remove the notion of primitive types.
They were out of place since the introduction of arbitrary precision integer
types.

This also synchronizes the documentation to Types.h, so it refers to first class
types and single value types.

llvm-svn: 196661
2013-12-07 19:34:20 +00:00
Vincent Lejeune 92b0a64906 Add a RequireStructuredCFG Field to TargetMachine.
llvm-svn: 196634
2013-12-07 01:49:19 +00:00
Yunzhong Gao f5b769e4f2 Document that dllexported symbols are preserved by optimization passes.
llvm-svn: 196523
2013-12-05 18:37:54 +00:00
Alp Toker f907b891da Correct word hyphenations
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities and contractions in nearby lines.

llvm-svn: 196471
2013-12-05 05:44:44 +00:00
Sean Silva e6c6d56cab [LangRef] Remove (non-normative) paragraph that doesn't make sense.
It appears to be referring to nonexistent entities. This must be a
carry-over from an older version of the document.

Patch by Mikael Lyngvig!

llvm-svn: 196342
2013-12-04 02:19:25 +00:00
Alp Toker 6720f9d7d0 Update the LTO GoldPlugin documentation
* Update build instructions to reflect the current source tree layout.
 * Don't inflict CVS on readers; there's a perfectly good git mirror.
 * configure with --disable-werror making it possible to build using clang.
 * ar and nm-new now support the -plugin option.

llvm-svn: 196069
2013-12-02 07:15:33 +00:00
Sean Silva 6cda6dc6cf [docs] Mention gotcha regarding implicit BB numbering
Impetus for the clarification by Mikael Lyngvig.

llvm-svn: 195812
2013-11-27 04:55:23 +00:00
Arnaud A. de Grandmaison b697b538dc CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)
In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it.

This mimics the autoconf behaviour.

However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities.

llvm-svn: 195727
2013-11-26 10:33:53 +00:00
Benjamin Kramer c680226fbf Remove dangling documentation. llvm-prof was deleted a while ago.
llvm-svn: 195372
2013-11-21 19:32:37 +00:00
Nick Kledzik 7cd45f29b2 YAML I/O add support for validate()
MappingTrait template specializations can now have a validate() method which 
performs semantic checking. For details, see <http://llvm.org/docs/YamlIO.html>.

llvm-svn: 195286
2013-11-21 00:28:07 +00:00
Bill Wendling 70d39e6fa3 Update to reflect the next release.
llvm-svn: 195235
2013-11-20 10:10:50 +00:00
Rafael Espindola 60ec3836a2 Support multiple COFF sections with the same name but different COMDAT.
This is the first step to fix pr17918.

It extends the .section directive a bit, inspired by what the ELF one looks
like. The problem with using linkonce is that given

.section foo
.linkonce....

.section foo
.linkonce

we would already have switched sections when getting to .linkonce. The cleanest
solution seems to be to add the comdat information in the .section itself.

llvm-svn: 195148
2013-11-19 19:52:52 +00:00
John Thompson 48e018a314 YAML I/O - Added default trait support for std:string. Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
llvm-svn: 195134
2013-11-19 17:28:21 +00:00
Ahmed Bougacha efb0d6bf1a Docs: tweak code-block spacing.
llvm-svn: 195049
2013-11-18 22:26:59 +00:00
Paul Robinson dcbe35bad5 The 'optnone' attribute means don't inline anything into this function
(except functions marked always_inline).
Functions with 'optnone' must also have 'noinline' so they don't get
inlined into any other function.

Based on work by Andrea Di Biagio.

llvm-svn: 195046
2013-11-18 21:44:03 +00:00
Daniel Sanders 151f06d80d [mips][msa] Add MSA to the release notes.
llvm-svn: 195001
2013-11-18 10:38:47 +00:00
Ahmed Bougacha 31377593bc TableGen: Generate an enum for all named Operand types in tblgen'd InstrInfo.
llvm-svn: 194978
2013-11-17 21:24:41 +00:00
Ahmed Bougacha 7d705a8c92 Docs: Clearly separate Operand-related paragraphs.
llvm-svn: 194977
2013-11-17 21:24:37 +00:00
Ahmed Bougacha d24faecc25 Docs: Fix typo: NoIntinerary -> NoItinerary.
llvm-svn: 194976
2013-11-17 21:24:34 +00:00
Matt Arsenault b83422612a Mention address space related changes in release notes.
llvm-svn: 194904
2013-11-16 00:36:46 +00:00
Matt Arsenault 9c13dd027b Fix typos.
I somehow didn't notice before that the examples
for addrspacecast use the wrong syntax for addrspace.

llvm-svn: 194868
2013-11-15 22:43:50 +00:00
Justin Holewinski f4919c545d [NVPTX] Fix type in usage doc
llvm-svn: 194821
2013-11-15 16:08:49 +00:00
Justin Holewinski fb9bd75370 [NVPTX] Update the usage document
llvm-svn: 194812
2013-11-15 13:02:10 +00:00
Renato Golin 8e3c8584e9 Adding some info about stability of ARM boards
Patch by Mikael Lyngvig

llvm-svn: 194794
2013-11-15 08:42:14 +00:00
Matt Arsenault 54a2a179a1 Fix grammar in addrspacecast description
llvm-svn: 194785
2013-11-15 05:44:56 +00:00
Matt Arsenault b03bd4d96b Add addrspacecast instruction.
Patch by Michele Scandale!

llvm-svn: 194760
2013-11-15 01:34:59 +00:00
Paul Robinson 687915ffff Typos. (Test commit.)
llvm-svn: 194720
2013-11-14 18:47:23 +00:00
Kai Nacke ec6e392975 Add external project LDC to release notes.
LDC, the LLVM-based D compiler, is already using LLVM 3.4.

llvm-svn: 194665
2013-11-14 05:57:40 +00:00
Nick Kledzik 1e6033ca33 Add simple support for tags in YAML I/O
llvm-svn: 194644
2013-11-14 00:59:59 +00:00
Hans Wennborg 4656ec1e70 Revert my CMake patches concerning building with /MT (r194589, r194596)
Reid pointed out we already have LLVM_USE_CRT_{buildtype} to set it.

llvm-svn: 194604
2013-11-13 20:29:10 +00:00
Hans Wennborg fc59812bee CMake: make building with /MT an option instead of always forcing it
for release builds.

This is a follow-up to r194589. Aaron pointed out that building
libraries with /MT and using them in an application that uses a
different run-time library can be a bad idea.

Move the option to build with /MT behind a CMake option so it can be
turned on selectively, such as when building the toolchain installer.

llvm-svn: 194596
2013-11-13 19:12:02 +00:00
Matt Arsenault 72c83a867c Add new FileCheck feature to 3.4 release notes
llvm-svn: 194456
2013-11-12 08:05:30 +00:00
Sylvestre Ledru def97f4f26 Update of the 'Code Review' page. The link is now called 'Create Diff' instead of 'Create Revision'
llvm-svn: 194378
2013-11-11 14:27:56 +00:00
Matt Arsenault 13df462691 Allow multiple check prefixes in FileCheck.
This is useful if you want to run multiple variations
of a single test, and the majority of check lines
should be the same.

llvm-svn: 194343
2013-11-10 02:04:09 +00:00
Chandler Carruth c089d826d9 Add the fact that we anticipate switching to use (some subset of) C++11
after the 3.4 release to the release notes. See the *lengthy* llvmdev
and cfe-dev threads on this subject. There will be more emails,
discussion and announcements, but I want to make noise in as many places
as I can to get everyone's concerns voiced and understood.

llvm-svn: 194183
2013-11-07 00:23:08 +00:00
Peter Zotov c2a9fe7a77 [OCaml] (PR10016) Add a few missing line in OCamlLangImpl2.rst
Original patch by Damien Schoof

llvm-svn: 194067
2013-11-05 12:14:04 +00:00
Sean Silva 75c718521d [docs] Add link to 32-bit ARM ELF supplement.
llvm-svn: 194011
2013-11-04 19:43:36 +00:00
Rafael Espindola 716e7405d3 Remove linkonce_odr_auto_hide.
linkonce_odr_auto_hide was in incomplete attempt to implement a way
for the linker to hide symbols that are known to be available in every
TU and whose addresses are not relevant for a particular DSO.

It was redundant in that it all its uses are equivalent to
linkonce_odr+unnamed_addr. Unlike those, it has never been connected
to clang or llvm's optimizers, so it was effectively dead.

Given that nothing produces it, this patch just nukes it
(other than the llvm-c enum value).

llvm-svn: 193865
2013-11-01 17:09:14 +00:00
Andrew Trick d4d1d9c06e whitespace
llvm-svn: 193765
2013-10-31 17:18:07 +00:00
Benjamin Kramer 0463e83b1b fix RST reference in Writing an LLVM Pass
Currently, instead of showing up as link, it is rendered as

  ...of FunctionPass <writing-an-llvm-pass-FunctionPass>. The...

PR17733. Patch by Tay Ray Chuan!

llvm-svn: 193698
2013-10-30 17:09:32 +00:00
Benjamin Kramer 3b32b2ff10 Fix common typos in the docs.
llvm-svn: 193632
2013-10-29 17:53:27 +00:00
Rafael Espindola 5d1b745689 Clarify that GlobalVariables definitions must have an initializer.
llvm-svn: 193609
2013-10-29 13:44:11 +00:00
Bill Wendling 4965e900d9 Remove stray '_'.
llvm-svn: 193543
2013-10-28 21:43:54 +00:00
Bill Wendling c14b8043bb Use the correct reference. Spotted by Sean Silva.
llvm-svn: 193542
2013-10-28 21:43:11 +00:00
Bill Wendling 6822ecb087 A small grammar-os fixed.
llvm-svn: 193496
2013-10-27 05:09:12 +00:00
Bill Wendling e814a37a72 Update to current output.
PR14039

llvm-svn: 193494
2013-10-27 04:50:34 +00:00
Bill Wendling 29c7f168cb Fix Sphinx warning.
llvm-svn: 193493
2013-10-27 04:25:02 +00:00
Bill Wendling e9d5c4809d Update to specify that both metadata and label types aren't proper return types.
PR15447

llvm-svn: 193492
2013-10-27 04:19:29 +00:00
Bill Wendling 27f96dae10 Update the Python version. And Perl isn't used anymore.
PR17608

llvm-svn: 193491
2013-10-27 04:02:21 +00:00
Bill Wendling 7bf172cd45 Update link.
PR17608

llvm-svn: 193490
2013-10-27 03:57:10 +00:00
Shuxin Yang 2e1890e18b Revert r193251 : Use address-taken to disambiguate global variable and indirect memops.
llvm-svn: 193489
2013-10-27 03:08:44 +00:00
John Thompson 6cd5bd4a3d Reverting my r193344 checkin due to build breakage.
llvm-svn: 193350
2013-10-24 14:52:56 +00:00
John Thompson e38e57206f Added std::string as a built-in type for mapping.
llvm-svn: 193344
2013-10-24 13:36:58 +00:00
Shuxin Yang e4fb375995 Use address-taken to disambiguate global variable and indirect memops.
Major steps include:
 1). introduces a not-addr-taken bit-field in GlobalVariable
 2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable 
    dosen't have its address taken.
 3). AA use this info for disambiguation. 

llvm-svn: 193251
2013-10-23 17:28:19 +00:00
Bill Wendling 5cc9084dd7 Write a simple description of the 'target triple' directive. This should be expanded. PR8976.
llvm-svn: 193014
2013-10-18 23:41:25 +00:00
Bill Wendling 61163151f7 Clarify that an alignment of 0 or 1 on a mem* intrinsic means 'no alignment'.
llvm-svn: 193012
2013-10-18 23:26:55 +00:00
Bill Wendling 0b55b4a208 Remove reference to obsolete arguments.
llvm-svn: 193009
2013-10-18 23:11:25 +00:00
Bill Wendling 547a7afd32 Update to reflect current GC APIs and usage. The example code is taken from the Erlang GC implementation.
llvm-svn: 193008
2013-10-18 23:09:06 +00:00
Alp Toker 4655259769 Developer policy amendment regarding confidentiality notices
Thanks to Daniel Berlin and Nadav Rotem for feedback and rewording!

Discussion:
  http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20131014/191677.html

Reviewed by: nrotem, dberlin

llvm-svn: 192958
2013-10-18 08:45:43 +00:00
Rafael Espindola fd69f369a6 Remove an outdated statement.
Aliases now have their own section where we document which linkages they can
have.

llvm-svn: 192825
2013-10-16 18:37:51 +00:00
Rafael Espindola b665d79f14 Add more documentation about the TargetStreamer interface.
llvm-svn: 192796
2013-10-16 14:54:39 +00:00
David Majnemer 5f16063dcd docs: Remove incompatibility with Solaris shell
There doesn't seem to be a need in checking if a directory exists if we
will just rm -rf it once we affirm that it does.  Instead, just blindly
try to delete it.

This fixes PR17541.

llvm-svn: 192679
2013-10-15 08:30:07 +00:00
Renato Golin 58ab84a830 Add warning about CHECK-DAG with variable definition
llvm-svn: 192479
2013-10-11 18:50:22 +00:00
Bill Wendling a40c5263ed Add missing releases.
llvm-svn: 192304
2013-10-09 17:37:04 +00:00
Rafael Espindola 974efd3208 Add a paragraph about MCTargetStreamer.
llvm-svn: 192265
2013-10-09 02:05:08 +00:00
Rafael Espindola 65785497bf Fix typo.
Thanks to Sean Silva for noticing it.

llvm-svn: 192102
2013-10-07 13:57:59 +00:00
Rafael Espindola 78527050c2 Add support for aliases with linkonce_odr.
This will be used to extend constructor aliases in clang.

llvm-svn: 192066
2013-10-06 15:10:43 +00:00
Sylvestre Ledru a9853efb78 Fix a typo in the documentation. Thanks to Diana Vasile for the patch
llvm-svn: 191752
2013-10-01 13:17:09 +00:00
Daniel Sanders cc0a056b3d [mips] Fix a broken link to mips.com in the documentation.
It now points to the equivalent page on imgtec.com

llvm-svn: 191658
2013-09-30 09:35:37 +00:00
Renato Golin 9e3c678040 Clarifying doc about cross-compiling
llvm-svn: 191561
2013-09-27 21:14:54 +00:00
Renato Golin 22a2d963b9 Add links to cross-compilation docs from getting started
llvm-svn: 191425
2013-09-26 08:57:07 +00:00
Peter Collingbourne 213358aeaa Add a paragraph on prefix data layout.
llvm-svn: 191219
2013-09-23 20:14:21 +00:00
Rafael Espindola 6f5b0e3727 Remove remaining references to -O4.
Thanks to Hal Finkel for noticing it.

llvm-svn: 191216
2013-09-23 19:50:59 +00:00
Peter Collingbourne 3fa50f9b05 Implement function prefix data as an IR feature.
Previous discussion:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html

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

llvm-svn: 190773
2013-09-16 01:08:15 +00:00
Nuno Lopes c38b2dabb0 typo fix: use BUILD_ARCHIVE to build .a libs and not ARCHIVE_LIBRARY
llvm-svn: 190696
2013-09-13 15:01:54 +00:00
Rui Ueyama 539b1df7c3 Typo fixes.
llvm-svn: 190569
2013-09-12 01:43:21 +00:00
Nick Lewycky 04f6de0fd7 Fix anachronism/typo in syntax of declaration of llvm.va_start.
llvm-svn: 190552
2013-09-11 22:04:52 +00:00
Rui Ueyama 0ad114c446 Fix typo
llvm-svn: 190492
2013-09-11 05:22:01 +00:00
Sean Silva 9d1e1a392a [docs] Fix Sphinx warning.
Adornments need to be at least as long as the thing they adorn.

llvm-svn: 190327
2013-09-09 19:13:28 +00:00
Sean Silva 3f93a61125 [docs] Fix some Sphinx toctree warnings.
llvm-svn: 190326
2013-09-09 19:09:00 +00:00
Sean Silva 23d2f6989e [docs] Some typographical fixes.
llvm-svn: 190324
2013-09-09 19:05:03 +00:00
Renato Golin d24899bfc2 Cross-compilation doc
llvm-svn: 190282
2013-09-08 20:44:48 +00:00
Vincent Lejeune 7deccf0f06 TableGen: Enumerate Schedule Model too.
llvm-svn: 189839
2013-09-03 19:43:28 +00:00
Chandler Carruth baf3fdb86b Nuke the hilariously out of date suggestion to unpack llvm-gcc 4.2 as
part of getting started with LLVM.

The LLVM getting started document is in woeful need of attention. I may
get to some of this, but some random notes for folks interested:

1) We need to separate the getting started steps for folks who are
   interested in the core LLVM libs and nothing else, folks interested
   in a nifty C++ toolchain and nothing else, and folks interested in
   both.
2) We should include documentation for both release archives, svn, and
   git in equal portion, and we should document all of the various
   repositories of interest: llvm, clang, clang-tools-extra,
   compiler-rt, lld, libcxx, test-suite.
3) We should document the CMake build. We should probably document the
   CMake build first, and give a fall-back set of docs for the Makefile
   build for the use cases where that is still the preferred solution.
   This would more closely match the use cases that folks in the open
   source community are likely to have, and would remove a point of
   discrepancy between Linux, Windows, and Mac instructions.
4) Probably a ton of other modernization stuff that I've not thought of
   here.

Anyways, if anyone at all is interested, please help clean up this
document. It is much needed.

llvm-svn: 189732
2013-09-01 23:42:27 +00:00
Chris Lattner 4fe2746c5f Revert r189704, which removed the guidance about not duplicating doc comments.
This is under active discussion.

llvm-svn: 189730
2013-09-01 15:48:08 +00:00
Chris Lattner 28cdc3d31b Remove the suggestion to not duplicate comments in header and
implementation files.  While doc generation systems don't need this,
humans do benefit from it.  Not everyone reads all code through doxygen.

llvm-svn: 189704
2013-08-30 23:06:20 +00:00
Manman Ren f5d4535a93 Add unique identifier field to Composite Types and Format.
llvm-svn: 189593
2013-08-29 17:07:49 +00:00
Michael Gottesman 406525d2df [doxygen] Use correct variable names for external variable configuration and make EXTRA_SEARCH_MAPPINGS a "dumb" variable.
I do not think the massaging that I was doing for EXTRA_SEARCH_MAPPINGS was
truly necessary.

llvm-svn: 189522
2013-08-28 21:55:26 +00:00
Michael Gottesman 7ed90880bc [doxygen] Added support for doxygen external search.
llvm-svn: 189507
2013-08-28 20:28:35 +00:00
Michael Gottesman 9cc5a45270 [cmake] Created an aggregate doxygen target for generating doxygen documentation for llvm/all subprojects. Renamed llvm's doxygen generation command to doxygen-llvm.
llvm-svn: 189506
2013-08-28 20:28:32 +00:00
Manuel Klimek aeb642276e Include a clearer policy about what's ok/nok to speed up code reviews.
llvm-svn: 189210
2013-08-26 07:29:08 +00:00
Michael Gottesman 4d35b909ad [autotools->cmake] Enable generation of doxygen documentation via cmake.
I am going to add in a subsequent patch support for generating the llvm
manpage.

llvm-svn: 189164
2013-08-24 07:25:21 +00:00
Andrea Di Biagio 377496bbad Add function attribute 'optnone'.
This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the 
exception of interprocedural optimization passes.

llvm-svn: 189101
2013-08-23 11:53:55 +00:00
Andrew Kaylor 27299c3494 Adding a document to describe the MCJIT execution engine implementation.
llvm-svn: 188943
2013-08-21 22:15:09 +00:00
Hal Finkel 0c5c01aa4a Add a llvm.copysign intrinsic
This adds a llvm.copysign intrinsic; We already have Libfunc recognition for
copysign (which is turned into the FCOPYSIGN SDAG node). In order to
autovectorize calls to copysign in the loop vectorizer, we need a corresponding
intrinsic as well.

In addition to the expected changes to the language reference, the loop
vectorizer, BasicTTI, and the SDAG builder (the intrinsic is transformed into
an FCOPYSIGN node, just like the function call), this also adds FCOPYSIGN to a
few lists in LegalizeVector{Ops,Types} so that vector copysigns can be
expanded.

In TargetLoweringBase::initActions, I've made the default action for FCOPYSIGN
be Expand for vector types. This seems correct for all in-tree targets, and I
think is the right thing to do because, previously, there was no way to generate
vector-values FCOPYSIGN nodes (and most targets don't specify an action for
vector-typed FCOPYSIGN).

llvm-svn: 188728
2013-08-19 23:35:46 +00:00
Dmitri Gribenko 8cac835723 docs: command guide: cleanups, no text changes
llvm-svn: 188627
2013-08-18 08:32:32 +00:00
Daniel Dunbar 06b9f9ecaa [typo] An LLVM.
llvm-svn: 188589
2013-08-16 23:30:19 +00:00
Benjamin Kramer 24ab6b3699 Sphinx refuses to render this code block. Try adding a newline.
llvm-svn: 188382
2013-08-14 16:18:47 +00:00
Tim Northover 0937679443 Add the C99 hex-float assembly syntax to our extension document.
As Ben pointed out, GAS doesn't support this syntax so we should give at least
some warning that it might not be portable.

llvm-svn: 188377
2013-08-14 15:27:20 +00:00
Michael Gottesman 98850bd39a [stack protector] Fixed typo.
llvm-svn: 188195
2013-08-12 19:44:09 +00:00
Michael Gottesman dafc7d9447 [stackprotector] Added intrinsic llvm.stackprotectorcheck.
llvm-svn: 188191
2013-08-12 18:35:32 +00:00
Daniel Dunbar 04388afd41 [docs] Update TestingGuide's note on how to run with Valgrind.
llvm-svn: 188097
2013-08-09 19:39:48 +00:00
Andrea Di Biagio 9b5d23bccb Add description of function attribute 'minsize' in LangRef.rst.
llvm-svn: 188091
2013-08-09 18:42:18 +00:00
Daniel Dunbar c4477dfd92 [lit] Change --show-{tests,suites} to exit after printing.
- This is a more sensible behavior than printing and also running tests.

llvm-svn: 188009
2013-08-08 20:59:25 +00:00
Daniel Dunbar b647d5d21d [lit] Remove --repeat option, which wasn't that useful.
llvm-svn: 188008
2013-08-08 20:59:20 +00:00
Hal Finkel 171817ee8a Add ISD::FROUND for libm round()
All libm floating-point rounding functions, except for round(), had their own
ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm
adding ISD::FROUND so that round() can be custom lowered as well.

For the most part, this is straightforward. I've added an intrinsic
and a matching ISD node just like those for nearbyint() and friends. The
SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed
fround).

This will be used by the PowerPC backend in a follow-up commit.

llvm-svn: 187926
2013-08-07 22:49:12 +00:00
Rafael Espindola b0b1622595 Add the common begin/end naming convention to the coding standard.
llvm-svn: 187902
2013-08-07 19:34:37 +00:00
Sean Silva 1cbbcf1c93 [LangRef] Alphabetize function attribute listing.
No content change.

Patch by Andrea Di Biagio!

llvm-svn: 187811
2013-08-06 19:34:37 +00:00
Rafael Espindola b2be0b41af Add a release not about llvm-ar.
Thanks to Bill Wendling for the reminder.

llvm-svn: 187794
2013-08-06 13:16:28 +00:00
Bill Wendling 7c8a4a4346 Fix grammar.
llvm-svn: 187755
2013-08-05 23:29:16 +00:00
Nadav Rotem eae928acd2 Update the release notes about the status of the vectorizers.
llvm-svn: 187714
2013-08-05 04:31:05 +00:00
Nadav Rotem 2da8b3e99e Update the docs.
llvm-svn: 187713
2013-08-05 04:27:34 +00:00
Tom Stellard 0ebf29d41f Revert "TableGen: Enumerate Schedule Model too."
This reverts commit 2ca1e4a39c7e0d7a00e66ff5437c6d7ace2404a0.

llvm-svn: 187525
2013-07-31 20:43:08 +00:00
Vincent Lejeune 22e6ddd475 TableGen: Enumerate Schedule Model too.
llvm-svn: 187511
2013-07-31 19:31:20 +00:00
Matt Arsenault 24b49c411c Reject bitcasts between address spaces with different sizes
llvm-svn: 187506
2013-07-31 17:49:08 +00:00
Bill Wendling c02da467f4 Fix underscore to be the proper length.
llvm-svn: 187406
2013-07-30 08:26:24 +00:00
Rafael Espindola d20830dfe5 Remove more dead documentation.
llvm-svn: 187403
2013-07-30 04:06:06 +00:00
Rafael Espindola cb87e35ed6 Delete documentation for deleted options.
llvm-svn: 187380
2013-07-29 21:35:48 +00:00
Rafael Espindola 2a2a0973b8 Use pipefail when available.
This change makes test with RUN lines like
RUN: opt ... | FileCheck

fail if opt fails, even if it prints what FileCheck wants. Enabling this
found some interesting cases of broken tests that were not being noticed
because opt (or some other tool) was crashing late.

Pipefail is used when the shell supports it or when using the internal
python based tester.

llvm-svn: 187261
2013-07-26 22:32:58 +00:00
Hans Wennborg ac1d6a0c98 Phabricator.rst: tiny fix
llvm-svn: 187164
2013-07-25 22:58:31 +00:00
Rafael Espindola bff44dddff Remove dead code from the makefile build system.
Back in r140220 we removed the autoconf code that would set LLVMCC_OPTION
since it was only used by the test-suite. This patch now removes code
that would only be used if LLVMCC_OPTION was set.

llvm-svn: 187154
2013-07-25 20:25:31 +00:00
Rafael Espindola 729866670b Remove the mblaze backend from llvm.
Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html

llvm-svn: 187145
2013-07-25 18:55:05 +00:00
Jakob Stoklund Olesen 5e5e297d16 Speling.
llvm-svn: 187076
2013-07-24 20:47:57 +00:00
Jakob Stoklund Olesen b8f3590357 Update old llc documentation.
Patch by Hafiz Abid!

llvm-svn: 187056
2013-07-24 17:45:11 +00:00
Rafael Espindola 86e4b41169 llvm-ar is far closer to being a regular ar implementation now. Update the docs.
llvm-svn: 187034
2013-07-24 13:13:24 +00:00
Ahmed Bougacha cf07cef719 docs: Update old VS 2008 references.
llvm-svn: 186968
2013-07-23 17:44:01 +00:00
Ahmed Bougacha b08b115c4a docs: cleanup VS 2008 release note.
Remove trailing ')'.  Sorry about all that, should be good now!

llvm-svn: 186965
2013-07-23 17:32:57 +00:00
Ahmed Bougacha bc4d7134f4 docs: Correct reST link.
llvm-svn: 186963
2013-07-23 17:28:35 +00:00
Ahmed Bougacha e17ecff3c4 Update docs to drop support for VS 2008.
llvm-svn: 186961
2013-07-23 17:25:26 +00:00
Stephen Lin b946407cb7 Fix FileCheck CHECK-LABEL documentation wording slightly; also mention that it allows error recovery.
llvm-svn: 186628
2013-07-18 23:26:58 +00:00
Stephen Lin a6e877fab4 Correct inaccurate statement in FileCheck docs.
llvm-svn: 186290
2013-07-14 18:12:25 +00:00
Tom Stellard 2d17f67651 R600: Add ISA documents to the CompilerWriterInfo page
llvm-svn: 186176
2013-07-12 18:14:40 +00:00
Stephen Lin f8bd2e5b86 Add new directive called CHECK-LABEL to FileCheck.
CHECK-LABEL is meant to be used in place on CHECK on lines containing identifiers or other unique labels (they need not actually be labels in the source or output language, though.) This is used to break up the input stream into separate blocks delineated by CHECK-LABEL lines, each of which is checked independently. This greatly improves the accuracy of errors and fix-it hints in many cases, and allows for FileCheck to recover from errors in one block by continuing to subsequent blocks.

Some tests will be converted to use this new directive in forthcoming patches.

llvm-svn: 186162
2013-07-12 14:51:05 +00:00
Hans Wennborg 0c14cf9a7c CommandLine.rst: remove tiny bit of bad mark-up
llvm-svn: 186042
2013-07-10 22:09:22 +00:00
Alexey Samsonov d7f6a6196e Document LLVM_USE_SANITIZER CMake option
llvm-svn: 185925
2013-07-09 10:56:13 +00:00
Benjamin Kramer 9f566a5a43 IR headers moved to llvm/IR some aeons ago, update documentation.
llvm-svn: 185854
2013-07-08 19:59:35 +00:00
Stephen Lin 095fee30e8 Update docs to say that a FunctionPass should not inspect other functions than the one being processed.
Please let me know if you disagree with this assessment (no one has yet, after asking on llvm-commits and LLVMDev) and I will revert.

llvm-svn: 185848
2013-07-08 18:34:39 +00:00
Nico Rieck a37acf702d MC: Implement COFF .linkonce directive
llvm-svn: 185753
2013-07-06 12:13:10 +00:00
Nick Lewycky efe31f2951 Fix language.
llvm-svn: 185739
2013-07-06 01:04:47 +00:00
Nick Lewycky c2ec0725ce Extend 'readonly' and 'readnone' to work on function arguments as well as
functions. Make the function attributes pass add it to known library functions
and when it can deduce it.

llvm-svn: 185735
2013-07-06 00:29:58 +00:00
Renato Golin 98c6081536 Add platform specific tests doc
llvm-svn: 185581
2013-07-03 20:56:33 +00:00
Michael Gottesman 3a6a967cc7 Fixed typo in LangRef where we were using _'' to quote instead of the correct _.
llvm-svn: 185479
2013-07-02 21:32:56 +00:00
Sean Silva d01eead98c [docs] Amend confusing title
"Writing an LLVM Compiler Backend" can be misinterpreted as meaning
"backend" in the sense of "using LLVM as a backend for your compiler for
your new language". This new name is less ambiguous.

As a bonus, this brings the title in line with the file name.

llvm-svn: 185377
2013-07-01 20:45:12 +00:00
Alexey Samsonov 2ca6536d7a llvm-symbolizer: add support for Mach-O universal binaries
llvm-svn: 185137
2013-06-28 08:15:40 +00:00
Michael Gottesman 296adb8b12 At the request of Richard Smith, swapped the order of cold/builtin so it is in alphabetical order.
llvm-svn: 185113
2013-06-27 22:48:08 +00:00
Joey Gouly b1b0dd8758 Add a Subtarget feature 'v8fp' to the ARM backend.
llvm-svn: 185073
2013-06-27 11:49:26 +00:00
Michael Gottesman 41748d7c86 Added support for the Builtin attribute.
The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin,

rdar://problem/13727199

llvm-svn: 185049
2013-06-27 00:25:01 +00:00
Nadav Rotem 87856b50cf The SLP Vectorizer works across basic blocks. Update the docs.
llvm-svn: 184973
2013-06-26 17:59:35 +00:00
Tom Stellard b162d94871 TableGen: Generate a function for getting operand indices based on their defined names
This patch modifies TableGen to generate a function in
${TARGET}GenInstrInfo.inc called getNamedOperandIdx(), which can be used
to look up indices for operands based on their names.

In order to activate this feature for an instruction, you must set the
UseNamedOperandTable bit.

For example, if you have an instruction like:

def ADD : TargetInstr <(outs GPR:$dst), (ins GPR:$src0, GPR:$src1)>;

You can look up the operand indices using the new function, like this:

Target::getNamedOperandIdx(Target::ADD, Target::OpName::dst)  => 0
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src0) => 1
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src1) => 2

The operand names are case sensitive, so $dst and $DST are considered
different operands.

This change is useful for R600 which has instructions with a large number
of operands, many of which model single bit instruction configuration
values.  These configuration bits are common across most instructions,
but may have a different operand index depending on the instruction type.
It is useful to have a convenient way to look up the operand indices,
so these bits can be generically set on any instruction.

llvm-svn: 184879
2013-06-25 21:22:09 +00:00
Meador Inge d554a49042 Add a release note for removing the simplify-libcalls pass.
llvm-svn: 184522
2013-06-21 03:08:23 +00:00
Sean Silva 7ea06e5a9f [docs] Fix broken link.
llvm-svn: 184514
2013-06-21 01:11:52 +00:00
Sean Silva b6bfbad290 [docs] Fix formatting.
'\n' was displaying as 'n'

llvm-svn: 184507
2013-06-21 00:27:54 +00:00
Stephen Lin fec5b0bb8d Minor grammar and word usage fix to 'returned' parameter attribute section of LangRef
llvm-svn: 184479
2013-06-20 21:55:10 +00:00
Michael Gottesman dd6716cd51 [ReleaseNotes] Added bullet point stating that APFloat::isNormal() is now IEEE 754R-2008 compliant and that the relevant method renaming occurred.
For more information see r184449, r184350, r184356, r184366.

llvm-svn: 184452
2013-06-20 18:47:51 +00:00
Stefanus Du Toit 736e2e20e5 Fix typos "metatadata" -> "metadata" in the LangRef.
llvm-svn: 184426
2013-06-20 14:02:44 +00:00
JF Bastien e84854a125 Small correction to unordered memory code generation of ARM LDRD
The information was correct pre-LPAE.

llvm-svn: 184253
2013-06-18 23:07:16 +00:00
Rafael Espindola 668c642830 Remove the LLVM specific archive index.
Archive files (.a) can have a symbol table indicating which object
files in them define which symbols. The purpose of this symbol table
is to speed up linking by allowing the linker the read only the .o
files it is actually going to use instead of having to parse every
object's symbol table.

LLVM's archive library currently supports a LLVM specific format for
such table. It is hard to see any value in that now that llvm-ld is
gone:

* System linkers don't use it: GNU ar uses the same plugin as the
linker to create archive files with a regular index. The OS X ar
creates no symbol table for IL files, I assume the linker just parses
all IL files.

* It doesn't interact well with archives having both IL and native objects.

* We probably don't want to be responsible for yet another archive
format variant.

This patch then:

* Removes support for creating and reading such index from lib/Archive.
* Remove llvm-ranlib, since there is nothing left for it to do.

We should in the future add support for regular indexes to llvm-ar for
both native and IL objects. When we do that, llvm-ranlib should be
reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".

llvm-svn: 184019
2013-06-14 23:25:53 +00:00
Renato Golin 11cb23a6f7 Update Release Process doc
llvm-svn: 183825
2013-06-12 11:35:33 +00:00
Michael Liao e7fdb1386a Fix documentation on the path to Bitcode reader/writer
llvm-svn: 183761
2013-06-11 18:09:21 +00:00
Rafael Espindola 70a729dfd5 Require members of llvm.used to be named.
The effect of llvm.used is to introduce an invisible reference, so this seems
a reasonable restriction. It will be used to provide an easy ordering of
the entries in llvm.used.

llvm-svn: 183743
2013-06-11 13:18:13 +00:00
Logan Chien 855b17d1bc Update code listings in LLVM tutorial.
Several LLVM headers are moved.  The code listings in
LLVM tutorial are not updated yet.

This CL removes the code replica in the .rst, and replace
them with a literalinclude directive, so that sphinx can
include the latest code automatically.

llvm-svn: 183607
2013-06-08 09:03:03 +00:00
Rui Ueyama 1b0a949482 [docs] Add link to Microsoft PE/COFF Spec.
llvm-svn: 183562
2013-06-07 20:30:27 +00:00
Eli Bendersky 0220e6bd85 Add more explicit link targets to headers in LangRef.rst
llvm-svn: 183555
2013-06-07 20:24:43 +00:00
Eli Bendersky fdc529ad95 Add explicit link targets to some headers in LangRef.rst
llvm-svn: 183548
2013-06-07 19:40:08 +00:00
Sean Silva 69fd257802 [docs] Add link to C++ ABI document.
llvm-svn: 183342
2013-06-05 21:11:16 +00:00
Sean Silva ce4bb3cb12 [docs] Add link to SysV ABI document.
llvm-svn: 183341
2013-06-05 21:11:11 +00:00
Sean Silva 0d65a762ac [docs] Replace non-existent LLVM_YAML_UNIQUE_TYPE() macro
LLVM_YAML_STRONG_TYPEDEF() is the correct macro to perform this function.

llvm-svn: 183280
2013-06-04 23:36:41 +00:00
Richard Smith 939889f6a4 Fix link.
llvm-svn: 183248
2013-06-04 20:42:42 +00:00
Bill Wendling af8c57c7b3 We are now in 3.4 land. We don't need the 3.3 releaese notes in ToT anymore.
llvm-svn: 183210
2013-06-04 06:12:31 +00:00
Richard Sandiford 737b880110 Add links to the System z architecture manual and ABI
llvm-svn: 182990
2013-05-31 09:14:54 +00:00
Paul Redmond 219ef811ca Fix warning and resulting formatting issue.
llvm-svn: 182939
2013-05-30 17:24:32 +00:00
Paul Redmond eccbb323ea Revise llvm.vectorizer.width documentation
- clarify that vectorizer.width only applies if the vectorizer decides to
  vectorize.

llvm-svn: 182938
2013-05-30 17:22:46 +00:00
Ashok Thirumurthi 29d9318c0c Added a sub-project status update section to the release notes with details
on the LLDB 3.3 release.

Reviewed by: Greg Clayton and Bill Wendling

llvm-svn: 182931
2013-05-30 14:23:07 +00:00
Sergey Matveev 8dbcb356f7 Fix incorrect parameter name in LIT docs.
llvm-svn: 182926
2013-05-30 12:37:52 +00:00
David Blaikie c4fe5db111 Debug Info: Update documentation to match recent (& not so recent) schema changes
This updates the debug info metadata schema documentation for various
schema changes made recently surrounding filename information for
scopes and the representation of imported entities.

llvm-svn: 182817
2013-05-29 02:05:13 +00:00
Paul Redmond 5fdf836ba4 Add support for llvm.vectorizer metadata
- llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic
  by making the root of additional loop metadata.
  - Loop::isAnnotatedParallel now looks for llvm.loop and associated
    llvm.mem.parallel_loop_access
  - document llvm.loop and update llvm.mem.parallel_loop_access
- add support for llvm.vectorizer.width and llvm.vectorizer.unroll
  - document llvm.vectorizer.* metadata
  - add utility class LoopVectorizerHints for getting/setting loop metadata
  - use llvm.vectorizer.width=1 to indicate already vectorized instead of
    already_vectorized
- update existing tests that used llvm.loop.parallel and
  llvm.vectorizer.already_vectorized

Reviewed by: Nadav Rotem

llvm-svn: 182802
2013-05-28 20:00:34 +00:00
Renato Golin 467e256493 Typo
llvm-svn: 182766
2013-05-28 11:28:37 +00:00
Renato Golin c08f218b48 Linking ReleaseProcess doc with the world
llvm-svn: 182763
2013-05-28 10:32:55 +00:00
Renato Golin 6347551e45 Adding ReleaseProcess doc
llvm-svn: 182759
2013-05-28 09:48:52 +00:00
Kai Nacke 4157b371f6 Add LDC compiler to list of external OS projects using LLVM 3.3
llvm-svn: 182718
2013-05-26 17:37:43 +00:00
Diego Novillo c63995394d Add a new function attribute 'cold' to functions.
Other than recognizing the attribute, the patch does little else.
It changes the branch probability analyzer so that edges into
blocks postdominated by a cold function are given low weight.

Added analysis and code generation tests.  Added documentation for the
new attribute.

llvm-svn: 182638
2013-05-24 12:26:52 +00:00
Tim Northover bc93308489 ARM: implement @llvm.readcyclecounter intrinsic
This implements the @llvm.readcyclecounter intrinsic as the specific
MRC instruction specified in the ARM manuals for CPUs with the Power
Management extensions.

Older CPUs had slightly different methods which may also have to be
implemented eventually, but this should cover all v7 cases.

rdar://problem/13939186

llvm-svn: 182603
2013-05-23 19:11:20 +00:00
Rui Ueyama 142736fc64 Fix typo in docs/GettingStarted.rst.
llvm-svn: 182496
2013-05-22 18:09:39 +00:00
Rafael Espindola f6474d2834 Make R600 non-experimental.
The r600 backend has been in tree for some time now. Marking it as
non-experimental to avoid accidental breakage.

llvm-svn: 182442
2013-05-22 00:35:47 +00:00
Sean Silva 8ca1178f45 LangRef.rst: Clarify how basic blocks without named label are handled.
Describe that they are assigned numbered label using the same counter
as for unnamed temporaries.

Based on http://llvm.org/bugs/show_bug.cgi?id=16043 and mailing list
discussion.

Patch by Paul Sokolovsky!

llvm-svn: 182332
2013-05-20 23:31:12 +00:00
Daniel Dunbar bf2e7b593e [docs] Minor doc tweaks.
llvm-svn: 182324
2013-05-20 22:39:48 +00:00
Dmitri Gribenko d95ddb744f docs/Passes: fix some typos
Patch by Yacine Belkadi.

llvm-svn: 182197
2013-05-18 18:01:44 +00:00
Arnaud A. de Grandmaison ca08b076f3 Add Jade to the list of external projects using LLVM in the release notes.
Patch by: Antoine Lorence <Antoine.Lorence@insa-rennes.fr>

llvm-svn: 181886
2013-05-15 14:05:01 +00:00
Michael Liao 91a1b2c9eb Add 'CHECK-DAG' support
Refer to 'FileCheck.rst'f for details of 'CHECK-DAG'.

llvm-svn: 181827
2013-05-14 20:34:12 +00:00
Richard Sandiford eb9af29426 [SystemZ] Add disassembler support
llvm-svn: 181777
2013-05-14 10:17:52 +00:00
Alexander Kornienko 72a196a159 Better output for long help strings for command-line options.
Summary:
This patch allows using \n inside long help strings for command-line
options, so that all lines are equally indented. This is not a perfect solution,
as we don't (and probably don't want to) know about terminal width, but it
allows to format long help strings somehow readable without manually padding
them with spaces. A motivating example is -help output from clang-format (source
code in tools/clang-format/ClangFormat.cpp, see cl options offset, length,
style, and dump-config).

Reviewers: atrick, alexfh

Reviewed By: alexfh

CC: llvm-commits, rafael

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

llvm-svn: 181608
2013-05-10 17:15:51 +00:00
Richard Sandiford ef494aa857 Add SystemZ feats to CodeGenerator.rst
llvm-svn: 181431
2013-05-08 14:23:43 +00:00
Rafael Espindola 9a383405a7 Remove exception handling support from the old JIT.
llvm-svn: 181354
2013-05-07 20:53:59 +00:00
Bill Wendling 37df82db8f We're in 3.4 land now.
llvm-svn: 181350
2013-05-07 20:31:28 +00:00
Rafael Espindola d522158df0 Add empty release notes for 3.4.
The idea is that docs/ReleaseNotes.rst is 3.3 and will be copied to the
branch by the release manager just before creating the release
candidates.

This ReleaseNotes_34.rst will then be moved over ReleaseNotes.rst after
the 3.3 release.

llvm-svn: 181349
2013-05-07 20:26:16 +00:00
Andrew Trick 1fc397f532 Add two points to release notes about recent command line library changes.
Patch by Dan Liew!

llvm-svn: 181335
2013-05-07 17:34:35 +00:00
Richard Sandiford b11f9274ee Mention SystemZ in the release notes
llvm-svn: 181328
2013-05-07 15:52:32 +00:00
Rafael Espindola c2565855ff Note that EH is now supported in MCJIT.
llvm-svn: 181305
2013-05-07 12:29:17 +00:00
Tim Northover 8b5b360781 Correct logical shift documentation
llvm-svn: 181290
2013-05-07 06:17:14 +00:00
Andrew Trick 7cb710d58c Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.
Patch by Dan Liew!

llvm-svn: 181254
2013-05-06 21:56:35 +00:00
Andrew Trick 0537a98878 Support command line option categories.
Patch by Dan Liew!

llvm-svn: 181253
2013-05-06 21:56:23 +00:00
Ulrich Weigand 1ceebf6ee0 [SystemZ] Add configure bits
This patch wires up the SystemZ target in configure, so that it can now be
built using --enable-targets=systemz.   It is not yet included in the default
build (--enable-targets=all); this will be done by a follow-up patch.

Patch by Richard Sandiford.

llvm-svn: 181208
2013-05-06 16:22:34 +00:00
Richard Osborne ba03fbabe5 [docs] Update Target Feature Matrix for the XCore backend.
Disassembler support has recently been added. Fill in some other unknowns
at the same time.

llvm-svn: 181156
2013-05-05 14:09:55 +00:00
Amara Emerson d9104c0359 Revert r181009.
llvm-svn: 181079
2013-05-03 23:57:17 +00:00
Richard Sandiford ae426b4a61 Remove comment that no target supports 128-bit IEEE floats
The soon-to-be-committed SystemZ port uses 128-bit IEEE floats.
MIPS64 GNU/Linux does too (albeit with unusual NaNs).

llvm-svn: 181016
2013-05-03 14:32:27 +00:00
Amara Emerson 2f54d9fe10 Add support for reading ARM ELF build attributes.
Build attribute sections can now be read if they exist via ELFObjectFile, and
the llvm-readobj tool has been extended with an option to dump this information
if requested. Regression tests are also included which exercise these features.

Also update the docs with a fixed ARM ABI link and a new link to the Addenda
which provides the build attributes specification.

llvm-svn: 181009
2013-05-03 11:36:35 +00:00
Pekka Jaaskelainen b531a11701 Added pocl and TCE blurbs to the ReleaseNotes.
llvm-svn: 181001
2013-05-03 07:37:04 +00:00
Tobias Grosser fe9b161fdd Added table of contents declaration in CommandLine Library documentation.
Contributed-by:  Dan Liew <daniel.liew@imperial.ac.uk>
llvm-svn: 180919
2013-05-02 14:59:52 +00:00
Aaron Ballman c8aefe43ed Updating the getting started guide for Visual Studio users. Specifically, pointing out that you have to pass additional parameters to llvm-lit and explicitly specify python on the command line.
llvm-svn: 180869
2013-05-01 19:13:50 +00:00
Nikola Smiljanic 39354b3263 Fix spelling
llvm-svn: 180843
2013-05-01 13:05:43 +00:00
Nadav Rotem 4b01c3a45d Update the release notes about the min/max reductions that Arnold added.
llvm-svn: 180805
2013-04-30 21:04:04 +00:00
Dmitri Gribenko 7d8b607f46 Documentation: end option description with a period
Patch by Dimitry Andric.

llvm-svn: 180675
2013-04-27 16:34:24 +00:00
Michael Gottesman a0509add5b Updated GettingStarted.rst so that it references utils/git-svn for git-svnup instead of catting it into the documentation itself.
llvm-svn: 180589
2013-04-26 01:04:45 +00:00
Alexey Samsonov 2fb337e77a Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools.
llvm-svn: 180083
2013-04-23 08:28:39 +00:00
Eli Bendersky 0577df4aec Document the -filetype option of llc (PR #12902)
llvm-svn: 180031
2013-04-22 17:16:35 +00:00
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
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
Sean Silva f77e570557 docs: Improve discussion of syntax highlighting.
llvm-svn: 170145
2012-12-13 20:14:25 +00:00
Dmitri Gribenko 90fa0c6194 Documentation: CompilerWriterInfo.rst: update link to Intel documentation
Replaces old Pentium 4 documentation link with generic current documentation link.

Patch by Kevin Schoedel.

llvm-svn: 170144
2012-12-13 20:02:11 +00:00
Dmitri Gribenko b70e6b64a5 Add a dummy documentation file to unbreak 'make install'. We need to find how
to package reST-formatted documentation.

llvm-svn: 170126
2012-12-13 13:37:35 +00:00
Dmitri Gribenko aa0e77cf24 Makefile.sphinx: reST conversion is complete!
No need to copy HTML files anymore.

llvm-svn: 170029
2012-12-12 21:35:43 +00:00
Dmitri Gribenko 508d98f67f Documentation: use paths relative to document root in links.
llvm-svn: 170027
2012-12-12 21:16:29 +00:00
Nick Kledzik f60a9279ea Initial implementation of a utility for converting native data
structures to and from YAML using traits.  The first client will
be the test suite of lld.  The documentation will show up at:

   http://llvm.org/docs/YamlIO.html

llvm-svn: 170019
2012-12-12 20:46:15 +00:00
Dmitri Gribenko f8bb4eadca Documentation: SphinxQuickstartTemplate.rst: add guidelines about highlighting
console sessions and add more highlighter names.

llvm-svn: 170011
2012-12-12 20:07:18 +00:00
Dmitri Gribenko 28574d36aa Documentation: llvm-bcanalyzer.rst: cleanup.
llvm-svn: 170001
2012-12-12 19:15:53 +00:00
Dmitri Gribenko 3fa700f17d Documentation: AliasAnalysis.rst: improve internal and external links
llvm-svn: 169993
2012-12-12 17:03:50 +00:00
Dmitri Gribenko 11ffe2c47e Documentation: convert WritingAnLLVMPass.html to reST.
Patch by Anthony Mykhailenko with small fixes by me.

llvm-svn: 169992
2012-12-12 17:02:44 +00:00
Dmitri Gribenko 427cfcb937 Documentation: cleanup
llvm-svn: 169990
2012-12-12 16:58:13 +00:00
Dmitri Gribenko 99e8b43498 Documentation: use a 'console' highlighter for terminal output examples. This
gives a nicer output than 'bash'.

llvm-svn: 169981
2012-12-12 14:23:14 +00:00
Dmitri Gribenko 125939cbf7 Documentation: use a 'console' highlighter for terminal output examples. This
gives a nicer output than 'bash'.

llvm-svn: 169979
2012-12-12 13:56:37 +00:00
Dmitri Gribenko 134f76a2bc Documentation: cleanup: remove useless anchors and write :ref:s explicitly.
llvm-svn: 169932
2012-12-11 23:35:23 +00:00
Dmitri Gribenko a2d35d153f Documentation: Lexicon.rst: add 'SLP' acronym
llvm-svn: 169928
2012-12-11 23:13:23 +00:00
Dmitri Gribenko ed4325f7ac Documentation: convert Passes.html to reST.
Since now we have an autogenerated TOC, a manually written table of all passes
was removed.

Patch by Anthony Mykhailenko with small fixes by me.

llvm-svn: 169867
2012-12-11 15:29:37 +00:00
Dmitri Gribenko 38782b8e87 Documentation: convert ReleaseNotes.html to reST.
Patch by Anthony Mykhailenko with small fixes by me.

llvm-svn: 169714
2012-12-09 23:14:26 +00:00
Chris Lattner c11b91ec18 So many people have touched this, it doesn't make sense to ascribe authorship anymore.
llvm-svn: 169704
2012-12-09 16:55:39 +00:00
Sean Silva 18dc538690 docs: Convert GarbageCollection.html to reST
Patch by Alexander Zinenko!

llvm-svn: 169702
2012-12-09 15:52:47 +00:00
Dmitri Gribenko 2247085c37 Documentation: HowToReleaseLLVM.rst: remove trailing whitespace.
llvm-svn: 169700
2012-12-09 15:33:26 +00:00
Dmitri Gribenko 0c79cd6107 Documentation: don't create TOCs manually.
Thanks to Sean Silva for pointing out!

llvm-svn: 169699
2012-12-09 15:29:56 +00:00
John Criswell be7f2f9e49 Fixed some grammar and punctuation error.
No content changes.

llvm-svn: 169627
2012-12-07 19:21:10 +00:00
Dmitri Gribenko 7a93668614 Convert HowToReleaseLLVM.html to reST
Patch by Alexander Zinenko.

llvm-svn: 169608
2012-12-07 16:42:48 +00:00
Sean Silva b084af416a docs: Convert LangRef to reST.
NOTE: If you have any patches in the works that modify LangRef, you will
need to rewrite the changes to LangRef.html to their equivalents in
LangRef.rst. If you need assistance feel free to contact me.

Since LangRef is mission-critical for the project and "normative", I
have taken extra care to ensure that no content was lost or altered in
the conversion. The content was converted with a tool called `pandoc`,
so there is no chance for a human error like accidentally forgetting a
sentence or whatever. After the initial conversion by `pandoc`, only
changes to the markup were done.

This is just the most literal conversion of the HTML document as
possible. It might be worth exploring some way to chop up this massive
document into separate pages, e.g. something like
`docs/LangRef/Instructions.rst`, `docs/LangRef/Intrinsics.rst`, etc.
with `docs/LangRef.rst` being an "intro/navigation page" of sorts. On
the other hand, that loses the ability to {Ctrl,Cmd}-F for a given term
right from your browser.

IMO, I think our stylesheet needs some work because I find it hard to
tell what level of nesting some of the headings are at (e.g. "is this a
new section or is it a subsection?"). The issue is present on other
pages, but the sheer size and deep section structure of LangRef really
brings this issue out. If there are any web designers out there in the
community it would be awesome if you tried to come up with something
nicer.

llvm-svn: 169596
2012-12-07 10:36:55 +00:00
Dmitri Gribenko 8150e9e55a Documentation: fix typos and formatting.
llvm-svn: 169546
2012-12-06 21:12:35 +00:00
Sean Silva 33af5003c7 docs: Explain plain preformatted text
llvm-svn: 169352
2012-12-05 04:07:33 +00:00
Sean Silva d7fb396eb2 docs: Sphinxify `docs/tutorial/`
Sorry for the massive commit, but I just wanted to knock this one down
and it is really straightforward.

There are still a couple trivial (i.e. not related to the content)
things left to fix:

- Use of raw HTML links where :doc:`...` and :ref:`...` could be used
  instead. If you are a newbie and want to help fix this it would make
  for some good bite-sized patches; more experienced developers should
  be focusing on adding new content (to this tutorial or elsewhere, but
  please _do not_ waste your time on formatting when there is such dire
  need for documentation (see docs/SphinxQuickstartTemplate.rst to get
  started writing)).

- Highlighting of the kaleidoscope code blocks (currently left as bare
  `::`).  I will be working on writing a custom Pygments highlighter for
  this, mostly as training for maintaining the `llvm` code-block's lexer
  in-tree. I want to do this because I am extremely unhappy with how it
  just "gives up" on the slightest deviation from the expected syntax
  and leaves the whole code-block un-highlighted.

  More generally I am looking at writing some Sphinx extensions and
  keeping them in-tree as well, to support common use cases that
  currently have no good solution (like "monospace text inside a link").

llvm-svn: 169343
2012-12-05 00:26:32 +00:00
Sean Silva f75e74f67e docs: Begin Sphinxification of docs/tutorial/
llvm-svn: 169309
2012-12-04 21:16:41 +00:00
Sean Silva 8f14642ae0 docs: fixup legacy HTML link
llvm-svn: 169308
2012-12-04 21:16:34 +00:00
Justin Holewinski ed7d8d5500 Update release notes for NVPTX
llvm-svn: 169280
2012-12-04 16:11:51 +00:00
Eli Bendersky 0ffc0d4ff3 Get rid of references to Tcl, DejagGNU, old test structure, discourage the use
of grep in favor of FileCheck, and other cleanups.

llvm-svn: 169269
2012-12-04 14:34:00 +00:00
Eli Bendersky 42e10733ae Remove the very out-of-date listing of "very important LLVM areas". I don't
think it adds much and keeping it up-to-date is (obviously) a chore.

llvm-svn: 169263
2012-12-04 13:55:17 +00:00
Sean Silva c454f07e33 docs: Fix broken link.
llvm-svn: 169211
2012-12-04 03:45:27 +00:00
Sean Silva 4b587854fe docs: Fix dead link.
Apparently Dinkumware are no longer hosting their nice reference
manuals. Thankfully, `cppreference.com` can fill that role well.

llvm-svn: 169210
2012-12-04 03:30:36 +00:00
Sean Silva beb15ca8f0 docs: Convert ProgrammersManual to reST.
Patch by Alexander Zinenko!

llvm-svn: 169208
2012-12-04 03:20:08 +00:00
Eli Bendersky 035513831b Clean up, bring up-to-date and apply consistent formatting.
This document is a long-time pet peeve :-) More fixes to come.

llvm-svn: 169115
2012-12-03 04:10:58 +00:00
Chandler Carruth 494cfc0786 Simplify the coding standards for #include ordering. The ordering is now
trivially achievable with an editor. I'll likely check in a silly python
script to help with this too.

llvm-svn: 169107
2012-12-02 11:53:27 +00:00
Justin Holewinski 0bd335efcd Unbreak Sphinx build
llvm-svn: 169106
2012-12-02 02:47:48 +00:00
Eli Bendersky 04a382c796 Another fix attempt to Makefile.sphinx - copy the PNGs from tutorial/ as well,
and recursive copying is not required for the tutorial/ directory.

llvm-svn: 169105
2012-12-01 22:21:04 +00:00
Eli Bendersky e4adf43168 Attempt to fix Makefile.sphinx to not generate errors while trying to copy
files from tutorial/.svn

llvm-svn: 169104
2012-12-01 22:11:59 +00:00
Eli Bendersky 4ca99ba6b5 Update FileCheck's documentation to mention recently added feature of
matching a variable defined on the same line.

llvm-svn: 169103
2012-12-01 22:03:57 +00:00
Dmitri Gribenko 7174c5a074 Documentation: convert WritingAnLLVMBackend.html to reST
llvm-svn: 169087
2012-12-01 12:13:48 +00:00
Michael Ilseman f15af485a0 Removed redundancy in wording
llvm-svn: 169053
2012-11-30 23:14:52 +00:00
Michael Ilseman 1e1c524afd Clean up the documentation to have a common description area for fast-math flags.
llvm-svn: 169052
2012-11-30 23:12:42 +00:00
Dmitri Gribenko f589e2418d Documentation for FileCheck: use 'option' and 'program' directives.
This enables option cross-referencing and now '--' in option names are no more turned into en dashes.

llvm-svn: 168926
2012-11-29 19:21:02 +00:00
Dmitri Gribenko 59aeece231 Documentation for llvm-link: reformat
llvm-svn: 168924
2012-11-29 19:14:35 +00:00
Dmitri Gribenko c9e206f090 Documentation for llvm-cov: reformat
llvm-svn: 168922
2012-11-29 19:10:21 +00:00
Dmitri Gribenko 1521681b59 Documentation for llvm-stress: reformat
llvm-svn: 168920
2012-11-29 19:05:55 +00:00
Dmitri Gribenko 6c80bcb56f Documentation for opt: reformat
llvm-svn: 168919
2012-11-29 19:02:50 +00:00
Dmitri Gribenko 76561e9741 Documentation for llc: reformat.
llvm-svn: 168912
2012-11-29 18:16:11 +00:00
Dmitri Gribenko e260d3af52 Documentation for lit: more formatting: use 'option' and 'program' directives.
This enables cross-referencing and now '--' in option names are no more turned into en dashes.

llvm-svn: 168906
2012-11-29 18:03:08 +00:00
Dmitri Gribenko cbb07bea14 Documentation for tblgen: formatting
llvm-svn: 168904
2012-11-29 17:41:05 +00:00
Dmitri Gribenko 6e303f7615 Documentation for lit: formatting improvements.
llvm-svn: 168902
2012-11-29 17:05:34 +00:00
Dmitri Gribenko 8bd389d8d7 Documentation: formatting improvements
llvm-svn: 168897
2012-11-29 16:12:13 +00:00
Dmitri Gribenko 194d3685ec Documentation: use correct highlighter
llvm-svn: 168871
2012-11-29 12:00:32 +00:00
Dmitri Gribenko 5cb3f1097f Documentation: improve formatting and remove unneeded empty lines.
llvm-svn: 168817
2012-11-28 21:40:54 +00:00
Eli Bendersky 7875088078 Some grammar fixes
llvm-svn: 168752
2012-11-28 00:27:25 +00:00
NAKAMURA Takumi 5e74510398 docs: [CMake] Add Xcode to the list of project formats CMake can generate.
Suggested by Sean McBride, thanks!

llvm-svn: 168745
2012-11-27 23:34:28 +00:00
Michael Ilseman f7512cfc25 Fast-math flags documentation added to LangRef
llvm-svn: 168652
2012-11-27 00:48:29 +00:00
Bill Wendling 8fd23aba48 Correct copy-pasto where we're talking about function attributes and not parameter attributes.
llvm-svn: 168619
2012-11-26 22:04:13 +00:00
Dmitri Gribenko 6ac1de48f9 Documentation: convert SourceLevelDebugging.html to reST
llvm-svn: 168493
2012-11-22 11:56:02 +00:00
Chandler Carruth 315e719dff Remove 'sretpromotion' pass from the documentation. This pass is long
dead.

Patch by Stephan Falke.

llvm-svn: 168492
2012-11-22 11:17:08 +00:00
Eli Bendersky 2fef6b6a1e Fix a typo in FileCheck.rst
llvm-svn: 168466
2012-11-21 22:40:52 +00:00
Eli Bendersky ba50ce4825 Some sphinx-ing and consistency fixes
llvm-svn: 168380
2012-11-20 19:37:58 +00:00
Joe Abbey 159fac4970 Better 80cols... *sigh*
llvm-svn: 168373
2012-11-20 18:14:15 +00:00
Joe Abbey 0974e04d13 Fixing a broken link.
llvm-svn: 168372
2012-11-20 17:51:08 +00:00
Sean Silva 23344e4981 docs: Fix highlighting.
.git/config was marked as "bash" instead of "ini".

llvm-svn: 168365
2012-11-20 12:36:27 +00:00
Hal Finkel 9c1a86b29c Note Freescale's contributions in the PPC release notes.
This mainly reflects the work of Tobias von Koch.

llvm-svn: 168352
2012-11-20 04:20:31 +00:00
Sean Silva a621edde3f docs: Sphinxify LLVMBuild documentation.
llvm-svn: 168348
2012-11-20 03:13:53 +00:00
Eli Bendersky 9d07f94863 ReST-ify some markup in the LIT document
llvm-svn: 168345
2012-11-20 00:26:08 +00:00
Sean Silva 33f2c07c95 docs: Fix reference to "bold" part of code example.
Fixes PR14380.

The prose was referring to a "bold" part of the code example, where the
boldness was lost in the transition from HTML. Unlike HTML, where one
can easily have a <b> inside a <pre>, reStructuredText is generally
unable to represent such nested markup.

Hack around it with the :emphasise-lines: option to the  code-block
directive to single out the regions instead. Thankfully the regions are
close-enough to being full lines for this to work.

llvm-svn: 168329
2012-11-19 21:18:50 +00:00
Tobias Grosser 94717e9fbe First version of Polly release notes for 3.2
llvm-svn: 168302
2012-11-19 08:58:29 +00:00
Dmitri Gribenko 431aa1227c SystemLibrary.rst: remove reference to a bug that was closed long time ago
llvm-svn: 168290
2012-11-18 18:42:18 +00:00
Dmitri Gribenko 8ed8188590 Documentation: convert SystemLibrary documentation to reST
llvm-svn: 168289
2012-11-18 18:40:21 +00:00
Dmitri Gribenko e6abe2f008 Documentation: remove a copy of the FileCheck man page from TestingGuide
llvm-svn: 168288
2012-11-18 18:28:14 +00:00
Dmitri Gribenko 42c31d26ff Documentation: use a :doc: link instead of an absolute http:// link.
llvm-svn: 168286
2012-11-18 10:35:18 +00:00
Dmitri Gribenko 162c524ce7 Documentation: fix broken link.
llvm-svn: 168285
2012-11-18 10:32:14 +00:00
Sean Silva 7333a848c8 docs: CodingStandards should follow the coding standards.
Some variables in code examples were not LikeThis.

llvm-svn: 168275
2012-11-17 23:25:33 +00:00
Benjamin Kramer cd9f22edca Bump sphinx config to 3.3.
llvm-svn: 168273
2012-11-17 22:12:59 +00:00
Sean Silva 0fc33ec10f docs: Add link to HowToSetUpLLVMStyleRTTI
llvm-svn: 168271
2012-11-17 21:01:44 +00:00
Will Schmidt 9544fc7dd8 ReleaseNotes.html updates reflecting PPC64 Elf Linux efforts and progress.
llvm-svn: 168189
2012-11-16 19:46:35 +00:00
Duncan Sands d71b4e4568 Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.
llvm-svn: 168166
2012-11-16 12:36:39 +00:00
Michael Ilseman 234ba6f2cd Remove trailing whitespace
llvm-svn: 168121
2012-11-16 00:58:59 +00:00
Jyotsna Verma 095d4fe02b Fix typo.
llvm-svn: 168091
2012-11-15 21:21:01 +00:00
Joel Jones 8fe56e00ed Add description of how to build docs
llvm-svn: 168088
2012-11-15 21:15:08 +00:00
Craig Topper 22a6503df6 Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.
llvm-svn: 168026
2012-11-15 07:01:39 +00:00
Craig Topper 61d045781a Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
llvm-svn: 168025
2012-11-15 06:51:10 +00:00
Eric Christopher 456c08d69d Add some release notes that say we removed the CellSPU port.
llvm-svn: 168014
2012-11-15 00:59:52 +00:00
Sean Silva 905a2d3d17 docs: Improve typographical correctness.
llvm-svn: 167998
2012-11-14 23:15:51 +00:00
Sean Silva e0db519ae9 docs: Sphinxify TestSuiteMakefileGuide
Some small related fixups to TestingGuide too.

llvm-svn: 167996
2012-11-14 23:11:10 +00:00
Eric Christopher 950d8703b1 Remove the CellSPU port.
Approved by Chris Lattner.

llvm-svn: 167984
2012-11-14 22:09:20 +00:00
Sean Silva a89edf6a61 docs: Sphinxify TestingGuide
llvm-svn: 167979
2012-11-14 21:09:30 +00:00
Alexander Kornienko 92987fb311 Support for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions in
FileCheck.

llvm-svn: 167978
2012-11-14 21:07:37 +00:00
Alexander Kornienko 317adfc8b7 Added %(line), %(line+<number>), %(line-<number>) substitutions to lit
llvm-svn: 167971
2012-11-14 20:26:19 +00:00
Dmitri Gribenko a72e9f0140 FileCheck.rst: change formatting of code-like constructs to use a monospaced
font.  These were formatted in bold, but that's not correct.

llvm-svn: 167964
2012-11-14 19:42:32 +00:00
Sean Silva 6468f0a9ef docs: nuke GCCFEBuildInstrs.html
llvm-svn: 167961
2012-11-14 19:34:48 +00:00
Sean Silva 5f265fb124 docs: Fix Sphinx toctree warning.
llvm-svn: 167905
2012-11-14 01:49:23 +00:00
Sean Silva 6c440b932e docs: chmod -x HowToUseInstrMappings.rst
llvm-svn: 167903
2012-11-14 01:41:58 +00:00
Duncan Sands e6beec6765 Relax the restrictions on vector of pointer types, and vector getelementptr.
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type.  This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever.  Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types.  This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.

llvm-svn: 167828
2012-11-13 12:59:33 +00:00
Jean-Daniel Dupas 84705096b2 Update link to external document
llvm-svn: 167781
2012-11-12 23:43:34 +00:00
Nadav Rotem 0767d177ec fix a spelling mistake
llvm-svn: 167734
2012-11-12 18:45:12 +00:00
Nadav Rotem 913805703d Update the vectorizer docs.
llvm-svn: 167688
2012-11-11 06:47:51 +00:00
Pawel Wodnicki 5bf57b4c1e fix typo PR1476
llvm-svn: 167536
2012-11-07 17:00:18 +00:00
Pawel Wodnicki 6d3a0a73eb fix for PR1476
llvm-svn: 167535
2012-11-07 16:56:52 +00:00
Eli Bendersky 659d206678 Fix a broken sentence
llvm-svn: 167521
2012-11-07 01:52:41 +00:00
Eli Bendersky 8a7e80f6f5 Document the -input-file option of FileCheck
llvm-svn: 167517
2012-11-07 01:41:30 +00:00
Alexey Samsonov bdb2594cb3 docs: use code font for console commands in phabricator manual
llvm-svn: 167459
2012-11-06 15:04:37 +00:00
Chandler Carruth 89ad975c68 Add a couple of stubs to the release notes for things I noticed while
clearing out my backlog of commit mail.

llvm-svn: 167380
2012-11-05 10:17:00 +00:00
Eli Bendersky 6f6f55ee61 PR14256: SelectionDAGLowering was renamed to SelectionDAGBuilder a long time ago. Fix references to it in documentation and comments.
llvm-svn: 167378
2012-11-05 02:59:23 +00:00
Dmitri Gribenko 13539d1b0a Documentation: fix typos.
llvm-svn: 167302
2012-11-02 18:06:51 +00:00
Arnold Schwaighofer 9d08a15b0f Remove stale documentation about tail duplicaton IR pass
We no longer have a tail duplication pass that runs on LLVM IR. It was removed
in 3.0.

llvm-svn: 167140
2012-10-31 17:25:31 +00:00
Eli Bendersky 70f4e794b5 Fix typo in CodeGenerator doc
llvm-svn: 167137
2012-10-31 16:41:07 +00:00
Jakub Staszak 850eb67cc0 Typo.
llvm-svn: 166969
2012-10-29 21:49:46 +00:00
Nadav Rotem c59ae207ef Change the PassManagerBuilder (used by -O3) loop vectorizer flag from -vectorize to -vectorize-loops because we dont want to share the same flag as the bb-vectorizer.
llvm-svn: 166937
2012-10-29 16:36:25 +00:00
Duncan Sands 0a3322e5da Loads and stores without an explicit alignment use the abi alignment not the
preferred alignment.  Correct the documentation.

llvm-svn: 166925
2012-10-29 14:12:44 +00:00
Chandler Carruth 34e3477593 Clarify that there is an option other than OAuth for Phabricator and
offer up my email to the spam lords for it. Hopefully this will
eventually be more automatic, but we don't want people to think there is
only one option.

llvm-svn: 166870
2012-10-27 09:47:33 +00:00
Jordan Rose 2962d9599e Suggest llvm_unreachable over assert(0).
llvm-svn: 166821
2012-10-26 22:08:46 +00:00
Benjamin Kramer 6dc1e2f287 Remove LoopDependenceAnalysis.
It was unmaintained and not much more than a stub. The new DependenceAnalysis
pass is both more general and complete.

llvm-svn: 166810
2012-10-26 20:25:01 +00:00
David Tweed fd2cf7f9d9 Minor enhancement to build process notes for ARM platforms.
llvm-svn: 166769
2012-10-26 12:09:47 +00:00
Micah Villmow e337f71203 Update the release notes to note the change from TargetData to DataLayout.
llvm-svn: 166702
2012-10-25 18:06:47 +00:00
Sebastian Pop 5c87daf2c8 add TableGen support to create relationship maps between instructions
Relationship maps are represented as InstrMapping records which are parsed by
TableGen and the information is used to construct mapping tables to represent
appropriate relations between instructions. These tables are emitted into
XXXGenInstrInfo.inc file along with the functions to query them.

Patch by Jyotsna Verma <jverma@codeaurora.org>.

llvm-svn: 166685
2012-10-25 15:54:06 +00:00
Kevin Enderby 9356608f56 Add a bit of documentation on the annotated disassembly output.
llvm-svn: 166639
2012-10-24 23:30:22 +00:00
Nadav Rotem 1052df1049 Document the -force-vector-width flag.
llvm-svn: 166621
2012-10-24 20:47:55 +00:00
Dmitri Gribenko 9fb49d2b30 Document current Doxygen use practices in Coding Standards. Mostly it is
obvious stuff and most new code being committed conforms to that.  Some old
code does not; this might cause confusion and this is the motivation to
document the correct guidelines.

llvm-svn: 166378
2012-10-20 13:27:43 +00:00
Nadav Rotem 895b003f88 Vectorization docs.
llvm-svn: 166364
2012-10-20 02:34:34 +00:00
Daniel Dunbar a3d9cabf8f lit: Rename the valgrind leaks feature to match what is currently used
(vg_leak).

llvm-svn: 166306
2012-10-19 20:29:30 +00:00
Daniel Dunbar 519a349c8a lit: Add 'valgrind' and 'valgrind-leaks' features when valgrind is used.
- These can be used with the XFAIL options.

llvm-svn: 166303
2012-10-19 20:12:00 +00:00
Daniel Dunbar bc4a4565de Fix some doc-os.
llvm-svn: 166290
2012-10-19 17:23:39 +00:00
Daniel Dunbar f1706edf5d lit: Allow XFAIL: lines to also refer to "features".
llvm-svn: 166224
2012-10-18 20:43:04 +00:00
Micah Villmow c8702fc261 Update the LangRef documentation for the per pointer address space support.
llvm-svn: 166201
2012-10-18 18:18:17 +00:00
Eli Bendersky 71a19ecd41 test commit: verifying access from new address
llvm-svn: 166197
2012-10-18 18:12:05 +00:00
Nadav Rotem 00cadb3ed7 Add a small example which shows a vectorizable loop with a non-pow-of-two count
llvm-svn: 166169
2012-10-18 05:46:16 +00:00
Nadav Rotem 89a452a9a6 Update the release notes about how to enable the loop vectorizer.
llvm-svn: 166123
2012-10-17 19:49:21 +00:00
Nadav Rotem ec92817e05 Update the release notes about the store-merge dag optimization.
llvm-svn: 166116
2012-10-17 18:35:21 +00:00
Nadav Rotem d9779f15cf Update the release notes about the new TargetTransformInfo API changes.
llvm-svn: 166115
2012-10-17 18:33:50 +00:00
Nadav Rotem c260387050 Update the release notes about the new loop vectorizer.
llvm-svn: 166113
2012-10-17 18:30:09 +00:00
Sean Silva 13c64c08c2 docs: Add link to integrated assembler HowTo
llvm-svn: 166106
2012-10-17 16:36:27 +00:00
Jan Wen Voung 69082be39c Fix a typo in bitcode docs, from 165814.
llvm-svn: 165944
2012-10-15 16:47:58 +00:00
Dmitri Gribenko 2378c5e230 Documentation: Lexicon.rst: add "BB Vectorization" and "TBAA".
llvm-svn: 165879
2012-10-13 17:34:49 +00:00
Jan Wen Voung 77c6c85e84 Add bitcode instruction encoding documentation for module version
0 and 1.  Followup to 165739.

llvm-svn: 165814
2012-10-12 18:13:17 +00:00
Sean Silva 3b942abef3 docs: Update example to conform to coding standards.
llvm-svn: 165782
2012-10-12 01:55:51 +00:00
Sean Silva b39f47b067 docs: Minor clean up of Phabricator documentation.
llvm-svn: 165779
2012-10-12 01:21:24 +00:00
Sean Silva d91ff4c942 docs: Add SphinxQuickstartTemplate.rst.
The intent of this document is to be the go-to document for anybody who
wants to write new documentation, but isn't familiar with Sphinx.

llvm-svn: 165775
2012-10-12 00:53:48 +00:00
Sean Silva d7802ad8a5 docs: Improve HowToSetUpLLVMStyleRTTI.
* Fix confusing explanation regarding abstract classes.

* Clarify auto-upcasting and why `Shape` doesn't need a `classof()`.

* Add section `Rules of Thumb` with some quick summary tips.

llvm-svn: 165768
2012-10-11 23:30:52 +00:00
Sean Silva d73b2818a1 docs: Update HowToSetUpLLVMStyleRTTI.
Recent changes to isa<>/dyn_cast<> have made unnecessary those classof()
of the form:

    static bool classof(const Foo *) { return true; }

Accordingly, remove mention of such classof() from the documentation.

llvm-svn: 165766
2012-10-11 23:30:41 +00:00
Manuel Klimek 8398126bdd Adds Phabricator documentation. This is a first step that answers many questions we have seen.
llvm-svn: 165736
2012-10-11 19:40:46 +00:00
NAKAMURA Takumi 66304d5411 GettingStarted.rst: s/&amp;/&/g
llvm-svn: 165690
2012-10-11 01:10:37 +00:00
NAKAMURA Takumi 4b71c205b9 GettingStarted.rst: Fix the label to DeveloperPolicy.html.
llvm-svn: 165689
2012-10-11 01:10:27 +00:00
Sean Silva 529ecebe4c docs: Propagate fix from r165632 to other docs.
There are only two other instances of using `.. code::` instead of
`..  code-block::`.

llvm-svn: 165633
2012-10-10 17:21:39 +00:00
Sean Silva 9ce5c06626 docs: Attempt to fix PR14053.
Hypothesis 1: use of `.. code::` directive instead of `.. code-block::`
is causing Sphinx to discard the block. On my machine, `.. code::`
renders fine. However, I don't think that `..  code::` is actually a
legit Sphinx directive. I believe that on my machine Sphinx is falling
back to just displaying it monospace with no syntax, whereas llvm.org's
Sphinx is just discarding it.

This is truly "remote debugging" since I can't reproduce this on my
machine. It would be helpful to be able to see the llvm.org Sphinx
build logs; if that's possible please let me know.

llvm-svn: 165632
2012-10-10 17:07:23 +00:00
Eric Christopher b0d9dec1ff Fix typo in docs.
llvm-svn: 165464
2012-10-08 23:54:10 +00:00
Micah Villmow 9cfc13d46c Move TargetData to DataLayout.
llvm-svn: 165403
2012-10-08 16:39:34 +00:00
Sean Silva a4fe992756 Silence Sphinx warnings.
Found the fix on this page:
http://permalink.gmane.org/gmane.comp.python.sphinx.devel/112

llvm-svn: 165380
2012-10-07 18:49:28 +00:00
Bill Wendling 954e430e9b Sphinxify the GettinStarted documentation.
llvm-svn: 165372
2012-10-07 07:10:13 +00:00
Bill Wendling c3b3463fcf Sphinxify the ExtendingLLVM documentation.
llvm-svn: 165371
2012-10-07 04:56:08 +00:00
Bill Wendling 668043f0db Sphinxify the compiler writer info documentation.
llvm-svn: 165369
2012-10-07 04:34:10 +00:00
Rafael Espindola ec2a51c154 Document MapVector.
llvm-svn: 165366
2012-10-07 00:56:09 +00:00
Dmitri Gribenko 8b76113f05 HowToSetUpLLVMStyleRTTI.rst: remove unneeded semicolons in code examples.
llvm-svn: 165335
2012-10-05 20:52:13 +00:00
Dmitri Gribenko 9dd4687fcc GoldPlugin.rst: minor typesetting fixes.
llvm-svn: 165334
2012-10-05 20:50:05 +00:00
Sean Silva 5ce54c2eb9 docs: Add HowToSetUpLLVMStyleRTTI.rst.
This document describes how to set up LLVM-style RTTI for a class
hierarchy. Surprisingly, this was not previously documented.

Also, link it into ProgrammersManual.html.

llvm-svn: 165293
2012-10-05 03:32:01 +00:00
Duncan Sands 271ea6cdc5 The alignment of an sret parameter is known: it must be at least the
alignment of the return type.  Teach the optimizers this.

llvm-svn: 165226
2012-10-04 13:36:31 +00:00
Sean Silva 03254cae95 docs: Fix typo on front page
llvm-svn: 165200
2012-10-04 04:41:27 +00:00
Sean Silva fc6de0f2cb docs: Sphinxify GoldPlugin document.
llvm-svn: 165198
2012-10-04 03:56:23 +00:00
Michael J. Spencer 99a241fa2c [Docs] Update File Headers section to cover doxygen style file level docs.
llvm-svn: 164964
2012-10-01 19:59:21 +00:00
Dmitri Gribenko 37f92c74d2 RST docs: convert HTML escapes to plain text in code examples.
llvm-svn: 164922
2012-09-30 20:51:02 +00:00
Dmitri Gribenko 0fd5ce068e Sphinx CSS: remove negative letter-spacing, it makes some fonts look really
bad.  Fonts already have appropriate tracking built-in.

llvm-svn: 164921
2012-09-30 20:43:24 +00:00
Jakub Staszak 2e747e3596 Fix &amp;&amp; to && in Coding Standards.
llvm-svn: 164920
2012-09-30 20:42:13 +00:00
Sean Silva 6f876c1028 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

llvm-svn: 164847
2012-09-28 21:18:37 +00:00
Andrew Kaylor 5808c7d828 Removing dependency on third party library for Intel JIT event support.
Patch committed on behalf of Kirill Uhanov

llvm-svn: 164831
2012-09-28 17:35:20 +00:00
Micah Villmow daa1c74da8 Fix more crlf issues.
llvm-svn: 164805
2012-09-27 22:14:10 +00:00
Micah Villmow eb9c0d0ed5 Fix CRLF issues.
llvm-svn: 164782
2012-09-27 17:51:02 +00:00
Micah Villmow 7345a35777 Patch for HowToBuildOnARM documentation from Wei-Ren Chen.
llvm-svn: 164776
2012-09-27 15:05:49 +00:00
Sean Silva b0a1edce8c docs: Sphinxify HowToSubmitABug
llvm-svn: 164630
2012-09-25 20:52:04 +00:00
Sean Silva 747c639c27 docs: Fix long-standing typo in yaml2obj.rst.
llvm-svn: 164407
2012-09-21 19:48:16 +00:00
Dan Gohman 3397bb248f Say "bytes" instead of "address units", since that's what the
rest of LangRef uses.

llvm-svn: 164402
2012-09-21 18:41:30 +00:00
Dan Gohman e36188f30e Document the new !tbaa.struct metadata.
llvm-svn: 164398
2012-09-21 18:21:48 +00:00
David Blaikie f787f171a3 Add missing 'to' and rephrase an explanation of GCC's assumptions.
Wordsmithing by Matt Beaumont-Gay in response to r164389.

llvm-svn: 164395
2012-09-21 18:03:02 +00:00
David Blaikie 00bec9a4ad Document "do not use defaults in covered switch-over-enum" coding standard.
llvm-svn: 164389
2012-09-21 17:47:36 +00:00
Sean Silva 835ef201ac docs: Fix Sphinx warning over Atomics.rst.
Atomics.rst was not linked into the toctree.

Docs now build warning-free!

llvm-svn: 164356
2012-09-21 02:46:32 +00:00
Sean Silva 9f0311deee docs: Fix Sphinx warning over yaml2obj.rst.
yaml2obj.rst was not included in the toctree

Input from Michael Spencer.

llvm-svn: 164355
2012-09-21 02:46:30 +00:00
Andrew Trick e6af4b9a35 Fix function names in coding style examples
llvm-svn: 164311
2012-09-20 17:02:04 +00:00
Sean Silva 98f84c998f Fix Sphinx warnings.
Toctree was not being interlinked properly.

llvm-svn: 164282
2012-09-20 03:20:53 +00:00
Sean Silva 51fc86ddfe Sphinxify DebuggingJITedCode
LGTM by Michael Spencer

llvm-svn: 164280
2012-09-20 03:05:26 +00:00
Andrew Trick fc9420c006 Fix static function names in CodingStandards examples.
Try not to violate conventions immediately before explaining them.

llvm-svn: 164278
2012-09-20 02:01:06 +00:00
Sean Silva c99b54d095 Test commit
llvm-svn: 164174
2012-09-18 22:21:43 +00:00
Dmitri Gribenko be88f563bf Coding standards: fix typo: '= deleted' -> '= delete'.
llvm-svn: 164126
2012-09-18 14:00:58 +00:00
Craig Topper 1740e05c31 Add LLVM_DELETED_FUNCTION to coding standards.
llvm-svn: 164101
2012-09-18 04:43:40 +00:00
Galina Kistanova 8201936f60 Patch by Sean Silva!
The patch converts the "How to add a builder" document over to reStructuredText..

llvm-svn: 163860
2012-09-13 23:51:08 +00:00
Nadav Rotem 7c277da364 Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be
disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics).

llvm-svn: 163299
2012-09-06 09:17:37 +00:00
Michael J. Spencer 00b0d38094 [Docs] Fix Sphinx incremental build. Patch by Sean Silva!
llvm-svn: 163235
2012-09-05 19:44:47 +00:00
Chad Rosier d8c7610781 [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect to
inteldialect.

llvm-svn: 163231
2012-09-05 19:00:49 +00:00
Chad Rosier f42fad6251 [ms-inline asm] Emit the (new) inline asm Non-Standard Dialect attribute.
llvm-svn: 163181
2012-09-05 00:08:17 +00:00
Chad Rosier 38d24e6751 [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This
implementation does not co-exist well with how the sideeffect and alignstack
attributes are handled.  The reverts r161641.

llvm-svn: 163174
2012-09-04 22:29:45 +00:00
Nadav Rotem 9bf4e5d3f6 remove old docs
llvm-svn: 162896
2012-08-30 09:23:13 +00:00
Bill Wendling 783e7c02c6 Patch by Sean Silva to un-barf his computer by explicitly removing the '\n'
character instead of always the last character.

llvm-svn: 162767
2012-08-28 17:18:27 +00:00
Bill Wendling 34bc34ecae Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
make it more consistent with its intended semantics.

The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.

The intended semantic is more like the `linkonce_odr' linkage type.

Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.

Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>

llvm-svn: 162114
2012-08-17 18:33:14 +00:00
Rafael Espindola 740a6bc8a0 Remove references to compression in llvm-ar. It has been a long time since we
switched from a bytecode+bzip2 to the current bitcode.

llvm-svn: 161651
2012-08-10 01:57:52 +00:00
Chad Rosier 09f74b5517 [ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute.
This new attribute is intended to be used by the backend to determine how
the inline asm string should be parsed/printed. This patch adds the 
ia_nsdialect attribute and also adds a test case to ensure the IR is
correctly parsed, but there is no functional change at this time.

The standard dialect is assumed to be AT&T.  Therefore, this attribute
should only be added to MS-style inline assembly statements, which use
the Intel dialect.  If we ever support more dialects we'll need to
add additional state to the attribute.

llvm-svn: 161641
2012-08-10 00:00:22 +00:00
Bill Wendling 26f1f00999 Sphinxify the CommandLine document.
llvm-svn: 161479
2012-08-08 08:21:24 +00:00
Bill Wendling 7daef91de0 Move header so that it can be picked up by other .rst files.
llvm-svn: 161478
2012-08-08 06:42:30 +00:00
Michael J. Spencer 1ffd9de4f1 Add yaml2obj. A utility to convert YAML to binaries.
yaml2obj takes a textual description of an object file in YAML format
and outputs the binary equivalent. This greatly simplifies writing
tests that take binary object files as input.

llvm-svn: 161205
2012-08-02 19:16:56 +00:00
Bill Wendling ff9feeb520 Sphinxify the Code Generator document.
llvm-svn: 161164
2012-08-02 08:49:53 +00:00
Sylvestre Ledru ef7d8295b6 Fix some minor typos
llvm-svn: 161037
2012-07-31 07:05:57 +00:00
Nick Lewycky 7e9f6d7d58 Fix grammar-o. Fixes PR13482!
llvm-svn: 160996
2012-07-30 21:10:51 +00:00
Chad Rosier c25f88b703 The TimePassesIsEnabled has since moved to PassManager.cpp.
llvm-svn: 160881
2012-07-27 19:03:02 +00:00
Dan Gohman 0b3d782933 Add a floor intrinsic.
llvm-svn: 160791
2012-07-26 17:43:27 +00:00
Duncan Sands a2791b576f Take people straight to the contents of the file.
llvm-svn: 160777
2012-07-26 08:08:31 +00:00
Duncan Sands c769ccaff3 Add the list of code owners to the top level of the LLVM source tree to
hopefully make it more visible.  Adjust the web-docs to have a link to
this file rather than the list itself.  I described code owners as also
being gatekeepers for their part of the code, which I think is true but
isn't in the code owner explanation on the web page.

llvm-svn: 160776
2012-07-26 08:04:09 +00:00
Sylvestre Ledru 4fb32b10e5 Fix two typos in the doc
llvm-svn: 160762
2012-07-25 22:01:31 +00:00
Axel Naumann 7b44fbb95b Twine: fix link to source, add link to class doc and container section.
80 char lines.

llvm-svn: 160726
2012-07-25 13:46:11 +00:00
Sylvestre Ledru 35521e2310 Fix a typo (the the => the)
llvm-svn: 160621
2012-07-23 08:51:15 +00:00
Nuno Lopes acd8535de0 Apparently it's possible to do an 'invoke asm'.
Update the language reference to reflect that.

llvm-svn: 160408
2012-07-17 23:51:33 +00:00
Hans Wennborg e2679c50d7 ReleaseNotes.html: add note about specifying TLS models
llvm-svn: 160168
2012-07-13 12:44:23 +00:00
Duncan Sands 5a5928a5eb Post-dom frontier was removed in 3.0. Patch by chenwj.
llvm-svn: 160166
2012-07-13 10:11:28 +00:00
Chad Rosier 26b8e1d03f Fixup broken doc link. Patch by Sean Silva <silvas@purdue.edu>.
llvm-svn: 160082
2012-07-11 21:49:14 +00:00
Dmitri Gribenko d01af8772d Since SmallMap was removed in r158644, remove documentation in ProgrammersManual.html.
llvm-svn: 159874
2012-07-06 23:06:47 +00:00
Chad Rosier e3a87b1511 Update getFunction parameter documentation. Fixes PR13268.
llvm-svn: 159835
2012-07-06 17:15:03 +00:00
Bill Wendling fab09c66f3 Sphinxify the CMake document.
llvm-svn: 159806
2012-07-06 05:51:50 +00:00
Nuno Lopes 4d6c832165 add @llvm.donothing
llvm-svn: 159758
2012-07-05 17:37:07 +00:00
Peter Collingbourne 2165cf6e36 Document the llvm.fabs intrinsic.
llvm-svn: 159657
2012-07-03 12:25:40 +00:00
Chandler Carruth aafe0918bc Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h
This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.

I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.

I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.

Thanks to Bill and Eric for giving the green light for this bit of cleanup.

llvm-svn: 159421
2012-06-29 12:38:19 +00:00
Bill Wendling 2908947b97 Sphinxify the Atomics documentation.
llvm-svn: 159416
2012-06-29 09:00:01 +00:00
Bill Wendling e28d50a889 Sphinxify the bitcode format document.
llvm-svn: 159340
2012-06-28 08:43:12 +00:00
Bill Wendling c66b152e07 Sphinxify the exception handling doc.
llvm-svn: 159254
2012-06-27 07:20:57 +00:00
Bill Wendling b4e01abdb4 Sphyinxify the Bugpoint document.
llvm-svn: 159199
2012-06-26 11:37:00 +00:00
Hans Wennborg cbe34b4cc9 Extend the IL for selecting TLS models (PR9788)
This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as

  @x = thread_local(initialexec) global i32 42

if it will not be used in a shared library that is dlopen'ed.

If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.

llvm-svn: 159077
2012-06-23 11:37:03 +00:00
Michael J. Spencer d93399a15d [docs] Sphinxify GettingStartedVS. Patch by Mikael Lyngvig!
llvm-svn: 158947
2012-06-21 23:27:09 +00:00
Bill Wendling a10801fe6f Cleanup some encoding mishaps.
llvm-svn: 158904
2012-06-21 07:01:02 +00:00
Bill Wendling b5c7aa515e Sphinxify the tablegen document.
llvm-svn: 158903
2012-06-21 06:58:24 +00:00
Bill Wendling 5b26461e09 Sphinxify the outdated Packaging documentation.
llvm-svn: 158901
2012-06-21 06:09:37 +00:00
Meador Inge 6a706af708 Put space after "code-block::".
llvm-svn: 158880
2012-06-20 23:57:00 +00:00
Meador Inge 46137da795 Removed some left over HTML tags and a '}'.
llvm-svn: 158877
2012-06-20 23:48:01 +00:00
Bill Wendling 9dc93279a5 Sphixify the GEP FAQ.
llvm-svn: 158858
2012-06-20 21:54:22 +00:00
Bill Wendling 814ad4a169 Sphinxify the SegmentedStack document.
llvm-svn: 158819
2012-06-20 12:05:05 +00:00
Bill Wendling 1eec272587 Move coding standards reference from development_process.rst to programming.rst.
llvm-svn: 158818
2012-06-20 11:56:24 +00:00
Bill Wendling 39174deb12 Unindent list.
llvm-svn: 158817
2012-06-20 11:55:22 +00:00
Bill Wendling 3a9192c19a Un-indent list to remove ugly back-slash.
llvm-svn: 158816
2012-06-20 11:53:08 +00:00
Bill Wendling 4a8948d583 Fix the formatting a bit.
llvm-svn: 158815
2012-06-20 11:25:11 +00:00
Bill Wendling f42595a75f Sphinxify the developer policy document.
llvm-svn: 158814
2012-06-20 11:20:07 +00:00
Bill Wendling 29f569c3c6 Sphinxify the lexicon doc.
llvm-svn: 158813
2012-06-20 10:36:41 +00:00
Bill Wendling 8a6215c3b6 Sphinxify BranchWeightMetadata document.
llvm-svn: 158810
2012-06-20 10:17:46 +00:00
Bill Wendling 8cb8e9987b Sphinxify the LTO document.
llvm-svn: 158808
2012-06-20 10:08:02 +00:00
Bill Wendling dca6fccd1f Unindent list.
llvm-svn: 158806
2012-06-20 09:50:45 +00:00
Bill Wendling e78ab21781 Sphinxify the AliasAnalysis document.
llvm-svn: 158805
2012-06-20 09:49:57 +00:00
Bill Wendling b2f7b95b9d Unindent list.
llvm-svn: 158804
2012-06-20 09:49:06 +00:00
Bill Wendling 7aa439ece8 Un-indent the list and remove ugly back-slash.
llvm-svn: 158803
2012-06-20 09:48:38 +00:00
Bill Wendling 74ede098b3 Sphinxify the MakefileGuide document.
llvm-svn: 158789
2012-06-20 04:20:39 +00:00
Bill Wendling 1c5e94a47c Sphinxify the CodingStandard documentation.
llvm-svn: 158786
2012-06-20 02:57:56 +00:00
Bill Wendling 444075a281 Add Projects.rst to the toctree.
llvm-svn: 158753
2012-06-19 22:25:41 +00:00
Bill Wendling 34ffc89e93 Use correct capitalization.
llvm-svn: 158752
2012-06-19 22:25:17 +00:00
Bill Wendling 7f0d23e427 Indent coding examples.
llvm-svn: 158728
2012-06-19 17:48:06 +00:00
Bill Wendling fb370510e7 Remove bad HTML tags. Add missing :.
llvm-svn: 158726
2012-06-19 17:43:57 +00:00
Bill Wendling 6bf4417261 Put flag names on one line.
llvm-svn: 158715
2012-06-19 09:29:05 +00:00
Bill Wendling f0d91f3beb Fix italicized text.
llvm-svn: 158714
2012-06-19 09:27:54 +00:00
Bill Wendling b746402512 Use correct URL.
llvm-svn: 158713
2012-06-19 09:26:15 +00:00
Bill Wendling 5901a4e5f3 Fix numbering of list items.
llvm-svn: 158712
2012-06-19 09:25:04 +00:00
Bill Wendling f06ac97fd7 Fix some Sphinx mistakes.
llvm-svn: 158711
2012-06-19 09:23:23 +00:00
Bill Wendling a84e2df4f9 First attempt at Sphinx. Convert the Projects.html file to Sphinx format.
llvm-svn: 158709
2012-06-19 09:18:34 +00:00
Nuno Lopes f9abcb7ba9 revert r158660, since Chris has some issues with this patch (namely using code to reprent information only used by the compiler)
Original commit msg:
add the 'alloc' metadata node to represent the size of offset of buffers pointed to by pointers.
This metadata can be attached to any instruction returning a pointer

llvm-svn: 158688
2012-06-18 23:34:26 +00:00
Michael J. Spencer 626a4ecf3a [docs] Port FAQ over to Sphinx.
Patch by Mikael Lyngvig!

llvm-svn: 158677
2012-06-18 20:21:38 +00:00
Nuno Lopes b7c941bad9 add the 'alloc' metadata node to represent the size of offset of buffers pointed to by pointers.
This metadata can be attached to any instruction returning a pointer

llvm-svn: 158660
2012-06-18 16:04:04 +00:00
Michael J. Spencer a9acafa64e [docs] Make it pretty.
llvm-svn: 158561
2012-06-15 22:17:44 +00:00
David Blaikie c198a68a14 Remove/modify C backend references from LLVM documentation.
Patch by Wei-Ren Chen.

llvm-svn: 158456
2012-06-14 16:52:55 +00:00
David Blaikie b64f23e674 Remove C backend reference from the FAQ.
llvm-svn: 158455
2012-06-14 16:43:11 +00:00
Duncan Sands be3d3a66ee Clarify a bit that the types have to be the same. Came up on IRC.
llvm-svn: 158453
2012-06-14 14:58:28 +00:00
Dmitri Gribenko a99fa5b062 Use correct syntax highliter in code blocks. Noticed by Sean Silva.
llvm-svn: 158359
2012-06-12 15:45:07 +00:00
Dmitri Gribenko 19408a76a6 FileCheck docs: remove leftover HTML markup.
llvm-svn: 158344
2012-06-12 00:48:47 +00:00
Michael J. Spencer 838e5add7e [llvm-nm] Update documentation to cover object file support and arguments.
llvm-svn: 158120
2012-06-06 23:34:10 +00:00
Duncan Sands 1f5d109918 Add a new broken compiler.
llvm-svn: 158053
2012-06-06 07:39:39 +00:00
Benjamin Kramer 21b8ad0560 Add 3.0 and 3.1 tags to the getting started guide.
llvm-svn: 158020
2012-06-05 20:35:50 +00:00
Lang Hames a59100cc08 Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-add
expression (a * b + c) that can be implemented as a fused multiply-add (fma)
if the target determines that this will be more efficient. This intrinsic
will be used to implement FP_CONTRACT support and an aggressive FMA formation
mode.

If your target has a fast FMA instruction you should override the
isFMAFasterThanMulAndAdd method in TargetLowering to return true.

llvm-svn: 158014
2012-06-05 19:07:46 +00:00
Benjamin Kramer bde9176663 Fix typos found by http://github.com/lyda/misspell-check
llvm-svn: 157885
2012-06-02 10:20:22 +00:00
Jakob Stoklund Olesen 83b0ac498a Remove the old register list functions from MCRegisterInfo.
These functions exposed the layout of the underlying data tables as
null-terminated uint16_t arrays.

Use the new MCSubRegIterator, MCSuperRegIterator, and MCRegAliasIterator
classes instead.

llvm-svn: 157855
2012-06-01 23:28:34 +00:00
Rafael Espindola e3c5f3e5b1 Fix typos noticed by Benjamin Kramer.
Also make the checks stronger and test that we reject ranges that overlap
a previous wrapped range.

llvm-svn: 157749
2012-05-31 16:04:26 +00:00
Rafael Espindola 97d7787788 Require intervals in the range metadata to be in a canonical form: They must
be non contiguous, non overlapping and sorted by the lower end.

While this is technically a backward incompatibility, every frontent currently
produces range metadata with a single interval and we don't have any pass
that merges intervals yet, so no existing bitcode files should be rejected by
this.

llvm-svn: 157741
2012-05-31 13:45:46 +00:00
Chris Lattner 747482c579 typo fix
llvm-svn: 157661
2012-05-30 00:40:23 +00:00
Chris Lattner ff9e08baf9 rdar://11542750 - llvm.trap should be marked no return.
llvm-svn: 157551
2012-05-27 23:20:41 +00:00
Jakob Stoklund Olesen 36a5c8e550 Add support for range expressions in TableGen foreach loops.
Like this:

  foreach i = 0-127 in ...

Use braces for composite ranges:

  foreach i = {0-3,9-7} in ...

llvm-svn: 157432
2012-05-24 22:17:39 +00:00
Chad Rosier fd7469c947 Typo. Patch by Nicklas Bo Jensen <nbjensen@gmail.com>.
llvm-svn: 157415
2012-05-24 21:17:47 +00:00
Tobias Grosser 6b31d170a4 Add half support to LLVM (for OpenCL)
Submitted by: Anton Lokhmotov  <Anton.Lokhmotov@arm.com>

Approved by: o Anton Korobeynikov
             o Micah Villmow
             o David Neto

llvm-svn: 157393
2012-05-24 15:59:06 +00:00
Bill Wendling 6081fa19c5 Remove old release notes. Ready them for additions from current development
cycle.

llvm-svn: 157378
2012-05-24 06:38:09 +00:00
Joel Jones 2edc84ee60 Reflect that tblgen is now llvm-tblgen
llvm-svn: 157371
2012-05-24 04:38:50 +00:00
Nuno Lopes ad40c0a425 revert my previous patches that introduced an additional parameter to the objectsize intrinsic.
After a lot of discussion, we realized it's not the best option for run-time bounds checking

llvm-svn: 157255
2012-05-22 15:25:31 +00:00
Nick Lewycky 853a8a982b Add RPO to the lexicon.
llvm-svn: 157166
2012-05-20 20:30:47 +00:00
John Criswell 4e711921ba Fixed grammar for the llvm.trap intrinsic description.
llvm-svn: 156881
2012-05-16 00:26:51 +00:00
Daniel Dunbar f8deeb241a [docs] Remove unsupported references to ExtraSource variable.
llvm-svn: 156857
2012-05-15 21:32:27 +00:00
Bill Wendling a548587d48 Add blurb for Crack.
llvm-svn: 156852
2012-05-15 20:47:23 +00:00
Akira Hatanaka 7006265874 Update MIPS' section in the release notes. Patch by Simon Atanasyan.
llvm-svn: 156847
2012-05-15 20:06:41 +00:00
Daniel Dunbar c364d68bf2 llvm-build: Add support for non-installed libraries (e.g., gtest).
- These libraries are only reported by llvm-config when run from a development
   tree.

llvm-svn: 156838
2012-05-15 18:44:17 +00:00
David Chisnall bd4b9f7277 Add some release notes about compiler-rt and libc++
llvm-svn: 156819
2012-05-15 13:06:46 +00:00
Dan Gohman 164fe18cfe Rename @llvm.debugger to @llvm.debugtrap.
llvm-svn: 156774
2012-05-14 18:58:10 +00:00
Akira Hatanaka 67c09afab1 Release notes for MIPS backend.
llvm-svn: 156772
2012-05-14 18:40:07 +00:00
Bill Wendling c3fd480203 Formatting changes. Remove the '...' placeholders.
llvm-svn: 156756
2012-05-14 08:11:53 +00:00
Bill Wendling e8f2cdf891 Add blurb about Julia.
llvm-svn: 156754
2012-05-14 06:23:51 +00:00
Justin Holewinski e65f29ff62 ReleaseNotes: Add info on PTX back-end
llvm-svn: 156745
2012-05-13 17:32:35 +00:00
Jean-Daniel Dupas 81b82a0ebf Fix Xcode case (Upper X, lower c)
llvm-svn: 156743
2012-05-13 14:36:15 +00:00
Benjamin Kramer 959f8afaa0 ReleaseNotes: Add a note about zero_undef on llvm.cttz/ctlz. Extend x86 section. Add a bullet for dwarf access tables.
llvm-svn: 156740
2012-05-13 13:10:35 +00:00
Benjamin Kramer cd1436ddc0 ReleaseNotes: Add a blurb about llvm-mc -g and move inliner changes into the optimizer sections. Verbosify some bullets.
llvm-svn: 156739
2012-05-13 12:01:16 +00:00
Benjamin Kramer 34b714fc8d ReleaseNotes: Document that LLVM was rewritten in python.
^~~~
                            llvm-build

llvm-svn: 156738
2012-05-13 11:46:05 +00:00
Benjamin Kramer 121e760b2a ReleaseNotes: Add bullets for removed targets. Extend the note about llvm-ld removal.
llvm-svn: 156737
2012-05-13 11:28:46 +00:00
Benjamin Kramer a10adf5fdb Outline some clang 3.1 highlights off the top of my head.
llvm-svn: 156736
2012-05-13 10:40:08 +00:00
Benjamin Kramer d3684057c6 Add a link for every project.
llvm-svn: 156735
2012-05-13 10:21:51 +00:00
Bill Wendling 374e9e825f Add blurb for LLVM D Compiler.
llvm-svn: 156733
2012-05-13 10:00:58 +00:00
Bill Wendling 60639ea6ff Add blurbs for pocl and TCE.
llvm-svn: 156732
2012-05-13 09:59:27 +00:00
Bill Wendling 4fefcdb179 Add OSL blurb.
llvm-svn: 156731
2012-05-13 09:55:24 +00:00
Bill Wendling 3f853ad8f8 Add FAUST blurb.
llvm-svn: 156730
2012-05-13 09:52:48 +00:00
Nadav Rotem e963870f77 Fix the tool documentation
llvm-svn: 156729
2012-05-13 05:52:56 +00:00
Gregory Szorc 43cb4edd84 Document Python bindings in release notes
llvm-svn: 156724
2012-05-12 21:12:22 +00:00
Bill Wendling 7d878db4e1 Make the URL a link instead.
llvm-svn: 156655
2012-05-11 22:38:33 +00:00
Bill Wendling 9cc768581a Add mention of Glasgow Haskell Compiler.
llvm-svn: 156648
2012-05-11 21:42:37 +00:00
Duncan Sands 1367e49f6b Some release notes for dragonegg.
llvm-svn: 156635
2012-05-11 19:59:43 +00:00
Dan Gohman dfab443ae8 Define a new intrinsic, @llvm.debugger. It will be similar to __builtin_trap(),
but it generates int3 on x86 instead of ud2.

llvm-svn: 156593
2012-05-11 00:19:32 +00:00
Nuno Lopes 01547b3ad2 change the objectsize intrinsic signature: add a 3rd parameter to denote the maximum runtime performance penalty that the user is willing to accept.
This commit only adds the parameter. Code taking advantage of it will follow.

llvm-svn: 156473
2012-05-09 15:52:43 +00:00
Seth Cantrell 40306e7e30 add to 3.1 release notes
llvm-svn: 156443
2012-05-08 23:34:38 +00:00
Daniel Dunbar d18888242e Revert r156393, "[tests] Remove some remaining DejaGNU related cruft.", this
patch wasn't ready yet.

llvm-svn: 156395
2012-05-08 18:26:07 +00:00
Daniel Dunbar 898f02a613 [tests] Remove some remaining DejaGNU related cruft.
llvm-svn: 156393
2012-05-08 18:11:49 +00:00
Daniel Dunbar 3d92154e60 [docs] Remove POD based man page docs (and build system support).
- Currently this leaves us with less build system support (e.g., installing man pages) for the docs than is desired. I'm working on fixing this, but it may take a while. If someone finds this particularly egregious let me know and I will prioritize it.

llvm-svn: 156389
2012-05-08 17:48:21 +00:00
Daniel Dunbar 9e5585dd82 [docs] Add support for building man pages using Sphinx.
llvm-svn: 156386
2012-05-08 16:50:47 +00:00
Daniel Dunbar 2e395e17c3 [docs] Integrate the command guide into the toctree.
llvm-svn: 156385
2012-05-08 16:50:43 +00:00
Daniel Dunbar 8f4a8a636c [docs] Add ReST version of all the man pages.
- The POD versions are slated for execution, but are still around until
   llvm.org machinery is in place.

llvm-svn: 156384
2012-05-08 16:50:35 +00:00
Pete Cooper 54d5f6489f Remove C Backend from the bugpoint docs
llvm-svn: 156333
2012-05-07 22:42:40 +00:00
Duncan Sands 859212767e Use correct variable in this example. Pointed out by waynix on IRC.
llvm-svn: 156067
2012-05-03 15:25:19 +00:00
Daniel Dunbar 340fdf2991 [docs] Include the Kaleidescope tutorial in the Sphinx docs build.
llvm-svn: 156032
2012-05-02 22:46:36 +00:00
Eli Bendersky 48221c5c54 Removed examples of stack frame inspection which no longer work for old JIT.
Added an example of MCJIT-based debugging.

llvm-svn: 155895
2012-05-01 06:15:40 +00:00
Jim Grosbach 691f4dd923 Remove a docs reference to the CBackend.
llvm-svn: 155716
2012-04-27 16:29:22 +00:00
Joerg Sonnenberger 18ad5b28b7 Add note about returns_twice magic removal from LLVM itself.
llvm-svn: 155657
2012-04-26 20:10:07 +00:00
Michael J. Spencer e734f5417f [CMake] Restructure how Clang, Polly and other external projects get included.
While making lld build under the tools directory I decided to refactor how this
works.

There is now a macro, add_llvm_external_project, which takes the name of the
expected subdirectory. This sets up two CMake options.

 * LLVM_EXTERNAL_${NAME}_SOURCE_DIR
     This is the path to the source. It defaults to
     ${CMAKE_CURRENT_SOURCE_DIR}/${name}.
 * LLVM_EXTERNAL_${NAME}_BUILD
     Enable and disable building the tool as part of LLVM.

I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the
GUI.

llvm-svn: 155654
2012-04-26 19:43:35 +00:00
Benjamin Kramer 31f2704a3d Reapply the SmallMap patch with a fix.
Comparing ~0UL with an unsigned will always return false when long is 64 bits long.

llvm-svn: 155568
2012-04-25 18:01:58 +00:00
Eric Christopher 4ff88c67e0 Revert "First implementation of:"
This reverts commit 76271a3366731d4c372fdebcd8d3437e6e09a61b.

as it's breaking the bots.

llvm-svn: 155562
2012-04-25 17:51:00 +00:00
Stepan Dyatkovskiy 7ce39cdb9f First implementation of:
- FlatArrayMap. Very simple map container that uses flat array inside.
- MultiImplMap. Map container interface, that has two modes, one for small amount of elements and one for big amount.
- SmallMap. SmallMap is DenseMap compatible MultiImplMap. It uses FlatArrayMap for small mode, and DenseMap for big mode. 

Also added unittests for new classes and update for ProgrammersManual.
For more details about new classes see ProgrammersManual and comments in sourcecode.

llvm-svn: 155557
2012-04-25 17:09:38 +00:00
Michael J. Spencer 4943695da9 [docs] Update version number. I suggest that at some point we make the
build system generate this file with the proper version.

llvm-svn: 155221
2012-04-20 19:28:40 +00:00
Joel Jones cca0f80ff3 Fix broken internal link.
llvm-svn: 155213
2012-04-20 18:20:24 +00:00
Joel Jones c8be222fbf Add debugging hints for when bugpoint does not suffice, specifically for instcombine and TargetLowering
llvm-svn: 155209
2012-04-20 18:11:07 +00:00
Daniel Dunbar cd0d4b69d8 [docs] Update Makefile for images removal.
- Also, drop the lines.gif background from doxygen, this URL was wrong on the
   llvm.org server anyway.

llvm-svn: 155208
2012-04-20 17:27:12 +00:00
Benjamin Kramer 23e4db271c LLVM docs no longer contain images, don't try to install them.
llvm-svn: 155206
2012-04-20 17:14:26 +00:00
Joel Jones 58c5ac4793 Correct spelling, q.v. http://en.wikipedia.org/wiki/Bourne_shell
llvm-svn: 155202
2012-04-20 16:08:56 +00:00
Daniel Dunbar 9e599bb6ac [docs] Remove spurious or unused images.
llvm-svn: 155199
2012-04-20 15:06:20 +00:00
Daniel Dunbar 46d611a227 [docs] Update HTML pages to refer to CSS in a way that works locally and with Sphinx.
llvm-svn: 155153
2012-04-19 20:20:34 +00:00
Daniel Dunbar f1cfef17e3 [docs] Remove index.html, I am flipping the switch on llvm.org.
llvm-svn: 155151
2012-04-19 20:06:39 +00:00
Michael J. Spencer 9125493efe Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
llvm-ld is no longer useful and causes confusion and so it is being removed.

* Does not work very well on Windows because it must call a gcc like driver to
  assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
  ld, or fully replaced by Clang.

I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.

llvm-svn: 155147
2012-04-19 19:27:54 +00:00
Daniel Dunbar 6dafd09680 [docs] Add back old index.html until I get llvm.org work done to support Sphinx docs.
llvm-svn: 155134
2012-04-19 16:37:30 +00:00
Daniel Dunbar fbb8041194 [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

llvm-svn: 155133
2012-04-19 16:31:37 +00:00
Daniel Dunbar 09b8c0f115 [docs] Stub out structure for Sphinx-based docs.
- Work in progress, this is just the basic structure.

llvm-svn: 155132
2012-04-19 16:31:19 +00:00
Jim Grosbach dd9257428d Document that StringMap iteration order is non-deterministic.
llvm-svn: 155040
2012-04-18 20:28:55 +00:00
Eli Bendersky cc091aac5c A bit of cleanup in the TestingGuide doc - dg.exp files no longer exist
llvm-svn: 154992
2012-04-18 08:02:25 +00:00
Eli Bendersky d47b789d0b Some formatting and grammar fixes in the FileCheck documentation
llvm-svn: 154990
2012-04-18 07:44:03 +00:00
Chandler Carruth be4ef0818d Add a stub about the inline cost rewrite.
llvm-svn: 154892
2012-04-17 01:13:53 +00:00
Chandler Carruth 6a47837ef7 Add a stub for block placement pass. This needs fleshing out w/ details
about what folks should expect w.r.t. the new algorithm.

llvm-svn: 154891
2012-04-17 01:10:35 +00:00
Duncan Sands 93e8263d21 Forgot to remove fast math metadata from the release notes.
llvm-svn: 154858
2012-04-16 20:51:39 +00:00
Duncan Sands 9af6298293 Remove support for the special 'fast' value for fpmath accuracy for the moment.
llvm-svn: 154850
2012-04-16 19:39:33 +00:00
Tobias Grosser dfc9ab2c16 Describe Polly as a 'Polyhedral Optimizer'
llvm-svn: 154834
2012-04-16 17:18:49 +00:00
Tobias Grosser 99d8e96d8e Add Polly news to the release notes
llvm-svn: 154833
2012-04-16 17:17:00 +00:00
Hal Finkel 82f8b2180d Link to the autovectorization EuroLLVM slides in the release notes.
llvm-svn: 154830
2012-04-16 17:06:49 +00:00
Duncan Sands 05f4df8d72 Make it possible to indicate relaxed floating point requirements at the IR level
through the use of 'fpmath' metadata.  Currently this only provides a 'fpaccuracy'
value, which may be a number in ULPs or the keyword 'fast', however the intent is
that this will be extended with additional information about NaN's, infinities
etc later.  No optimizations have been hooked up to this so far.

llvm-svn: 154822
2012-04-16 16:28:59 +00:00
Eli Bendersky f08a5a45fb Documentation fixes to LLVMBuild.html [PR 11563]
llvm-svn: 154804
2012-04-16 08:42:55 +00:00
Bill Wendling d1f43f1ceb Add credit and release notes for r150307. By Kai Nacke.
llvm-svn: 154796
2012-04-16 05:24:52 +00:00
Hal Finkel 1ac08679fd Say something about -vectorize in the release notes.
llvm-svn: 154788
2012-04-16 03:49:43 +00:00
Jakub Staszak 9414f0f266 Fix class name.
llvm-svn: 154773
2012-04-15 20:22:36 +00:00
Jakub Staszak 89f1d0a5a4 Fix filename and register numbers.
llvm-svn: 154771
2012-04-15 20:13:47 +00:00
Duncan Sands 62d5f6f247 Add the MDBuilder helper class for conveniently creating metadata.
llvm-svn: 154766
2012-04-15 18:03:49 +00:00
Anshuman Dasgupta d07ba6208f Remove trailing whitespace.
llvm-svn: 154755
2012-04-14 20:59:13 +00:00
Anshuman Dasgupta 888bcf9c63 Add VLIW packetizer to ReleaseNotes.html and CREDITS.TXT. Committing patch
by Sundeep Kushwaha.

llvm-svn: 154754
2012-04-14 20:57:13 +00:00
Brendon Cahoon 5aa9db38ac Add the loop unrolling info to ReleaseNotes.html and CREDITS.TXT.
llvm-svn: 154752
2012-04-14 16:54:12 +00:00
Duncan Sands 34bd91a49f Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm
thinking of generalizing it to be able to specify other freedoms beyond accuracy
(such as that NaN's don't have to be respected).  I'd like the 3.1 release (the
first one with this metadata) to have the more generic name already rather than
having to auto-upgrade it in 3.2.

llvm-svn: 154744
2012-04-14 12:36:06 +00:00
Tony Linthicum 7f13de2d6f Support for Hexagon backend.
llvm-svn: 154692
2012-04-13 19:09:44 +00:00
Anshuman Dasgupta 47628b2580 Add DFA generator for VLIW targets to ReleaseNotes.html and CREDITS.TXT.
llvm-svn: 154590
2012-04-12 15:17:35 +00:00
Duncan Sands af06b26c8e Express the number of ULPs in fpaccuracy metadata as a real rather than a
rational number, eg as 2.5 rather than 5, 2.  OK'd by Peter Collingbourne.

llvm-svn: 154387
2012-04-10 08:22:43 +00:00
Duncan Sands f1e1bb213f Clarify that fpaccuracy metadata is giving the compiler permission to use a
less accurate method.

llvm-svn: 154319
2012-04-09 14:08:00 +00:00
Bill Wendling ccf1109040 Formatting changes. Don't put spaces in front of some code, which only makes it look 'off'.
llvm-svn: 154282
2012-04-08 11:52:52 +00:00
NAKAMURA Takumi b95f64134e Target/X86/MCTargetDesc/X86MCAsmInfo.cpp: Enable DwarfCFI (aka DW2) on Cygming.
Cygwin-1.7 supports dw2. Some recent mingw distros support one, too.
I have confirmed test-suite/SingleSource/Benchmarks/Shootout-C++/except.cpp can pass on Cygwin.

llvm-svn: 154247
2012-04-07 02:24:20 +00:00
Eric Christopher 34164196af Add a line number for the scope of the function (starting at the first
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.

Part of rdar://11026482

llvm-svn: 153916
2012-04-03 00:43:49 +00:00
Benjamin Kramer cca02750c8 Drop O4 from the llc manpage, it was removed in r70445.
llvm-svn: 153684
2012-03-29 20:40:18 +00:00
NAKAMURA Takumi c9d9b92dc1 llvm/docs/*.html: Fix markups.
llvm-svn: 153508
2012-03-27 11:25:16 +00:00
Daniel Dunbar 9a05c8b479 docs/lit: Add some notes on the lit test run output format.
llvm-svn: 153450
2012-03-26 18:01:14 +00:00
Eric Christopher 885ed8240e Update documentation for old api changes.
Fixes PR12050

llvm-svn: 153424
2012-03-26 01:56:34 +00:00
Rafael Espindola 1ff70a7cf2 s/restrict/describe/
Thanks Duncan.

llvm-svn: 153411
2012-03-25 11:14:35 +00:00
Eli Bendersky f33086052d Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu
* Removed test/lib/llvm.exp - it is no longer needed 
* Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files
  left in the test suite so this code is no longer required. test/lit.cfg is
  now much shorter and clearer 
* Removed a lot of duplicate code in lit.local.cfg files that need access to
  the root configuration, by adding a "root" attribute to the TestingConfig
  object. This attribute is dynamically computed to provide the same
  information as was previously provided by the custom getRoot functions. 
* Documented the config.root attribute in docs/CommandGuide/lit.pod

llvm-svn: 153408
2012-03-25 09:02:19 +00:00
Rafael Espindola f15b79548b Add a small release not about the range metadata.
llvm-svn: 153391
2012-03-24 19:02:32 +00:00
Rafael Espindola ef9f5504ea First part of PR12251. Add documentation and verifier support for the range
metadata.

llvm-svn: 153359
2012-03-24 00:14:51 +00:00
Eric Christopher 64a232343a Remove the C backend.
llvm-svn: 153307
2012-03-23 05:50:46 +00:00
Nick Lewycky c7c66e4db4 Explicitly close optionally closed <li> tags.
llvm-svn: 153296
2012-03-23 00:56:26 +00:00
Nick Lewycky 1c76f15aa7 Add a release note for r145714.
llvm-svn: 153224
2012-03-21 22:58:28 +00:00
Nick Lewycky f70a2bde45 This clause (although matching parts of the implementation) can't be correct.
Thanks to Eli for noticing the discrepancy.

llvm-svn: 153011
2012-03-18 09:35:50 +00:00
Chris Lattner c9de7e5281 clarify the coding standards a bit.
llvm-svn: 152957
2012-03-16 22:34:37 +00:00
Daniel Dunbar 378f877758 docs: Update TestingGuide to change recommended practice to using LNT to drive
the test-suite.

llvm-svn: 152860
2012-03-15 22:19:35 +00:00
Eli Bendersky f0a1305bc0 Some typos in lit command guide
llvm-svn: 152712
2012-03-14 11:34:19 +00:00
Bill Wendling 21ee0d21ae Update the "hello world" example to resemble what we currently output.
Also do some minor reformatting.

llvm-svn: 152707
2012-03-14 08:07:43 +00:00
Eli Bendersky 2859178242 Typo in lit command guide
llvm-svn: 152702
2012-03-14 06:09:20 +00:00
Eli Bendersky 5262ad2afa Add profiling support for Intel Parallel Amplifier XE (VTune) for JITted code in LLVM.
Also refactor the existing OProfile profiling code to reuse the same interfaces with the VTune profiling code.
In addition, unit tests for the profiling interfaces were added.

This patch was prepared by Andrew Kaylor and Daniel Malea, and reviewed in the llvm-commits list by Jim Grosbach

llvm-svn: 152620
2012-03-13 08:33:15 +00:00
Bill Wendling 4fa13ccbec Add column width.
llvm-svn: 152115
2012-03-06 09:23:25 +00:00
Bill Wendling 4af807c59d Remove short tag marker.
llvm-svn: 152114
2012-03-06 09:22:03 +00:00
Bill Wendling 61d5e4d4d5 Appease the HTML validation gods.
llvm-svn: 152113
2012-03-06 09:20:59 +00:00
Bill Wendling 23d60acc38 Fix validation errors.
llvm-svn: 152112
2012-03-06 09:17:39 +00:00
Bill Wendling d672d9cd02 Fix validation errors.
llvm-svn: 152111
2012-03-06 09:17:04 +00:00
Bill Wendling 4bf1cc8312 Add missing end tags.
llvm-svn: 152110
2012-03-06 08:59:13 +00:00
Eric Christopher 8c096d65b3 Fix up link and a couple small edits.
llvm-svn: 152094
2012-03-06 02:25:41 +00:00
Eric Christopher 85cd2a0148 Add the beginnings of documentation for the Name Accelerator Tables.
Based on a writeup originally by Greg Clayton.

Abuse div and pre tags horribly. Needs a bit more cleanup.

llvm-svn: 152093
2012-03-06 02:25:38 +00:00
Eric Christopher 5acc7c1b74 Delete trailing whitespace to clean up.
llvm-svn: 152092
2012-03-06 02:25:36 +00:00
NAKAMURA Takumi 9b32e0f29f llvm/docs/GarbageCollection.html: Prune utf8 BOM.
llvm-svn: 151968
2012-03-03 04:32:33 +00:00
Jia Liu d9605a6582 add llvm.gcroot into GarbageCollection.html, patch bylost lostfreeman@gmail.com.
llvm-svn: 151908
2012-03-02 11:30:51 +00:00
Jia Liu b1cb18468b rplace Alpha with ARM in docs/WritingAnLLVMBackend.html, patch by chenwj
llvm-svn: 151811
2012-03-01 15:14:19 +00:00
Nick Lewycky efe5e2ea9f Where the alloca'd space actually lives in ram is undefined, and attempting to
pin it down is undefined behaviour.

llvm-svn: 151710
2012-02-29 08:26:44 +00:00
Craig Topper 8e76068c6e Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.
llvm-svn: 151513
2012-02-27 02:31:09 +00:00
Chad Rosier ce50eec7c6 Remove more GCC FE build stuff.
llvm-svn: 151507
2012-02-26 22:26:37 +00:00
Chad Rosier 579b40db6a Installing the GCC front end is no longer supported.
llvm-svn: 151506
2012-02-26 22:17:05 +00:00
Chad Rosier 2270b005bb Cleanup the LLVM Getting Started page.
llvm-svn: 151505
2012-02-26 22:12:59 +00:00
Chad Rosier 690a2b0902 Add href to clang in overview.
llvm-svn: 151503
2012-02-26 21:34:02 +00:00
Chad Rosier 233f147691 Remove references to llvm-gcc from overview and tutorial.
llvm-svn: 151502
2012-02-26 21:31:25 +00:00
Nadav Rotem 78bda89412 Add a random .LL file generator to stress-test different llvm components.
llvm-svn: 151479
2012-02-26 08:35:53 +00:00
Jim Grosbach dfd306ea3c Release not for ARM integrated assembler support.
llvm-svn: 151308
2012-02-23 23:52:06 +00:00
Chad Rosier 563f620932 Typo.
llvm-svn: 151302
2012-02-23 23:21:22 +00:00
Chad Rosier 6e220d5ad0 The LLVM Getting Started documentation is out of date. It would be nice if
someone could update this, but for now at least reference the Clang Getting
Started document, which is much more current.

llvm-svn: 151285
2012-02-23 21:23:24 +00:00
Chris Lattner c4360f8492 libclc is now dual licensed, Tobias and Peter own their respective subprojects.
llvm-svn: 151186
2012-02-22 19:17:20 +00:00
David Greene fb927af24f Add Foreach Loop
Add some data structures to represent for loops.  These will be
referenced during object processing to do any needed iteration and
instantiation.

Add foreach keyword support to the lexer.

Add a mode to indicate that we're parsing a foreach loop.  This allows
the value parser to early-out when processing the foreach value list.

Add a routine to parse foreach iteration declarations.  This is
separate from ParseDeclaration because the type of the named value
(the iterator) doesn't match the type of the initializer value (the
value list).  It also needs to add two values to the foreach record:
the iterator and the value list.

Add parsing support for foreach.

Add the code to process foreach loops and create defs based
on iterator values.

Allow foreach loops to be matched at the top level.

When parsing an IDValue check if it is a foreach loop iterator for one
of the active loops.  If so, return a VarInit for it.

Add Emacs keyword support for foreach.

Add VIM keyword support for foreach.

Add tests to check foreach operation.

Add TableGen documentation for foreach.

Support foreach with multiple objects.

Support non-braced foreach body with one object.

Do not require types for the foreach declaration.  Assume the iterator
type from the iteration list element type.

llvm-svn: 151164
2012-02-22 16:09:41 +00:00
Jakob Stoklund Olesen 3a0f01f734 Add a Briggs and Torczon sparse set implementation.
For objects that can be identified by small unsigned keys, SparseSet
provides constant time clear() and fast deterministic iteration. Insert,
erase, and find operations are typically faster than hash tables.

SparseSet is useful for keeping information about physical registers,
virtual registers, or numbered basic blocks.

llvm-svn: 151110
2012-02-22 00:56:08 +00:00
Chad Rosier 991aa50e44 Fix documentation.
llvm-svn: 150860
2012-02-18 01:38:41 +00:00
Jakob Stoklund Olesen 0cdf264491 Note x86 regmask operands in release notes.
llvm-svn: 150712
2012-02-16 18:22:39 +00:00
Bill Wendling 0891de0332 Add blurb about module flags and reformat a bit.
llvm-svn: 150677
2012-02-16 10:23:43 +00:00
Bill Wendling 7346277b6b Give a description of the Objective-C garbage collection module flags.
The rule governing the flags is this:

  no-gc + no-gc   = no-gc
  no-gc +    gc   = no-gc
  no-gc + gc-only = error
     gc +    gc   = gc
     gc + gc-only = gc-only
gc-only + gc-only = gc-only

llvm-svn: 150646
2012-02-16 01:10:50 +00:00
Daniel Dunbar 06b6812b5f utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know).
llvm-svn: 150610
2012-02-15 19:24:11 +00:00
Bill Wendling 911fdf47cd Document the new module flags.
llvm-svn: 150301
2012-02-11 11:59:36 +00:00
Pete Cooper 13e082d8ba Added description of invariant.load metadata to LangRef. It was added to the compiler in r144100
llvm-svn: 150257
2012-02-10 18:13:54 +00:00
Jia Liu 5b6562f58c update --enable-targets list
llvm-svn: 150229
2012-02-10 04:58:24 +00:00
Devang Patel af8f33726b Now subprogram descriptors are not collected by llvm.dbg.sp NamedMDNode. Update document to reflect this change.
llvm-svn: 150187
2012-02-09 17:34:01 +00:00
Chris Lattner 8776bc13f5 fix broken link
llvm-svn: 150105
2012-02-08 22:20:00 +00:00
Chris Lattner 13f118f47b No actual functional change here, just some clarifications:
Clarify that contributors are agreeing to license their code under the 
license corresponding to the subproject that they are contributing to,
as requested by a potential contributor.

Also, as a drive-by, update the llvm-gcc/GPL section to mention dragonegg
and say that GPL code is all in its own repo's.

llvm-svn: 150065
2012-02-08 07:58:38 +00:00
Chris Lattner 042e3720c3 add an explicit section on static constructors.
llvm-svn: 150037
2012-02-08 01:44:00 +00:00
Bill Wendling b377fc3bfa Rephrase to add clarity.
llvm-svn: 149972
2012-02-07 08:42:29 +00:00
Bill Wendling 9228b3e37c Document the 'unwind' removal.
llvm-svn: 149914
2012-02-06 21:59:44 +00:00
Bill Wendling 3f6a3a277c [unwind removal] Remove any mention of the 'unwind' instruction. What was that
instruction anyway?!

llvm-svn: 149913
2012-02-06 21:57:33 +00:00
Devang Patel c0449635b3 Update docs describing objective-c property encoding. This includes support for properties that are not backed by an ivar.
llvm-svn: 149879
2012-02-06 18:18:25 +00:00
Bill Wendling 46f28e0e27 Mention that the 'unwind' instruction is now deprecated.
llvm-svn: 149876
2012-02-06 17:58:34 +00:00
Eli Bendersky 3ea96a701e Fix typo and broken link
llvm-svn: 149820
2012-02-05 11:17:49 +00:00
Eli Bendersky cf65eff7a5 Add missing paren
llvm-svn: 149817
2012-02-05 09:21:25 +00:00
Hal Finkel c34e51132c Add a basic-block autovectorization pass.
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure.
Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser).

llvm-svn: 149468
2012-02-01 03:51:43 +00:00
Dan Gohman fcbd65d27b basic-aa does support AliasAnalysis chaining now.
llvm-svn: 149293
2012-01-30 23:05:41 +00:00
Talin 2a7df51ea2 DenseMap::find_as() and unit tests.
llvm-svn: 149229
2012-01-30 06:55:43 +00:00
Jim Grosbach 65e2465550 Tidy up. s/Low Level Virtual Machine/LLVM/.
LLVM isn't an acronym anymore.

llvm-svn: 148985
2012-01-25 22:00:23 +00:00
Nick Lewycky 75499f5d04 Fix broken link.
llvm-svn: 148692
2012-01-23 08:47:21 +00:00
Kostya Serebryany a5054ad2f3 Extend Attributes to 64 bits
Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom:  if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.

llvm-svn: 148553
2012-01-20 17:56:17 +00:00
Chad Rosier 89e0d22cc6 Fix typo.
llvm-svn: 148497
2012-01-19 21:50:08 +00:00
Jakob Stoklund Olesen 374ed322f2 Add a new kind of MachineOperand: MO_RegisterMask.
Register masks will be used as a compact representation of large clobber
lists.  Currently, an x86 call instruction has some 40 operands
representing call-clobbered registers.  That's more than 1kB of useless
operands per call site.

A register mask operand references a bit mask of call-preserved
registers, everything else is clobbered.  The bit mask will typically
come from TargetRegisterInfo::getCallPreservedMask().

By abandoning ImplicitDefs for call-clobbered registers, it also becomes
possible to share call instruction descriptions between calling
conventions, and we can get rid of the WINCALL* instructions.

This patch introduces the new operand kind.  Future patches will add
RegMask support to target-independent passes before finally the fixed
clobber lists can be removed from call instruction descriptions.

llvm-svn: 148250
2012-01-16 19:22:00 +00:00
Joe Abbey 36cd89e7bd Adding a Hexagon cell for segmented stacks, as they have been implemented for X86 and not Sparc...
Committed as obvious

llvm-svn: 148237
2012-01-16 13:16:05 +00:00
Duncan Sands df9d781510 Try to clarify a little how exception handling works.
llvm-svn: 148136
2012-01-13 19:59:16 +00:00
Bill Wendling 49c4dfb534 Revert accidental commit.
llvm-svn: 148065
2012-01-12 23:06:28 +00:00
Bill Wendling ee5eaebc58 Fix the code that was WRONG.
The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.

llvm-svn: 148064
2012-01-12 23:05:03 +00:00
Eli Bendersky bbf8c9a939 Fix dead link
llvm-svn: 147721
2012-01-07 04:11:27 +00:00
Eli Bendersky 88676cff61 test commit (verifyiing commit access)
llvm-svn: 147600
2012-01-05 08:18:41 +00:00
Jakob Stoklund Olesen d19d3cab09 Freeze reserved registers before starting register allocation.
The register allocators don't currently support adding reserved
registers while they are running.  Extend the MRI API to keep track of
the set of reserved registers when register allocation started.

Target hooks like hasFP() and needsStackRealignment() can look at this
set to avoid reserving more registers during register allocation.

llvm-svn: 147577
2012-01-05 00:26:49 +00:00
Eric Christopher 2007dc8892 Fix typo.
llvm-svn: 147456
2012-01-03 18:38:37 +00:00
Duncan Sands 7610e45910 Correct spelling.
llvm-svn: 147435
2012-01-02 16:55:01 +00:00
NAKAMURA Takumi e9d3d21988 Happy new year 2012!
llvm-svn: 147395
2012-01-01 08:16:56 +00:00
Nadav Rotem 4c4d254f61 Update the LangRef documentation: the codegen does support this instruction.
llvm-svn: 147274
2011-12-25 21:32:35 +00:00
Nadav Rotem 1a0ae42d14 Add a few lines to the release notes:
1. pointer-vector
2. type legalizer changes and vector-select
3. X86 ISA changes.

llvm-svn: 146964
2011-12-20 08:02:50 +00:00
Dan Gohman 948ec427fa Add a line to ReleaseNotes for half float.
llvm-svn: 146939
2011-12-20 01:10:56 +00:00
Jakob Stoklund Olesen 24159e346d Remove a register class that can just as well be synthesized.
Add the new TableGen register class synthesizer feature to the release
notes.

llvm-svn: 146875
2011-12-19 16:53:40 +00:00
Dan Gohman 518cda42b9 The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).

llvm-svn: 146786
2011-12-17 00:04:22 +00:00
Eric Christopher 09cd3568f4 Fix spacing.
llvm-svn: 146782
2011-12-16 23:42:35 +00:00
Eric Christopher 3e3ecd0ab6 Update documentation.
llvm-svn: 146781
2011-12-16 23:42:33 +00:00
Devang Patel c16e1ed4bb Clarify and fix subprogram description.
llvm-svn: 146743
2011-12-16 17:50:04 +00:00
Jakob Stoklund Olesen 2a05f691ab Note ARM constant island alignment in the release notes.
The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.

llvm-svn: 146739
2011-12-16 16:07:41 +00:00
Evan Cheng d647109ff9 Add a blurb about MachineInstr bundling support.
llvm-svn: 146603
2011-12-14 22:57:45 +00:00
Evan Cheng c984bf8fb0 Add high level description of MachineInstr bundles.
llvm-svn: 146589
2011-12-14 21:32:14 +00:00
Duncan Sands 9aaec15ce3 Vectors are not aggregate types (see isAggregateType).
llvm-svn: 146561
2011-12-14 15:44:20 +00:00
Kostya Serebryany 30c85d1945 mention AddressSanitizer in 3.1 release notes
llvm-svn: 146505
2011-12-13 19:46:24 +00:00
Chris Lattner 9f2a83eb59 Rip llvm 3.0 out of the release notes, making room for LLVM 3.1
llvm-svn: 146493
2011-12-13 17:55:30 +00:00
Bill Wendling 7ad1f3663c Use the example from clang, not the GCC frontend, which doesn't exist anymore.
llvm-svn: 146461
2011-12-13 01:07:07 +00:00
Daniel Dunbar e29ffffa48 llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

llvm-svn: 146437
2011-12-12 22:45:59 +00:00
Daniel Dunbar ea07f34afd llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

llvm-svn: 146434
2011-12-12 22:45:35 +00:00
Tony Linthicum 1213a7a57f Hexagon backend support
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
Daniel Dunbar 27a7489a03 LLVMBuild: Remove trailing newline, which irked me.
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Chandler Carruth f6bb278ee8 Update the LangRef documentation for llvm.ctlz and llvm.cttz to specify
the behavior with the newly added flag for undefined results on a zero
input.

I'm terrible at documentation, so comments and suggestions welcome here.

llvm-svn: 146361
2011-12-12 04:36:04 +00:00
Bill Wendling 4517fe5020 Random cleanups. No description changes.
llvm-svn: 146288
2011-12-09 22:41:40 +00:00
Bill Wendling abe534c6cc Revert r146041 et al. The FunctionPass doesn't take an address but the ID.
llvm-svn: 146268
2011-12-09 19:11:02 +00:00
Chad Rosier c28f3e9e0b Typo.
llvm-svn: 146234
2011-12-09 02:00:44 +00:00
Bill Wendling 82d9272fc2 Also pass in correct initializer here.
llvm-svn: 146044
2011-12-07 18:18:11 +00:00
Bill Wendling 41d3595a26 Correct initializer in example.
llvm-svn: 146041
2011-12-07 18:02:44 +00:00
Jakub Staszak d64c99b07f Make Release Notes HTML 4.01 Strict.
llvm-svn: 145991
2011-12-06 23:33:07 +00:00
Anshuman Dasgupta bcfa2f83fb Add documentation for machine-independent DFA packetizer
llvm-svn: 145988
2011-12-06 23:12:42 +00:00
Jakub Staszak 43d7cf6b82 Add link to builtin_expect in Release Notes.
llvm-svn: 145979
2011-12-06 22:31:27 +00:00
Jakub Staszak cf9af0fc3b Add link to llvm.expect in Release Notes.
llvm-svn: 145964
2011-12-06 20:56:36 +00:00
Dan Gohman 32772f7790 Fix a subtle semantic issue with poison values that came up in
recent discussions. Poison can't make every value that depends on
it act in maximally undefined ways, because the optimizer may still
hoist code following the usual rules for undef. Make Poison invoke
its full undefined behavior only when it reaches an instruction with
externally visible side effects.

llvm-svn: 145913
2011-12-06 03:35:58 +00:00
Dan Gohman 5f115a78cb Line up the comments in a code example.
llvm-svn: 145908
2011-12-06 03:31:14 +00:00
Dan Gohman 9a2a0933ed Rename "Trap Values" to "Poison Values", to better reflect their
purpose, and to avoid ambiguity with other uses of the word "trap"
in LangRef.

llvm-svn: 145907
2011-12-06 03:18:47 +00:00
Bill Wendling b437ab8561 Move 'returns_twice' definition into alphabetical place.
llvm-svn: 145854
2011-12-05 21:27:54 +00:00
Nadav Rotem 3924cb0267 Add support for vectors of pointers.
llvm-svn: 145801
2011-12-05 06:29:09 +00:00
Jakub Staszak 5fd147f97e Fix table of contents.
llvm-svn: 145793
2011-12-04 20:44:25 +00:00
Jakub Staszak 5fef792d8c Add 'llvm.expect' intrinsic description.
llvm-svn: 145792
2011-12-04 18:29:26 +00:00
Chris Lattner f433c08659 fix broken tag
llvm-svn: 145590
2011-12-01 17:25:28 +00:00
Bill Wendling ad8b58b2ac More cleanups. No content change.
llvm-svn: 145522
2011-11-30 21:52:43 +00:00
Bill Wendling b6c2220600 Minor cleanup. No content change.
llvm-svn: 145521
2011-11-30 21:43:43 +00:00
Bill Wendling 3eb84cc75b Remove an XXX which hasn't been fixed yet. It's too late now.
llvm-svn: 145518
2011-11-30 20:53:52 +00:00
Duncan Sands e9adf5c860 Mention that -O4 does result in more optimization when used with
-fplugin-arg-dragonegg-enable-gcc-optzns, though it usually isn't
a win.

llvm-svn: 145486
2011-11-30 08:46:05 +00:00
Eric Christopher b2d03a6d00 Update the docs for some of the test-suite configure changes and
be more clear about what to do and how to do it.

llvm-svn: 145426
2011-11-29 19:40:56 +00:00
Rafael Espindola b61cc44265 grammar.
llvm-svn: 145423
2011-11-29 19:38:09 +00:00
Benjamin Kramer 098c1d9680 Add a link to Bill's blog post.
llvm-svn: 145419
2011-11-29 19:24:11 +00:00
Rafael Espindola 866a22aba7 Release notes for segmented stacks.
Patch by Sanjoy Das.

llvm-svn: 145416
2011-11-29 19:08:23 +00:00
Peter Collingbourne 7e09afb833 Remove content that has been moved to Clang release notes.
llvm-svn: 145362
2011-11-29 02:04:48 +00:00
Peter Collingbourne 7d9c13d81f Fix grammar.
llvm-svn: 145361
2011-11-29 02:04:44 +00:00
Chandler Carruth 60062ed5dc Add a link from the LLVM release notes to the Clang release notes.
I suspect we could profitably remove/move some of the bullet points
under Clang here to the Clang notes in order to keep things clean on
both sides. Unless I hear objections I'll start doing that once folks
have read over the Clang notes a bit.

llvm-svn: 145340
2011-11-29 00:32:43 +00:00
Rafael Espindola 8fa4bd048b Expand the part about CFI a bit.
llvm-svn: 145324
2011-11-28 23:55:49 +00:00
Devang Patel 8e5bfd8349 Add documentation for llvm-cov.
llvm-svn: 145319
2011-11-28 23:39:25 +00:00
Joe Abbey 3483e11496 Merging two bullet points into one
llvm-svn: 145287
2011-11-28 22:07:12 +00:00
Peter Collingbourne 952adc32d9 Add OpenCL blurb to release notes.
llvm-svn: 145270
2011-11-28 20:04:12 +00:00
Bill Wendling 5ebc95ff4c Remove dead llvm.eh.sjlj.dispatchsetup intrinsic.
llvm-svn: 145263
2011-11-28 19:23:13 +00:00
Michael J. Spencer f7a4ed7d7f Add object file related release notes.
llvm-svn: 145254
2011-11-28 18:20:09 +00:00
Jakob Stoklund Olesen 979dad7bd2 Explain what ExeDepsFix does.
llvm-svn: 145253
2011-11-28 18:03:11 +00:00
Rafael Espindola c87cebf2bf Fix spelling/grammar errors found by Duncan.
llvm-svn: 145250
2011-11-28 17:06:58 +00:00
Jakob Stoklund Olesen 6d110aa84d Add a blurb about the new ExecutionDepsFix pass.
llvm-svn: 145220
2011-11-28 01:46:19 +00:00
Chris Lattner ef714c0b05 dwarf parsing stuff.
llvm-svn: 145207
2011-11-27 22:39:23 +00:00
Chris Lattner b035c31215 first pass of writing complete!
llvm-svn: 145206
2011-11-27 22:36:22 +00:00
Chris Lattner 7b32d97e02 arm and carve out a place ot mention segmented stacks.
llvm-svn: 145204
2011-11-27 22:12:32 +00:00
Rafael Espindola 799ca897e7 Add a description of the status of segmented stacks.
llvm-svn: 145201
2011-11-27 22:05:46 +00:00
Chris Lattner 7257f76728 optimize, mc, x86
llvm-svn: 145200
2011-11-27 22:03:34 +00:00
Chris Lattner 644976405f some writing.
llvm-svn: 145198
2011-11-27 21:30:28 +00:00
Chris Lattner 9661de7d30 fix some out-of-date attribution.
llvm-svn: 145197
2011-11-27 21:02:12 +00:00
Chris Lattner 6442197819 distribute various bullets to different sections.
llvm-svn: 145196
2011-11-27 20:51:47 +00:00
Chris Lattner 080dd7ce30 rewrite the known problems section. Including a short list of individual bugs per target isn't particularly useful. Link to the target features matrix.
llvm-svn: 145193
2011-11-27 19:38:20 +00:00
Chris Lattner 4857190a50 move the detailed information about the EH rewrite to a comment, Bill is
blog'izing it.

llvm-svn: 145192
2011-11-27 19:26:30 +00:00
Chris Lattner e9a31c40b6 tweak subprojects' section
llvm-svn: 145191
2011-11-27 18:53:41 +00:00
Chris Lattner 25a7790603 some random notes.
llvm-svn: 145190
2011-11-27 18:47:37 +00:00
Chris Lattner 3dcdc29d11 add some final random notes, I've completed my pass over all the commits.
I'll work on turning this into something intelligible tomorrow.

llvm-svn: 145177
2011-11-27 08:32:32 +00:00
Chris Lattner d5bb9e6c4c add some notes.
llvm-svn: 145173
2011-11-27 07:37:53 +00:00
Chris Lattner bc639298e5 remove asmparsing and documentation support for "volatile load", which was only produced by LLVM 2.9 and earlier. LLVM 3.0 and later prefers "load volatile".
llvm-svn: 145172
2011-11-27 06:56:53 +00:00
Chris Lattner ebed15e973 some notes.
llvm-svn: 145170
2011-11-27 06:24:49 +00:00
Chris Lattner 74a3e00ebf add some notes
llvm-svn: 145163
2011-11-27 05:47:57 +00:00
Benjamin Kramer 8c8486dbb2 Move the branch probability blurb into the optimizer section. Add a minimal bullet for AVX.
llvm-svn: 145145
2011-11-26 11:14:54 +00:00
David Chisnall 07618783f3 Added Objective-C and libc++ details to the 3.0 release notes.
llvm-svn: 145144
2011-11-26 10:56:17 +00:00
Benjamin Kramer a02af616b1 shpelling
llvm-svn: 145138
2011-11-25 21:26:00 +00:00
Benjamin Kramer 889b243fd6 Remove ZooLib from the projects list.
I don't see how the project is using LLVM and we really can't list every user of
the clang analyzer. Sorry.

llvm-svn: 145137
2011-11-25 21:03:06 +00:00
Chris Lattner c3e4fdcc10 add a user
llvm-svn: 145136
2011-11-25 20:36:17 +00:00
Chris Lattner 614d0391e9 add some notes
llvm-svn: 145135
2011-11-25 20:33:27 +00:00
Chris Lattner e5b37be30a add faust
llvm-svn: 145134
2011-11-25 20:28:16 +00:00
Jim Grosbach 651e2ee792 Add a few notes for ARM and a blurb about the MCJIT.
llvm-svn: 145118
2011-11-24 00:49:21 +00:00
Chris Lattner 0e439c9b7c x86/windows issues fixed.
llvm-svn: 144878
2011-11-17 01:42:23 +00:00
Chandler Carruth d1eafe118d There are already problems with building LLVM under VS2005, and it's
quite old now. Update the documentation to reflect this, and direct
people to use VS2008 or newer.

llvm-svn: 144818
2011-11-16 19:52:13 +00:00
Devang Patel 8cd896404a Merge ObjCPropertyDebugInfo.html into SourceLevelDebugging.html
llvm-svn: 144724
2011-11-15 22:59:54 +00:00
Chris Lattner dfcdd0c5be jakob fixed X87 inline asm!
llvm-svn: 144719
2011-11-15 22:48:24 +00:00
Chris Lattner 7cdcbe3788 add ImmutableSet/Map dox, patch by Caitlin Sadowski!
llvm-svn: 144716
2011-11-15 22:40:14 +00:00
Chris Lattner 212a0867e9 add PTX backend info
llvm-svn: 144711
2011-11-15 22:23:46 +00:00
Chris Lattner 92f2183360 some notes.
llvm-svn: 144708
2011-11-15 22:13:27 +00:00
Akira Hatanaka b89a58df96 Update section "MIPS Target Improvements" in the llvm 3.0 release notes.
llvm-svn: 144699
2011-11-15 21:33:05 +00:00
Devang Patel aa284c564f Add ObjCPropertyDebugInfo.html
llvm-svn: 144600
2011-11-15 01:14:37 +00:00
Devang Patel 41eac807ee Document debug info support for objective-c properties.
llvm-svn: 144599
2011-11-15 01:11:58 +00:00
Wesley Peck 1c29a83acc Add release notes for the MicroBlaze backend.
llvm-svn: 144550
2011-11-14 18:56:41 +00:00
Tobias Grosser 8bee91ffc6 Add clang_complete to release notes
llvm-svn: 144529
2011-11-14 09:09:26 +00:00
Tobias Grosser cfa35956c3 Add Polly to release notes
llvm-svn: 144528
2011-11-14 09:09:23 +00:00
Daniel Dunbar 6d617b48c7 LLVMBuild: Add explicit information on whether targets define an assembly printer, assembly parser, or disassembler.
llvm-svn: 144344
2011-11-11 00:23:56 +00:00
Nicolas Geoffray 5e515797b6 Add blurb for VMKit.
llvm-svn: 144336
2011-11-10 23:37:56 +00:00
Chris Lattner 6d3eeec068 random notes, llvm-gcc is gone, fix a few broken tags.
llvm-svn: 144311
2011-11-10 20:15:40 +00:00
Duncan Sands a294c549ca Release notes for DragonEgg.
llvm-svn: 144298
2011-11-10 18:44:29 +00:00
Daniel Dunbar 82219ad4dc llvm-build: Add an explicit component type to represent targets.
- Gives us a place to hang target specific metadata (like whether the target has a JIT).

llvm-svn: 144250
2011-11-10 00:49:51 +00:00
Bill Wendling 302d7ce0ab Reformat the quote and tag the math stuff with <tt> tags.
llvm-svn: 144204
2011-11-09 19:33:56 +00:00
Bill Wendling b33bd11c71 Add Eero to the list of external projects.
llvm-svn: 144076
2011-11-08 05:22:54 +00:00
Bill Wendling 1654bb22ca Cleanup the formatting.
llvm-svn: 144053
2011-11-08 00:32:45 +00:00
Bill Wendling fc1935c8bf Add ISPC to the external projects list.
llvm-svn: 144026
2011-11-07 22:05:17 +00:00
Andrew Trick 6c0a11bf61 Release Notes: add a description of -enable-iv-rewrite.
llvm-svn: 143878
2011-11-06 17:59:24 +00:00
NAKAMURA Takumi a61f0cc731 docs/GettingStarted.html: [Git] Add another example for "[Gmail]/Drafts" in Traditional Chinese.
Thanks to Chen Weiren.

llvm-svn: 143862
2011-11-06 06:51:58 +00:00
Peter Collingbourne dc66efeb10 Recommend the -flto flag instead of -use-gold-plugin, and update
other aspects of the gold plugin docs to reflect reality.

llvm-svn: 143785
2011-11-05 04:17:28 +00:00
Daniel Dunbar e9733850be llvm-build: Add initial --write-cmake-fragment option.
llvm-svn: 143744
2011-11-04 23:10:37 +00:00
Bill Wendling ef3cdeab45 Fix some misplaced punctuation.
llvm-svn: 143737
2011-11-04 20:40:41 +00:00
Daniel Dunbar ab3b1804fe llvm-build: Add initial code for --write-make-fragment.
llvm-svn: 143661
2011-11-03 22:46:19 +00:00
Bill Wendling ed4cc4432f Keep the Crack language as an external project.
llvm-svn: 143643
2011-11-03 20:10:01 +00:00
Daniel Dunbar bf9bba47a1 build: Add initial cut at LLVMBuild.txt files.
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
Daniel Dunbar 445e8f9d35 llvm-build: Add "--write-library-table" option for generating the C++ library
dependency table used by llvm-config.

llvm-svn: 143628
2011-11-03 17:56:28 +00:00
Daniel Dunbar 774421ec26 docs: Sketch docs for llvm-build tool.
llvm-svn: 143627
2011-11-03 17:56:24 +00:00
Daniel Dunbar 6972721d5f docs: Add initial docs on LLVMBuild organization.
llvm-svn: 143619
2011-11-03 17:55:59 +00:00
Galina Kistanova 98989469a2 Cleaned text, fixed HTML.
llvm-svn: 143607
2011-11-03 05:57:26 +00:00
Galina Kistanova 3246d3556b Few corrections on the document page.
llvm-svn: 143578
2011-11-02 22:05:18 +00:00
Tobias Grosser 325569f716 docs: Fix two typos
llvm-svn: 143565
2011-11-02 19:51:04 +00:00
Daniel Dunbar f5918316e4 docs: Remove an out-of-date and unnecessary tool list.
llvm-svn: 143544
2011-11-02 15:57:05 +00:00
Daniel Dunbar 9a28c4a522 docs: Separate development process type of documentation from programming
documentation.

llvm-svn: 143543
2011-11-02 15:56:58 +00:00
Daniel Dunbar 1ad9bd9a4e docs: Remove UsingLibraries page, which was inaccurate / out-of-date and not
particularly useful.

llvm-svn: 143542
2011-11-02 15:56:55 +00:00
Bill Wendling eda350d8ab Add LuaAV to external projects list.
llvm-svn: 143431
2011-11-01 04:08:23 +00:00
Tanya Lattner e9839c045f Reapply r141657.
Also revert the change to CREATE_SUBDIRS as this is what caused the CSS to break on the website and generate the much longer URLs.

llvm-svn: 143401
2011-10-31 23:46:50 +00:00
Ted Kremenek aff3640d13 Update 'Getting Started' to suggest using GCC 4.2 or higher (or Clang). There is no reason to support older versions of GCC.
llvm-svn: 143366
2011-10-31 21:23:15 +00:00
Galina Kistanova 9545514c60 Added instruction how to add a builder to docs.
llvm-svn: 143365
2011-10-31 21:13:06 +00:00
NAKAMURA Takumi a35cdd68cf docs/*.html: Fix markups.
llvm-svn: 143349
2011-10-31 13:04:26 +00:00
NAKAMURA Takumi b8004d9b4c docs/*.html: Appease W3C Checker to add "charset=utf-8".
llvm-svn: 143348
2011-10-31 11:21:59 +00:00
Nick Lewycky cd196f6b4f Close <div> that was indenting the rest of the page.
llvm-svn: 143328
2011-10-31 01:32:21 +00:00
Roman Divacky 2634d778a6 Update on PPC32.
llvm-svn: 143306
2011-10-30 07:49:04 +00:00
Bill Wendling edc208762e Revise ThreadSanitizer mention so that it lists the correct frontends.
llvm-svn: 143268
2011-10-29 01:11:15 +00:00
Bill Wendling ca8dc4a617 Add Cling to the External Projects list.
llvm-svn: 143267
2011-10-29 01:10:01 +00:00
Jim Grosbach 07ae229048 Clarify example snippets a bit.
llvm-svn: 143224
2011-10-28 20:52:20 +00:00
Dan Gohman 4c9fca99c9 Remove the Alpha backend.
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Eli Friedman 5487356336 The default alias analysis is -noaa; update the docs to reflect that. Patch by Michael Ilseman.
llvm-svn: 143159
2011-10-27 22:32:13 +00:00
Daniel Dunbar a054790390 tests: Rip out a bunch of now unused test code relating to use of llvm-gcc in LLVM tests.
llvm-svn: 143143
2011-10-27 20:59:26 +00:00
Peter Collingbourne f7d1e7be55 Add a pinned metadata name for fpaccuracy, and document it
llvm-svn: 143135
2011-10-27 19:19:14 +00:00
Peter Collingbourne ec9ff67e22 Document tbaa metadata in LangRef (documentation largely based on
comments at top of TypeBasedAliasAnalysis.cpp).

llvm-svn: 143134
2011-10-27 19:19:07 +00:00
Bill Wendling a2ae87bef2 Add include-what-you-use to the External Projects list.
llvm-svn: 143073
2011-10-26 22:55:18 +00:00
Bill Wendling 16133782dc Some formatting changes.
llvm-svn: 143045
2011-10-26 18:46:16 +00:00
Bill Wendling d535a6ee92 Add the blurb about the new exception handling.
llvm-svn: 143042
2011-10-26 18:33:01 +00:00
Bill Wendling 5ee37be14f Add clReflect to the External Projects list.
llvm-svn: 143041
2011-10-26 18:23:06 +00:00
Bill Wendling 4d9c8e5f31 Add LanguageKit and Pragmatic Smalltalk to the External Projects list.
llvm-svn: 143040
2011-10-26 18:20:54 +00:00
Bill Wendling fe845d5340 Add ThreadSanitizer to the External Projects list.
llvm-svn: 143024
2011-10-26 09:25:01 +00:00
Bill Wendling 39fe265e9c Add ZooLib to the External Projects list.
llvm-svn: 143022
2011-10-26 07:42:45 +00:00
Bill Wendling 8fae82a196 Add the Stupid D Compiler to the External Projects list.
llvm-svn: 143020
2011-10-26 07:38:19 +00:00
Bill Wendling c902d13653 Fix grammar.
llvm-svn: 143012
2011-10-26 04:24:15 +00:00
Eli Friedman 2c25d9c0c5 Add a note about the removal of the atomic intrinsics to the "Major Changes" section of the release notes.
llvm-svn: 142998
2011-10-26 00:55:23 +00:00
Eli Friedman 4bfff503fd Remove dead atomic intrinsics from LangRef.
llvm-svn: 142994
2011-10-26 00:36:41 +00:00
Bill Wendling 0ed5747220 Add mention of AddressSanitizer to external OS projects.
llvm-svn: 142991
2011-10-26 00:17:54 +00:00
Bill Wendling fd9eb573e4 Add mention of Mono to external OS projects.
llvm-svn: 142990
2011-10-26 00:16:17 +00:00
Bill Wendling 3bb971b74b Add mention of ClamAV to external OS projects.
llvm-svn: 142989
2011-10-26 00:14:36 +00:00
Bill Wendling 97b889d6e5 Add mention of Renderscript to external OS projects.
llvm-svn: 142988
2011-10-26 00:12:04 +00:00
Bill Wendling 3bb93ad281 Add mention of GHC to external OS projects.
llvm-svn: 142987
2011-10-26 00:09:55 +00:00
Bill Wendling bf72f2ca19 Add mention of SAFECode to external OS projects.
llvm-svn: 142966
2011-10-25 20:40:26 +00:00
Bill Wendling 58209296e0 Add mention of Pure to external OS projects.
llvm-svn: 142965
2011-10-25 20:39:06 +00:00
Bill Wendling e8caad5241 Add mention of Portable OpenCL to external OS projects.
llvm-svn: 142963
2011-10-25 20:37:45 +00:00
Bill Wendling 3e3968e7aa Add mention of gwScript to external OS projects.
llvm-svn: 142960
2011-10-25 20:35:31 +00:00
Bill Wendling ae9aa3541e Add mention of Tart to external OS projects.
llvm-svn: 142955
2011-10-25 20:27:37 +00:00
Bill Wendling 53aa7a8110 Add TTA-based Co-design Environment to external OS projects.
llvm-svn: 142954
2011-10-25 20:24:32 +00:00
Bruno Cardoso Lopes 4f6d7d489f According to Mips folks, the backend is now generally reliable (they can
compile and use a bunch of stuff using o32 abi). Also the rt-rk.com team
claims that the JIT support they contributed, is complete for the mips
"static" relocation model.

llvm-svn: 142950
2011-10-25 20:09:31 +00:00
Bill Wendling 99ba0b6339 Comment out external projects so that they can be refreshed for 3.0.
llvm-svn: 142893
2011-10-25 01:01:42 +00:00
Dan Gohman b43c36f391 Remove the Blackfin backend.
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman dfc96aea90 Remove the SystemZ backend.
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Tanya Lattner 8a8d6466ff Revert r141657 for now. This has broken css and changed links on llvm.org. I'd like to understand exactly why the links have changed and if a newer doxygen is required. This may be reapplied once we upgrade on llvm.org and it is fully tested.
llvm-svn: 142686
2011-10-21 20:51:54 +00:00
David Greene fba251f267 Document Paste
Document paste as a shorthand for !strconcat.

llvm-svn: 142528
2011-10-19 13:04:59 +00:00
David Greene e7c3ea9704 Document NAME
Document NAME as a special member of def records that should
not be defined anywhere else.

llvm-svn: 142527
2011-10-19 13:04:56 +00:00
Bill Wendling d569648aa5 Remove mention of llvm-gcc and add mention of dragonegg.
llvm-svn: 142243
2011-10-17 20:28:54 +00:00
Bill Wendling 3fafe6d3f8 Install the PNG file as well. PR4780.
llvm-svn: 142125
2011-10-16 08:24:30 +00:00
Bill Wendling 01e554f905 Update tutorial to reflect the current APIs. Also correct a small omission in
LangImpl6.html (it needed to defined the 'binary :' operator).
PR9052

llvm-svn: 142123
2011-10-16 08:06:54 +00:00
Bill Wendling e33d040331 Enable CREATE_SUBDIRS for a performance win, because there are a lot of files being generated.
llvm-svn: 142112
2011-10-16 06:43:10 +00:00
NAKAMURA Takumi bccadaf1a3 CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
llvm-svn: 142103
2011-10-16 02:54:33 +00:00
Douglas Gregor 936c75bd51 Mention some of the improvements in Clang 3.0 over 2.9.
llvm-svn: 142029
2011-10-15 00:48:01 +00:00
Lang Hames 91fc0905a2 Fixed typo.
llvm-svn: 141906
2011-10-13 23:04:49 +00:00
Eli Friedman c1702c8f22 Enhance the memdep interface so that users can tell the difference between a dependency which cannot be calculated and a path reaching the entry point of the function. This patch introduces isNonFuncLocal, which replaces isUnknown in some cases.
Patch by Xiaoyi Guo.

llvm-svn: 141896
2011-10-13 22:14:57 +00:00
NAKAMURA Takumi 9423f99d68 docs/CMake.html: Clarify LLVM_LIT_TOOLS_DIR as :PATH.
llvm-svn: 141872
2011-10-13 17:36:02 +00:00
Chris Lattner 7bd0ea3487 target data is a contract with the code generator, not the "processor"
llvm-svn: 141734
2011-10-11 23:02:17 +00:00
Chris Lattner 487974042e improve some of the documentation around target data layout strings.
llvm-svn: 141733
2011-10-11 23:01:39 +00:00
Eric Christopher 6647b83087 Add a new wrapper node for a DILexicalBlock that encapsulates it and a
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.

This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.

Part of rdar://10246360

llvm-svn: 141729
2011-10-11 22:59:11 +00:00
Daniel Dunbar 037fc9311a Clean up a few references to System/. We still have docs/SystemLibrary.html
lying around...

llvm-svn: 141703
2011-10-11 20:02:52 +00:00
Lang Hames ff2c52ce63 Fixed docs to reflect the proper default value and behaviour of the natural stack alignment.
llvm-svn: 141687
2011-10-11 17:50:14 +00:00
Duncan Sands 1cb28fdd54 Mention the cmake build guide on the main docs page.
llvm-svn: 141674
2011-10-11 16:35:07 +00:00
Bill Wendling c8a78ded33 Update to a newer doxygen version. PR8214. Patch by Jeremy Huddleston.
llvm-svn: 141657
2011-10-11 07:25:38 +00:00
Bill Wendling ffc3bd0e08 Minor modifications to make the Hello World example resemble the Hello World
pass in the tree. Also some minor formatting changes.
PR9413

llvm-svn: 141655
2011-10-11 07:03:52 +00:00
Bill Wendling b4d076e37e Use the proper name for "externally visible" linkage -- 'external'. This is the
keyword in LLVM for externally visible linkage.
PR10636

llvm-svn: 141649
2011-10-11 06:41:28 +00:00
Bill Wendling 05d9151d2c Reword the SetVector description to reflect reality.
Patch by Michael Ilseman!

llvm-svn: 141648
2011-10-11 06:33:56 +00:00
Lang Hames de7ab801cc Add a natural stack alignment field to TargetData, and prevent InstCombine from
promoting allocas to preferred alignments that exceed the natural
alignment. This avoids some potentially expensive dynamic stack realignments.

The natural stack alignment is set in target data strings via the "S<size>"
option. Size is in bits and must be a multiple of 8. The natural stack alignment
defaults to "unspecified" (represented by a zero value), and the "unspecified"
value does not prevent any alignment promotions. Target maintainers that care
about avoiding promotions should explicitly add the "S<size>" option to their
target data strings.

llvm-svn: 141599
2011-10-10 23:42:08 +00:00
David Greene 33f619971f Remove Multidefs
Multidefs are a bit unwieldy and incomplete.  Remove them in favor of
another mechanism, probably for loops.

Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"

llvm-svn: 141378
2011-10-07 18:25:05 +00:00
Evan Cheng 77f79a1a4f Jakob is the code owner of register allocation and TableGen.
llvm-svn: 141372
2011-10-07 17:26:38 +00:00
David Greene b6eb065ffc Fix a typo.
Fix the argument passed in the multidef example.

llvm-svn: 141243
2011-10-05 23:16:44 +00:00
David Greene ce3852464a Document Multidefs
Provide documentation for multidefs, explaining in detail how they
work.

llvm-svn: 141236
2011-10-05 22:42:49 +00:00
David Chisnall b24263ec49 Tell people using the tutorial how to make it actually work.
llvm-svn: 141103
2011-10-04 19:36:30 +00:00
Rafael Espindola 74e5a2a712 Remove last references to hotpatch.
llvm-svn: 141057
2011-10-04 03:08:43 +00:00
Rafael Espindola cc349c8dd8 Add the returns_twice attribute to LLVM.
llvm-svn: 141001
2011-10-03 14:45:37 +00:00
Torok Edwin 52cac090c4 some 3.0 API notes
llvm-svn: 140851
2011-09-30 13:07:52 +00:00
Eric Christopher 508503b473 Add a note on removing LLVMC.
llvm-svn: 140715
2011-09-28 19:47:28 +00:00
Bill Wendling b762df5840 Remove incorrect passage.
llvm-svn: 140631
2011-09-27 20:16:57 +00:00
Bill Wendling d9f23c4f6b Add FCA to the lexicon.
llvm-svn: 140619
2011-09-27 18:44:01 +00:00
Bill Wendling 614c8e5146 Remove some not-really-correct wording.
llvm-svn: 140600
2011-09-27 10:37:28 +00:00
Bill Wendling 878a67397d Fix grammar.
llvm-svn: 140564
2011-09-26 21:10:31 +00:00
Bill Wendling dec0ee3237 Remove dead table entry.
llvm-svn: 140563
2011-09-26 21:08:28 +00:00
Bill Wendling 58c80f886c Some minor (and more involved) cleanups. No real context changes.
llvm-svn: 140561
2011-09-26 21:06:33 +00:00
Chris Lattner ad4ab93e48 Duncan owns dragonegg too, it's all his fault :)
llvm-svn: 140430
2011-09-23 22:46:43 +00:00
Chris Lattner e643b854a5 Resynch intro to section with copyright section.
llvm-svn: 140326
2011-09-22 18:54:31 +00:00
Bill Wendling 91fecb36b6 Remove mention of llvm-gcc and llvm-g++. -Ministry of Truth
llvm-svn: 140163
2011-09-20 18:24:04 +00:00
Bill Wendling 12e58f9c22 Remove some missed references to dead intrinsics.
llvm-svn: 140129
2011-09-20 01:14:54 +00:00
Bill Wendling 011618454d Update the EH doc to reflect the new EH model.
This basically involved removing references to llvm.eh.exception,
llvm.eh.selector, and llvm.eh.resume and replacing them with references to the
landingpad and resume instructions.

llvm-svn: 140128
2011-09-20 01:08:53 +00:00
Eric Christopher cafab2ef2e More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Eric Christopher 69c02e9476 Remove more of llvmc and dependencies.
llvm-svn: 140121
2011-09-20 00:34:27 +00:00
Jakob Stoklund Olesen 1c4831764c X86 has asterisk-free inline asm support now.
Floating point stack inline asm works.

llvm-svn: 140033
2011-09-19 18:15:46 +00:00
Bill Wendling fd24834588 Remove obsolete .pod files.
llvm-svn: 140000
2011-09-18 12:52:55 +00:00
Bill Wendling 1e7126d68c Fix up the formating and change llvm-gcc to clang.
Note that this example doesn't work anymore!

llvm-svn: 139999
2011-09-18 12:51:05 +00:00
Bill Wendling 2488f168cc Remove mention of llvm-gcc/llvm-g++ from doc.
llvm-svn: 139998
2011-09-18 12:37:20 +00:00
Chad Rosier f0d3786945 Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

llvm-svn: 139945
2011-09-16 21:09:17 +00:00
Nick Lewycky ac17552138 s/SequeuentiallyConsistent/SequentiallyConsistent/g
llvm-svn: 139481
2011-09-11 15:50:05 +00:00
Nick Lewycky bdf62403d9 Fix verb tense agreement.
llvm-svn: 139480
2011-09-11 15:30:08 +00:00
Devang Patel 24a674bfc7 Update docs to reflect recent addition of new CompileUnit elements.
llvm-svn: 139374
2011-09-09 17:07:15 +00:00
Duncan Sands a098436b32 Split the init.trampoline intrinsic, which currently combines GCC's
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC.  While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function.  To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function.  Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!).  Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC.  Patch mostly by Sanjoy Das.

llvm-svn: 139140
2011-09-06 13:37:06 +00:00
Chandler Carruth ceb4e6408a Update the CMake documentation to the correct variables.
Patch by arrowdodger!

llvm-svn: 139106
2011-09-04 23:24:13 +00:00
Rafael Espindola a45c20b049 Remove the old tail duplication pass. It is not used and is unable to update
ssa, so it has to be run really early in the pipeline. Any replacement
should probably use the SSAUpdater.

llvm-svn: 138841
2011-08-30 23:03:45 +00:00
Rafael Espindola f3458e5594 Preliminary documentation in docs/SegmentedStacks.html.
llvm-svn: 138823
2011-08-30 20:25:49 +00:00
Tobias Grosser e8f2009f27 Update docs: Bugpoint understands -O[123]
Eli added this in revision 132695.

llvm-svn: 138805
2011-08-30 18:26:11 +00:00
Eli Friedman 0cb3b56de5 Some minor updates to atomic acquire/release docs in LangRef.
llvm-svn: 138472
2011-08-24 20:28:39 +00:00
Rafael Espindola f9a688176f Fix an example in the documentation.
Patch by Sanjoy Das!

llvm-svn: 138346
2011-08-23 18:26:56 +00:00
NAKAMURA Takumi 2b462b54b9 docs/ReleaseNotes.html: Mention that Windows 2000 will not be supported any more.
llvm-svn: 138297
2011-08-22 23:22:05 +00:00
Eli Friedman 95f69a42d2 Some minor wording updates and cross-linking for atomic docs. Explicitly note that we don't try to portably define what volatile in LLVM IR means.
llvm-svn: 138274
2011-08-22 21:35:27 +00:00
Devang Patel 59e27c5f12 Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly.
llvm-svn: 138145
2011-08-19 23:28:12 +00:00
John Criswell f0d536a445 Fixed some punctuation. Sentences can be combined with semi-colons but not
commas.

llvm-svn: 138043
2011-08-19 16:57:55 +00:00
Devang Patel eb1bb4e419 Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL.
MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up.

llvm-svn: 137778
2011-08-16 22:09:43 +00:00
Devang Patel 2b8acaf4f3 Add a finalize() hook, that'll let DIBuilder construct compile unit lazily.
llvm-svn: 137673
2011-08-15 23:00:00 +00:00
Eli Friedman d8874dc1d6 Fix the getelementptr description so it is extremely clear that array indices passed to getelementptr are signed.
llvm-svn: 137538
2011-08-12 23:37:55 +00:00
Eli Friedman 02e737b08e Move "atomic" and "volatile" designations on instructions after the opcode
of the instruction.

Note that this change affects the existing non-atomic load and store
instructions; the parser now accepts both forms, and the change is noted
in the release notes.

llvm-svn: 137527
2011-08-12 22:50:01 +00:00
Eli Friedman c13f05c978 Some reorganization of atomic docs. Added explicit section for NonAtomic. Added example for illegal non-atomic operation.
llvm-svn: 137520
2011-08-12 21:50:54 +00:00
Bill Wendling fae1475823 Initial commit of the 'landingpad' instruction.
This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.

llvm-svn: 137501
2011-08-12 20:24:12 +00:00
Chris Lattner 30e697ebaf apparently variable naming conventions never got added, document the
prevailing convention.  Thanks to Dave Zarzycki for the patch.

llvm-svn: 137497
2011-08-12 19:49:16 +00:00
Chris Lattner 2c945b3d88 minor typo
llvm-svn: 137496
2011-08-12 19:48:19 +00:00
Chris Lattner 3253173c34 fix one reference that slipped through, thanks Eli
llvm-svn: 137488
2011-08-12 18:12:40 +00:00
Chris Lattner 190552d3e0 add new accessors to reflect new terminology in struct types.
llvm-svn: 137468
2011-08-12 17:31:02 +00:00
NAKAMURA Takumi 5dd4132ab8 docs/GettingStarted.html: [Git] Add instructions how to generate patchset with Git.
llvm-svn: 137444
2011-08-12 07:48:06 +00:00
NAKAMURA Takumi d92a5fe2fb docs/GettingStarted.html: [Git] Mention branch.master.rebase for the tracking branch.
Thanks to Jeff Yasskin to reword.

llvm-svn: 137443
2011-08-12 07:48:01 +00:00
NAKAMURA Takumi d9b1c6ecd0 docs/GettingStarted.html: [Git] Split the subsubsection for committer's section.
llvm-svn: 137442
2011-08-12 07:47:55 +00:00
NAKAMURA Takumi 0300d88af5 docs: Update HTML markup(s).
llvm-svn: 137433
2011-08-12 06:17:17 +00:00