Commit Graph

4572 Commits

Author SHA1 Message Date
Chad Rosier
581600bfc3 [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect to
inteldialect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-05 19:00:49 +00:00
Chad Rosier
36547343ab [ms-inline asm] Emit the (new) inline asm Non-Standard Dialect attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163181 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-05 00:08:17 +00:00
Chad Rosier
4e2132e7ae [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163174 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-04 22:29:45 +00:00
Nadav Rotem
f52f6b9eca remove old docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162896 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-30 09:23:13 +00:00
Bill Wendling
96da080b88 Patch by Sean Silva to un-barf his computer by explicitly removing the '\n'
character instead of always the last character.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162767 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-28 17:18:27 +00:00
Bill Wendling
32811bef95 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>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17 18:33:14 +00:00
Rafael Espindola
94bc246a8b Remove references to compression in llvm-ar. It has been a long time since we
switched from a bytecode+bzip2 to the current bitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161651 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-10 01:57:52 +00:00
Chad Rosier
249d670dd0 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161641 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-10 00:00:22 +00:00
Bill Wendling
0bd3deeb29 Sphinxify the CommandLine document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161479 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-08 08:21:24 +00:00
Bill Wendling
45e9343e89 Move header so that it can be picked up by other .rst files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161478 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-08 06:42:30 +00:00
Michael J. Spencer
a915f247f7 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161205 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 19:16:56 +00:00
Bill Wendling
31ce7bf6be Sphinxify the Code Generator document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 08:49:53 +00:00
Sylvestre Ledru
3f5054f922 Fix some minor typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161037 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31 07:05:57 +00:00
Nick Lewycky
ead66027e8 Fix grammar-o. Fixes PR13482!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160996 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-30 21:10:51 +00:00
Chad Rosier
85aa390713 The TimePassesIsEnabled has since moved to PassManager.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160881 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-27 19:03:02 +00:00
Dan Gohman
27db99fcee Add a floor intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160791 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26 17:43:27 +00:00
Duncan Sands
52a111fe1a Take people straight to the contents of the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160777 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26 08:08:31 +00:00
Duncan Sands
35b87607b6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160776 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26 08:04:09 +00:00
Sylvestre Ledru
7f7390e035 Fix two typos in the doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160762 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-25 22:01:31 +00:00
Axel Naumann
fc97547b8b Twine: fix link to source, add link to class doc and container section.
80 char lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-25 13:46:11 +00:00
Sylvestre Ledru
c8e41c5917 Fix a typo (the the => the)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160621 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-23 08:51:15 +00:00
Nuno Lopes
0b5f1aca32 Apparently it's possible to do an 'invoke asm'.
Update the language reference to reflect that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160408 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-17 23:51:33 +00:00
Hans Wennborg
ff373d73d0 ReleaseNotes.html: add note about specifying TLS models
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160168 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-13 12:44:23 +00:00
Duncan Sands
ee4c312898 Post-dom frontier was removed in 3.0. Patch by chenwj.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160166 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-13 10:11:28 +00:00
Chad Rosier
d6a27413c2 Fixup broken doc link. Patch by Sean Silva <silvas@purdue.edu>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11 21:49:14 +00:00
Dmitri Gribenko
eb54603ddd Since SmallMap was removed in r158644, remove documentation in ProgrammersManual.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159874 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06 23:06:47 +00:00
Chad Rosier
c5171d5de6 Update getFunction parameter documentation. Fixes PR13268.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159835 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06 17:15:03 +00:00
Bill Wendling
d9aa95d534 Sphinxify the CMake document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159806 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06 05:51:50 +00:00
Nuno Lopes
b0c76d72c3 add @llvm.donothing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159758 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-05 17:37:07 +00:00
Peter Collingbourne
168a4c3d32 Document the llvm.fabs intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159657 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-03 12:25:40 +00:00
Chandler Carruth
06cb8ed006 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-29 12:38:19 +00:00
Bill Wendling
3bf24bdb1b Sphinxify the Atomics documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159416 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-29 09:00:01 +00:00
Bill Wendling
0ca9927a71 Sphinxify the bitcode format document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159340 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-28 08:43:12 +00:00
Bill Wendling
7d85f87acb Sphinxify the exception handling doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159254 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-27 07:20:57 +00:00
Bill Wendling
d372ee265d Sphyinxify the Bugpoint document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159199 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26 11:37:00 +00:00
Hans Wennborg
ce718ff9f4 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-23 11:37:03 +00:00
Michael J. Spencer
55eda324c4 [docs] Sphinxify GettingStartedVS. Patch by Mikael Lyngvig!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 23:27:09 +00:00
Bill Wendling
09d3233c9e Cleanup some encoding mishaps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158904 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 07:01:02 +00:00
Bill Wendling
bd96e0de3f Sphinxify the tablegen document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158903 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 06:58:24 +00:00
Bill Wendling
1d4e62878e Sphinxify the outdated Packaging documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158901 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 06:09:37 +00:00
Meador Inge
e3c9ccd312 Put space after "code-block::".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158880 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 23:57:00 +00:00
Meador Inge
d65ebceeba Removed some left over HTML tags and a '}'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158877 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 23:48:01 +00:00
Bill Wendling
3950e9e650 Sphixify the GEP FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158858 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 21:54:22 +00:00
Bill Wendling
47997e877c Sphinxify the SegmentedStack document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158819 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 12:05:05 +00:00
Bill Wendling
eef31a5031 Move coding standards reference from development_process.rst to programming.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158818 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 11:56:24 +00:00
Bill Wendling
af5e2e7798 Unindent list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158817 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 11:55:22 +00:00
Bill Wendling
60629587c2 Un-indent list to remove ugly back-slash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158816 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 11:53:08 +00:00
Bill Wendling
20cc0fb830 Fix the formatting a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158815 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 11:25:11 +00:00
Bill Wendling
bbc3be5b00 Sphinxify the developer policy document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158814 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 11:20:07 +00:00
Bill Wendling
5cda901647 Sphinxify the lexicon doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158813 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 10:36:41 +00:00
Bill Wendling
707f2fd26b Sphinxify BranchWeightMetadata document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158810 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 10:17:46 +00:00
Bill Wendling
a3a2eb08e1 Sphinxify the LTO document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158808 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 10:08:02 +00:00
Bill Wendling
df870f5840 Unindent list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158806 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 09:50:45 +00:00
Bill Wendling
430c3bbdb8 Sphinxify the AliasAnalysis document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158805 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 09:49:57 +00:00
Bill Wendling
19c7541d89 Unindent list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158804 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 09:49:06 +00:00
Bill Wendling
81e664b18b Un-indent the list and remove ugly back-slash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158803 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 09:48:38 +00:00
Bill Wendling
9059390cf0 Sphinxify the MakefileGuide document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158789 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 04:20:39 +00:00
Bill Wendling
2c8293d348 Sphinxify the CodingStandard documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158786 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20 02:57:56 +00:00
Bill Wendling
9e22640b14 Add Projects.rst to the toctree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158753 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 22:25:41 +00:00
Bill Wendling
2e355f6c45 Use correct capitalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158752 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 22:25:17 +00:00
Bill Wendling
6573c996b8 Indent coding examples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158728 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 17:48:06 +00:00
Bill Wendling
c110423fa9 Remove bad HTML tags. Add missing :.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 17:43:57 +00:00
Bill Wendling
540fe7da0f Put flag names on one line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158715 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:29:05 +00:00
Bill Wendling
ce6e0a1020 Fix italicized text.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158714 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:27:54 +00:00
Bill Wendling
67d31c6229 Use correct URL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158713 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:26:15 +00:00
Bill Wendling
ea2a7d76b4 Fix numbering of list items.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:25:04 +00:00
Bill Wendling
e2658d6813 Fix some Sphinx mistakes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158711 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:23:23 +00:00
Bill Wendling
4caaa1ab87 First attempt at Sphinx. Convert the Projects.html file to Sphinx format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158709 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 09:18:34 +00:00
Nuno Lopes
f6fc855a00 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158688 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18 23:34:26 +00:00
Michael J. Spencer
0ed5cf4fc1 [docs] Port FAQ over to Sphinx.
Patch by Mikael Lyngvig!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158677 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18 20:21:38 +00:00
Nuno Lopes
fa7494306b 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158660 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18 16:04:04 +00:00
Michael J. Spencer
12a88f81de [docs] Make it pretty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158561 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-15 22:17:44 +00:00
David Blaikie
722f2544b2 Remove/modify C backend references from LLVM documentation.
Patch by Wei-Ren Chen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158456 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-14 16:52:55 +00:00
David Blaikie
deb878053a Remove C backend reference from the FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158455 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-14 16:43:11 +00:00
Duncan Sands
b5a1bf4780 Clarify a bit that the types have to be the same. Came up on IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158453 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-14 14:58:28 +00:00
Dmitri Gribenko
0d887a0942 Use correct syntax highliter in code blocks. Noticed by Sean Silva.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158359 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12 15:45:07 +00:00
Dmitri Gribenko
32f9bca2d7 FileCheck docs: remove leftover HTML markup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158344 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12 00:48:47 +00:00
Michael J. Spencer
4d61664696 [llvm-nm] Update documentation to cover object file support and arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158120 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-06 23:34:10 +00:00
Duncan Sands
12e959c8da Add a new broken compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158053 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-06 07:39:39 +00:00
Benjamin Kramer
1d72dadddb Add 3.0 and 3.1 tags to the getting started guide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158020 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-05 20:35:50 +00:00
Lang Hames
5afba6f00c 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158014 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-05 19:07:46 +00:00
Benjamin Kramer
d9b0b02561 Fix typos found by http://github.com/lyda/misspell-check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-02 10:20:22 +00:00
Jakob Stoklund Olesen
22de91aec5 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157855 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-01 23:28:34 +00:00
Rafael Espindola
a1b95f53cc Fix typos noticed by Benjamin Kramer.
Also make the checks stronger and test that we reject ranges that overlap
a previous wrapped range.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157749 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-31 16:04:26 +00:00
Rafael Espindola
c49b29ef5d 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157741 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-31 13:45:46 +00:00
Chris Lattner
ef09705ee5 typo fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157661 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-30 00:40:23 +00:00
Chris Lattner
86208903cb rdar://11542750 - llvm.trap should be marked no return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157551 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27 23:20:41 +00:00
Jakob Stoklund Olesen
fae8b1de47 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 ...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157432 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 22:17:39 +00:00
Chad Rosier
d6d05e3f78 Typo. Patch by Nicklas Bo Jensen <nbjensen@gmail.com>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157415 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 21:17:47 +00:00
Tobias Grosser
057beb8d4f 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157393 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 15:59:06 +00:00
Bill Wendling
7a437a0a6f Remove old release notes. Ready them for additions from current development
cycle.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157378 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 06:38:09 +00:00
Joel Jones
175e6f75fb Reflect that tblgen is now llvm-tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157371 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 04:38:50 +00:00
Nuno Lopes
23e75da7e0 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157255 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22 15:25:31 +00:00
Nick Lewycky
529b8424f1 Add RPO to the lexicon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157166 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20 20:30:47 +00:00
John Criswell
99534f3a0d Fixed grammar for the llvm.trap intrinsic description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156881 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16 00:26:51 +00:00
Daniel Dunbar
89e369ad61 [docs] Remove unsupported references to ExtraSource variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156857 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15 21:32:27 +00:00
Bill Wendling
ed0ab54d36 Add blurb for Crack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156852 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15 20:47:23 +00:00
Akira Hatanaka
6ed743ed4e Update MIPS' section in the release notes. Patch by Simon Atanasyan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156847 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15 20:06:41 +00:00
Daniel Dunbar
b5cd41e26f 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156838 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15 18:44:17 +00:00
David Chisnall
6dd3bdb18a Add some release notes about compiler-rt and libc++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156819 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15 13:06:46 +00:00
Dan Gohman
a6063c6e29 Rename @llvm.debugger to @llvm.debugtrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156774 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 18:58:10 +00:00
Akira Hatanaka
19e7421243 Release notes for MIPS backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156772 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 18:40:07 +00:00
Bill Wendling
1fefd099cf Formatting changes. Remove the '...' placeholders.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156756 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 08:11:53 +00:00
Bill Wendling
e9a73bbdd7 Add blurb about Julia.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156754 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 06:23:51 +00:00
Justin Holewinski
dc23c1463a ReleaseNotes: Add info on PTX back-end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156745 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 17:32:35 +00:00
Jean-Daniel Dupas
23a401290b Fix Xcode case (Upper X, lower c)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156743 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 14:36:15 +00:00
Benjamin Kramer
3a2d5653cd ReleaseNotes: Add a note about zero_undef on llvm.cttz/ctlz. Extend x86 section. Add a bullet for dwarf access tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156740 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 13:10:35 +00:00
Benjamin Kramer
f26b4150e8 ReleaseNotes: Add a blurb about llvm-mc -g and move inliner changes into the optimizer sections. Verbosify some bullets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156739 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 12:01:16 +00:00
Benjamin Kramer
2fb6801142 ReleaseNotes: Document that LLVM was rewritten in python.
^~~~
                            llvm-build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156738 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 11:46:05 +00:00
Benjamin Kramer
5fdfaf5e58 ReleaseNotes: Add bullets for removed targets. Extend the note about llvm-ld removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156737 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 11:28:46 +00:00
Benjamin Kramer
88c8e69847 Outline some clang 3.1 highlights off the top of my head.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156736 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 10:40:08 +00:00
Benjamin Kramer
abe446c67a Add a link for every project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156735 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 10:21:51 +00:00
Bill Wendling
f2f92ba4d4 Add blurb for LLVM D Compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156733 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 10:00:58 +00:00
Bill Wendling
59a23e334b Add blurbs for pocl and TCE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156732 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 09:59:27 +00:00
Bill Wendling
9107105caa Add OSL blurb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156731 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 09:55:24 +00:00
Bill Wendling
f8cfe2e26d Add FAUST blurb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156730 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 09:52:48 +00:00
Nadav Rotem
4f99e717cf Fix the tool documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156729 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13 05:52:56 +00:00
Gregory Szorc
ca34749904 Document Python bindings in release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156724 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-12 21:12:22 +00:00
Bill Wendling
015d2ad9ec Make the URL a link instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156655 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 22:38:33 +00:00
Bill Wendling
de86beae7d Add mention of Glasgow Haskell Compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156648 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 21:42:37 +00:00
Duncan Sands
5abd10a394 Some release notes for dragonegg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156635 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 19:59:43 +00:00
Dan Gohman
d4347e1af9 Define a new intrinsic, @llvm.debugger. It will be similar to __builtin_trap(),
but it generates int3 on x86 instead of ud2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156593 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 00:19:32 +00:00
Nuno Lopes
30759542aa 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156473 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-09 15:52:43 +00:00
Seth Cantrell
acc472a4fe add to 3.1 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156443 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 23:34:38 +00:00
Daniel Dunbar
f468fd805a Revert r156393, "[tests] Remove some remaining DejaGNU related cruft.", this
patch wasn't ready yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 18:26:07 +00:00
Daniel Dunbar
b3593a60ce [tests] Remove some remaining DejaGNU related cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156393 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 18:11:49 +00:00
Daniel Dunbar
a5d2435409 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156389 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 17:48:21 +00:00
Daniel Dunbar
cbfc61bec1 [docs] Add support for building man pages using Sphinx.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156386 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 16:50:47 +00:00
Daniel Dunbar
17412a0a03 [docs] Integrate the command guide into the toctree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156385 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 16:50:43 +00:00
Daniel Dunbar
3b709d5f55 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156384 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08 16:50:35 +00:00
Pete Cooper
7e56e92a33 Remove C Backend from the bugpoint docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156333 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-07 22:42:40 +00:00
Duncan Sands
28d95b0a04 Use correct variable in this example. Pointed out by waynix on IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156067 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03 15:25:19 +00:00
Daniel Dunbar
f2c696f016 [docs] Include the Kaleidescope tutorial in the Sphinx docs build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156032 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-02 22:46:36 +00:00
Eli Bendersky
f8b30f9d16 Removed examples of stack frame inspection which no longer work for old JIT.
Added an example of MCJIT-based debugging.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155895 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-01 06:15:40 +00:00
Jim Grosbach
a4c4df4294 Remove a docs reference to the CBackend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155716 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-27 16:29:22 +00:00
Joerg Sonnenberger
dba86d8ec2 Add note about returns_twice magic removal from LLVM itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155657 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-26 20:10:07 +00:00
Michael J. Spencer
3c00db75e1 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155654 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-26 19:43:35 +00:00
Benjamin Kramer
b856d555b0 Reapply the SmallMap patch with a fix.
Comparing ~0UL with an unsigned will always return false when long is 64 bits long.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155568 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-25 18:01:58 +00:00
Eric Christopher
bdbf015476 Revert "First implementation of:"
This reverts commit 76271a3366.

as it's breaking the bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155562 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-25 17:51:00 +00:00
Stepan Dyatkovskiy
76271a3366 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155557 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-25 17:09:38 +00:00
Michael J. Spencer
1b0b45bd82 [docs] Update version number. I suggest that at some point we make the
build system generate this file with the proper version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155221 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 19:28:40 +00:00
Joel Jones
a9498a2ee6 Fix broken internal link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155213 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 18:20:24 +00:00
Joel Jones
7605b29e27 Add debugging hints for when bugpoint does not suffice, specifically for instcombine and TargetLowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155209 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 18:11:07 +00:00
Daniel Dunbar
4f7f40d00e [docs] Update Makefile for images removal.
- Also, drop the lines.gif background from doxygen, this URL was wrong on the
   llvm.org server anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155208 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 17:27:12 +00:00
Benjamin Kramer
34c53f3ac9 LLVM docs no longer contain images, don't try to install them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155206 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 17:14:26 +00:00
Joel Jones
93282d2430 Correct spelling, q.v. http://en.wikipedia.org/wiki/Bourne_shell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155202 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 16:08:56 +00:00
Daniel Dunbar
9111fc1d11 [docs] Remove spurious or unused images.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155199 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 15:06:20 +00:00
Daniel Dunbar
adea497673 [docs] Update HTML pages to refer to CSS in a way that works locally and with Sphinx.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155153 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 20:20:34 +00:00
Daniel Dunbar
3020c96440 [docs] Remove index.html, I am flipping the switch on llvm.org.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155151 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 20:06:39 +00:00
Michael J. Spencer
75338097c7 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 19:27:54 +00:00