summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAge
* Add overall description, file comments, some structureRenato Golin2014-03-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204479 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove LowerInvoke's obsolete "-enable-correct-eh-support" optionMark Seaborn2014-03-20
| | | | | | | | | | | | | | | This option caused LowerInvoke to generate code using SJLJ-based exception handling, but there is no code left that interprets the jmp_buf stack that the resulting code maintained (llvm.sjljeh.jblist). This option has been obsolete for a while, and replaced by SjLjEHPrepare. This leaves the default behaviour of LowerInvoke, which is to convert invokes to calls. Differential Revision: http://llvm-reviews.chandlerc.com/D3136 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204388 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a few more grammatic errors in docs/TableGen/index.rstEli Bendersky2014-03-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204364 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a couple of typos and an inaccurate description in the new TableGen docEli Bendersky2014-03-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204363 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-factor TableGen docsRenato Golin2014-03-20
| | | | | | | | | | | | | This is mainly a movement of content around to give place to new content allowing different people to add bits to it in the right place. There is some new content, but mostly to fill the gaps left by text movement. I'm dropping the old syntax documentation as it has the problem of being quickly outdated by changes and largely unnecessary to people not involved in creating the language, but using it, which is the whole point of the documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204351 91177308-0d34-0410-b5e6-96231b3b80d8
* Add IAS/EHABI changes to release notesRenato Golin2014-03-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204134 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the type field in DIVariable and DIGlobalVariable over to DITypeRefs.Adrian Prantl2014-03-18
| | | | | | | | | This allows us to catch more opportunities for ODR-based type uniquing during LTO. Paired commit with CFE which updates some testcases to verify the new DIBuilder behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204106 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Add links to XMOS XCore documentation.Richard Osborne2014-03-14
| | | | | | | | | | Summary: Add links to XCore ISA and ABI documents. CC: llvm-commits, rafael Differential Revision: http://llvm-reviews.chandlerc.com/D2981 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203936 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the linker_private and linker_private_weak linkages.Rafael Espindola2014-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These linkages were introduced some time ago, but it was never very clear what exactly their semantics were or what they should be used for. Some investigation found these uses: * utf-16 strings in clang. * non-unnamed_addr strings produced by the sanitizers. It turns out they were just working around a more fundamental problem. For some sections a MachO linker needs a symbol in order to split the section into atoms, and llvm had no idea that was the case. I fixed that in r201700 and it is now safe to use the private linkage. When the object ends up in a section that requires symbols, llvm will use a 'l' prefix instead of a 'L' prefix and things just work. With that, these linkages were already dead, but there was a potential future user in the objc metadata information. I am still looking at CGObjcMac.cpp, but at this point I am convinced that linker_private and linker_private_weak are not what they need. The objc uses are currently split in * Regular symbols (no '\01' prefix). LLVM already directly provides whatever semantics they need. * Uses of a private name (start with "\01L" or "\01l") and private linkage. We can drop the "\01L" and "\01l" prefixes as soon as llvm agrees with clang on L being ok or not for a given section. I have two patches in code review for this. * Uses of private name and weak linkage. The last case is the one that one could think would fit one of these linkages. That is not the case. The semantics are * the linker will merge these symbol by *name*. * the linker will hide them in the final DSO. Given that the merging is done by name, any of the private (or internal) linkages would be a bad match. They allow llvm to rename the symbols, and that is really not what we want. From the llvm point of view, these objects should really be (linkonce|weak)(_odr)?. For now, just keeping the "\01l" prefix is probably the best for these symbols. If we one day want to have a more direct support in llvm, IMHO what we should add is not a linkage, it is just a hidden_symbol attribute. It would be applicable to multiple linkages. For example, on weak it would produce the current behavior we have for objc metadata. On internal, it would be equivalent to private (and we should then remove private). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203866 91177308-0d34-0410-b5e6-96231b3b80d8
* Test commit - remove trailing whitespaceStephan Tolksdorf2014-03-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203834 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix whitespace in vectorizer exampleArnold Schwaighofer2014-03-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203738 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix vectorizer docs.Arnold Schwaighofer2014-03-12
| | | | | | | This example is not vectorized because LLVM does not prove no-wrapping of "a[i*7] += ...". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203734 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove projects/sample.Rafael Espindola2014-03-12
| | | | | | | | | | | | | | | As an example that was not actually being used, it suffered from a slow bitrot. The two main issues with it were that it had no cmake support and included a copy of the autoconf directory. The reality is that autoconf is not easily composable. The lack of composabilty is why we have clang options in llvm's configure. Suggesting that users include a copy of autoconf/ in their projects seems a bad idea. We are also in the process of switching to cmake, so pushing autoconf to new project is probably not what we want. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203728 91177308-0d34-0410-b5e6-96231b3b80d8
* Reject alias to undefined symbols in the verifier.Rafael Espindola2014-03-12
| | | | | | | | | | | | | | | On ELF and COFF an alias is just another name for a position in the file. There is no way to refer to a position in another file, so an alias to undefined is meaningless. MachO currently doesn't support aliases. The spec has a N_INDR, which when implemented will have a different set of restrictions. Adding support for it shouldn't be harder than any other IR extension. For now, having the IR represent what is actually possible with current tools makes it easier to fix the design of GlobalAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203705 91177308-0d34-0410-b5e6-96231b3b80d8
* IR: add a second ordering operand to cmpxhg for failureTim Northover2014-03-11
| | | | | | | | | | | | | | | The syntax for "cmpxchg" should now look something like: cmpxchg i32* %addr, i32 42, i32 3 acquire monotonic where the second ordering argument gives the required semantics in the case that no exchange takes place. It should be no stronger than the first ordering constraint and cannot be either "release" or "acq_rel" (since no store will have taken place). rdar://problem/15996804 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203559 91177308-0d34-0410-b5e6-96231b3b80d8
* Object: rename ARMV7 to ARMNTSaleem Abdulrasool2014-03-11
| | | | | | | The official specifications state the name to be ARMNT (as per the Microsoft Portable Executable and Common Object Format Specification v8.3). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203530 91177308-0d34-0410-b5e6-96231b3b80d8
* Docs: remove paragraph about manual account creation.Tim Northover2014-03-10
| | | | | | | | There's now a normal UI for that, apparently. Patch by Manuel Jacob. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203481 91177308-0d34-0410-b5e6-96231b3b80d8
* IR: Change inalloca's grammar a bitDavid Majnemer2014-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The grammar for LLVM IR is not well specified in any document but seems to obey the following rules: - Attributes which have parenthesized arguments are never preceded by commas. This form of attribute is the only one which ever has optional arguments. However, not all of these attributes support optional arguments: 'thread_local' supports an optional argument but 'addrspace' does not. Interestingly, 'addrspace' is documented as being a "qualifier". What constitutes a qualifier? I cannot find a definition. - Some attributes use a space between the keyword and the value. Examples of this form are 'align' and 'section'. These are always preceded by a comma. - Otherwise, the attribute has no argument. These attributes do not have a preceding comma. Sometimes an attribute goes before the instruction, between the instruction and it's type, or after it's type. 'atomicrmw' has 'volatile' between the instruction and the type while 'call' has 'tail' preceding the instruction. With all this in mind, it seems most consistent for 'inalloca' on an 'inalloca' instruction to occur before between the instruction and the type. Unlike the current formulation, there would be no preceding comma. The combination 'alloca inalloca' doesn't look particularly appetizing, perhaps a better spelling of 'inalloca' is down the road. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203376 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Teach CMake docs build how to generate Qt Creator help/documentation ↵Michael Gottesman2014-03-07
| | | | | | | | | | files. Patch by Konrad Kleine. Differential Revision: http://llvm-reviews.chandlerc.com/D2967 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203272 91177308-0d34-0410-b5e6-96231b3b80d8
* "Mac OS/X" -> "Mac OS X" spelling fixes for llvm.Nico Weber2014-03-07
| | | | | | | Patch from Sean McBride <sean@rogue-research.com>! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203258 91177308-0d34-0410-b5e6-96231b3b80d8
* C++11: Remove const from in auto guidelinesDuncan P. N. Exon Smith2014-03-07
| | | | | | Using const is orthogonal to guidelines on using auto& and auto*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203257 91177308-0d34-0410-b5e6-96231b3b80d8
* C++11: Copy pointers with const auto *Duncan P. N. Exon Smith2014-03-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203254 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++11] Replace LLVM-style type traits with C++11 standard ones.Benjamin Kramer2014-03-07
| | | | | | No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203242 91177308-0d34-0410-b5e6-96231b3b80d8
* [Typo] Fix sentence in CMake documentation.Ahmed Charles2014-03-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203206 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing "[unnamed_addr]" to LangRef.rst#functions.Rafael Espindola2014-03-07
| | | | | | Patch by Manuel Jacob. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203197 91177308-0d34-0410-b5e6-96231b3b80d8
* [LangRef] Improve llvm.mem.parallel_loop_access exampleTobias Grosser2014-03-05
| | | | | | | | | | | | | | | | | | | | The following changes have been applied: - Removed 'align 4'. We can simplify this away, as it does not provide useful information in the example. - Use named instructions instead of '%0'. This is nicer, but more importantly this makes the IR valid. Before we had two assignments to %0 in a single example. - Add a missing branch instruction to make the loop structure clear. - Move one access into outer.for.body to make it not look that empty. - The statments that are only in the outer loop body should not reference the inner loop metadata, but only the outer loop. Only statements in both loops should reference both surrounding loops. - Rename the array indexes to make them all independent. Before there were identical array indexes in the inner and the outer loop. We want to avoid this special case as it may lead to confusion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202973 91177308-0d34-0410-b5e6-96231b3b80d8
* Change x86mmx -> x86_mmx in LangRef.rstReid Kleckner2014-03-05
| | | | | | | | | | | The correct name of the type in LLVM assembly is "x86_mmx". Also remove the reST label "t_x86mmx" because it was unused anyway. Patch by Manuel Jacob! Differential Revision: http://llvm-reviews.chandlerc.com/D2955 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202929 91177308-0d34-0410-b5e6-96231b3b80d8
* LangRef: Remove stale docs on LLVM types in module structureReid Kleckner2014-03-05
| | | | | | | | | The distinction between "identified" and "literal" struct types is fully documented in a later section. Patch by Philip Reames! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202927 91177308-0d34-0410-b5e6-96231b3b80d8
* [Modules] Move ValueMap to the IR library. While this class does notChandler Carruth2014-03-04
| | | | | | | | | | | | directly care about the Value class (it is templated so that the key can be any arbitrary Value subclass), it is in fact concretely tied to the Value class through the ValueHandle's CallbackVH interface which relies on the key type being some Value subclass to establish the value handle chain. Ironically, the unittest is already in the right library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202824 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid std::function until PR19030 is fixedReid Kleckner2014-03-03
| | | | | | | | | We'd like to keep the clang-cl self-host working until we implement MSVC-compatible RTTI. Differential Revision: http://llvm-reviews.chandlerc.com/D2930 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202758 91177308-0d34-0410-b5e6-96231b3b80d8
* Document that std::initializer_list is not always available.Peter Collingbourne2014-03-03
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2923 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202750 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DWARF discriminator support to DILexicalBlocks.Diego Novillo2014-03-03
| | | | | | This adds support for emitting discriminators from DILexicalBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202736 91177308-0d34-0410-b5e6-96231b3b80d8
* C++11: Beware unnecessary copies with autoDuncan P. N. Exon Smith2014-03-03
| | | | | | | | It's easy to copy unintentionally when using 'auto', particularly inside range-based for loops. Best practise is to use 'const&' unless there's a good reason not to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202729 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify struct usage guidelinesDuncan P. N. Exon Smith2014-03-03
| | | | | | | | The current coding standards restrict the use of struct to PODs, but no one has been following them. This patch updates the standards to clarify when structs are dangerous and describe common practice in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202728 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++11] Suggest placing callable arguments as the last argument toChandler Carruth2014-03-02
| | | | | | | | facilitate the nice formatting of lambdas passed there. Suggested by Chris during review of my lambda additions, and something I strongly agree with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202622 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++11] Update the coding standards to provide some important guidanceChandler Carruth2014-03-02
| | | | | | | | | | about a few constructs in C++11 that are worth starting off in a consistent manner within the codebase. This will be matched with a change to clang-format's LLVM style which will switch the options to support C++11 and use these conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202620 91177308-0d34-0410-b5e6-96231b3b80d8
* remove an old entry whose link is broken anywayChris Lattner2014-03-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202617 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Fix some Sphinx warnings.Sean Silva2014-03-02
| | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202603 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Update the docs to remove my hedging about C++98 vs. C++11. =]Chandler Carruth2014-03-01
| | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202566 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Clarify that there isn't much to be done other than watch buildChandler Carruth2014-02-28
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202548 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more whitespace to fix more bullets.Richard Smith2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202538 91177308-0d34-0410-b5e6-96231b3b80d8
* Add whitespace to try to fix bulleted list.Richard Smith2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202537 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some links to C++11 feature papers in the Coding StandardsBen Langmuir2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202532 91177308-0d34-0410-b5e6-96231b3b80d8
* add missing 3.4 releaseGabor Greif2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202531 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Add a section to the coding standards about languages and such.Chandler Carruth2014-02-28
| | | | | | | | | | | | | | | | 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. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202497 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] A slight tweak to the intro for the golden rule in the codingChandler Carruth2014-02-28
| | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202495 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Tweak the example to match what is apparantly the desired formChandler Carruth2014-02-28
| | | | | | for the style templates we're using. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202494 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Switch to external hyperlink references. Much more readable andChandler Carruth2014-02-28
| | | | | | hopefully easier to get the formatting right for ReST. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202493 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Fix my links to use the correct ReST syntax.Chandler Carruth2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202490 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Fix 80-column wrap that I messed up.Chandler Carruth2014-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202489 91177308-0d34-0410-b5e6-96231b3b80d8