summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* Add FileCheck -implicit-check-not option to allow stricter tests without ↵Alexander Kornienko2014-07-111-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | adding too many CHECK-NOTs manually. Summary: Add FileCheck -implicit-check-not option which allows specifying a pattern that should only occur in the input when explicitly matched by a positive check. This feature allows checking tool diagnostics in a way clang -verify does it for compiler diagnostics. The option has been tested on a number of clang-tidy checks, I'll post a link to the clang-tidy patch to this thread. Once there's an agreement on the general direction, I can add tests and documentation. Reviewers: djasper, bkramer Reviewed By: bkramer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4462 llvm-svn: 212810
* Fix types in documentation.Matt Arsenault2014-07-101-4/+4
| | | | | | The examples were using f32, but the IR type is called float llvm-svn: 212675
* Update ReleaseNotes to mention Atomic NAND semantic changes.Cameron McInally2014-07-091-0/+4
| | | | llvm-svn: 212635
* fixed typosSanjay Patel2014-07-041-2/+2
| | | | llvm-svn: 212355
* Phabricator doc: Explicit the fact that the patch needs to be there before ↵Sylvestre Ledru2014-07-041-0/+1
| | | | | | the commit llvm-svn: 212328
* Expand the note about llvm-ar now that inline asm works.Rafael Espindola2014-07-031-1/+2
| | | | llvm-svn: 212292
* Also document the 'arc commit' commands in the 'Committing a change' section ↵Sylvestre Ledru2014-07-021-0/+8
| | | | | | of the Phabricator doc llvm-svn: 212184
* Remove the recommendation against using std::functionReid Kleckner2014-07-021-4/+1
| | | | | | | | Clang-cl supports MSVC-style RTTI now, and we can even compile typeid(...) with /GR-. Just don't instantiate std::function with a polymorphic type, or bad things will happen. llvm-svn: 212148
* [docs] Fix a mangled sentence.Sean Silva2014-07-011-1/+1
| | | | | | Fixes PR20169 llvm-svn: 212116
* [docs] Remove stray HTML tag.Sean Silva2014-07-011-1/+1
| | | | | | Fixes PR20167 llvm-svn: 212115
* Fix 'platform-specific' hyphenationsAlp Toker2014-06-304-4/+4
| | | | llvm-svn: 212056
* Debug info: split out complex DIVariable address expressions into aAdrian Prantl2014-06-301-0/+1
| | | | | | | | | | | separate MDNode so they can be uniqued via folding set magic. To conserve space, DIVariable nodes are still variable-length, with the last two fields being optional. No functional change. http://reviews.llvm.org/D3526 llvm-svn: 212050
* undo test commit (whitespace only)Scott Douglass2014-06-301-1/+0
| | | | llvm-svn: 212021
* test commit (whitespace only)Scott Douglass2014-06-301-0/+1
| | | | llvm-svn: 212020
* Vectorization documentation for loop hint pragmas and Rpass diagnostics.Tyler Nowicki2014-06-271-0/+83
| | | | llvm-svn: 211924
* IR: Add COMDATs to the IRDavid Majnemer2014-06-271-4/+91
| | | | | | | | | | | | | | | | This new IR facility allows us to represent the object-file semantic of a COMDAT group. COMDATs allow us to tie together sections and make the inclusion of one dependent on another. This is required to implement features like MS ABI VFTables and optimizing away certain kinds of initialization in C++. This functionality is only representable in COFF and ELF, Mach-O has no similar mechanism. Differential Revision: http://reviews.llvm.org/D4178 llvm-svn: 211920
* Re-apply r211287: Remove support for LLVM runtime multi-threading.Chandler Carruth2014-06-271-41/+4
| | | | | | | I'll fix the problems in libclang and other projects in ways that don't require <mutex> until we sort out the cygwin situation. llvm-svn: 211900
* fixed typoSanjay Patel2014-06-261-1/+1
| | | | llvm-svn: 211808
* Changed Phab 'CC' to 'subscriber'; fixed typoSanjay Patel2014-06-261-3/+3
| | | | llvm-svn: 211793
* Mention that Phabricator users should subscribe to *-commitsReid Kleckner2014-06-251-4/+16
| | | | | | | This probably explains why a lot of messages get lost for first time Phabricator users. llvm-svn: 211731
* Rename loop unrolling and loop vectorizer metadata to have a common prefix.Eli Bendersky2014-06-252-24/+27
| | | | | | | | | | | | | | | | | | | [LLVM part] These patches rename the loop unrolling and loop vectorizer metadata such that they have a common 'llvm.loop.' prefix. Metadata name changes: llvm.vectorizer.* => llvm.loop.vectorizer.* llvm.loopunroll.* => llvm.loop.unroll.* This was a suggestion from an earlier review (http://reviews.llvm.org/D4090) which added the loop unrolling metadata. Patch by Mark Heffernan. llvm-svn: 211710
* Revert r211287, "Remove support for LLVM runtime multi-threading."NAKAMURA Takumi2014-06-241-4/+41
| | | | | | libclang still requires it on cygming, lack of incomplete <mutex>. llvm-svn: 211592
* Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size.Oliver Stannard2014-06-201-0/+36
| | | | | | | Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size based on module flags metadata. llvm-svn: 211349
* Remove support for LLVM runtime multi-threading.Zachary Turner2014-06-191-41/+4
| | | | | | | | | | | | | After a number of previous small iterations, the functions llvm_start_multithreaded() and llvm_stop_multithreaded() have been reduced essentially to no-ops. This change removes them entirely. Reviewed by: rnk, dblaikie Differential Revision: http://reviews.llvm.org/D4216 llvm-svn: 211287
* [ValueTracking] Extend range metadata to call/invokeJingyue Wu2014-06-191-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: With this patch, range metadata can be added to call/invoke including IntrinsicInst. Previously, it could only be added to load. Rename computeKnownBitsLoad to computeKnownBitsFromRangeMetadata because range metadata is not only used by load. Update the language reference to reflect this change. Test Plan: Add several tests in range-2.ll to confirm the verifier is happy with having range metadata on call/invoke. Add two tests in AddOverFlow.ll to confirm annotating range metadata to call/invoke can benefit InstCombine. Reviewers: meheff, nlewycky, reames, hfinkel, eliben Reviewed By: eliben Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4187 llvm-svn: 211281
* Kill the LLVM global lock.Zachary Turner2014-06-191-5/+0
| | | | | | | | | | | | | | This patch removes the LLVM global lock, and updates all existing users of the global lock to use their own mutex. None of the existing users of the global lock were protecting code that was mutually exclusive with any of the other users of the global lock, so its purpose was not being met. Reviewed by: rnk Differential Revision: http://reviews.llvm.org/D4142 llvm-svn: 211277
* Revert r211066, 211067, 211068, 211069, 211070.Zachary Turner2014-06-161-4/+47
| | | | | | | These were committed accidentally from the wrong branch before having a review sign-off. llvm-svn: 211072
* Programmer's Manual changes.Zachary Turner2014-06-161-47/+4
| | | | llvm-svn: 211070
* Docs: remove extra {} around result types.Tim Northover2014-06-131-97/+97
| | | | | | | | It makes the types look like they're single-element structures. And when we have instructions that *do* result in a struct, that can get confusing rather quickly. llvm-svn: 210905
* Docs: fix grammar error in descriptionTim Northover2014-06-131-4/+4
| | | | llvm-svn: 210904
* IR: add "cmpxchg weak" variant to support permitted failure.Tim Northover2014-06-132-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a weak variant of the cmpxchg operation, as described in C++11. A cmpxchg instruction with this modifier is permitted to fail to store, even if the comparison indicated it should. As a result, cmpxchg instructions must return a flag indicating success in addition to their original iN value loaded. Thus, for uniformity *all* cmpxchg instructions now return "{ iN, i1 }". The second flag is 1 when the store succeeded. At the DAG level, a new ATOMIC_CMP_SWAP_WITH_SUCCESS node has been added as the natural representation for the new cmpxchg instructions. It is a strong cmpxchg. By default this gets Expanded to the existing ATOMIC_CMP_SWAP during Legalization, so existing backends should see no change in behaviour. If they wish to deal with the enhanced node instead, they can call setOperationAction on it. Beware: as a node with 2 results, it cannot be selected from TableGen. Currently, no use is made of the extra information provided in this patch. Test updates are almost entirely adapting the input IR to the new scheme. Summary for out of tree users: ------------------------------ + Legacy Bitcode files are upgraded during read. + Legacy assembly IR files will be invalid. + Front-ends must adapt to different type for "cmpxchg". + Backends should be unaffected by default. llvm-svn: 210903
* LangRef: clarify that global declarations can have section and alignment info.Bob Wilson2014-06-121-4/+6
| | | | | | | | I'm not sure what it means to set a section for a declaration in another translation unit, but there are some tests in the tree that do it so it seems to be legal now regardless. llvm-svn: 210819
* Add missing "InitializerConstant" to global variable syntax in LangRef.Bob Wilson2014-06-121-2/+2
| | | | | | | | | | The syntax for Global Variables in LangRef is missing the initializer. This syntax section was added in r199218 along with changes to the dllexport/dllimport handling, and I guess it was just an oversight to omit the initializer values. I’ve marked the initializer as optional because this syntax is used for both declarations and definitions. llvm-svn: 210808
* Reduce verbiage of lit.local.cfg filesAlp Toker2014-06-091-2/+1
| | | | | | We can just split targets_to_build in one place and make it immutable. llvm-svn: 210496
* Update langref for unnamed_addr being allowed in aliases.Rafael Espindola2014-06-091-2/+2
| | | | | | Thanks to Duncan P. N. Exon Smith and Owen Anderson for noticing. llvm-svn: 210490
* ARM: add VLA extension for WoA Itanium ABISaleem Abdulrasool2014-06-091-0/+14
| | | | | | | | | | | | | | | | The armv7-windows-itanium environment is nearly identical to the MSVC ABI. It has a few divergences, mostly revolving around the use of the Itanium ABI for C++. VLA support is one of the extensions that are amongst the set of the extensions. This adds support for proper VLA emission for this environment. This is somewhat similar to the handling for __chkstk emission on X86 and the large stack frame emission for ARM. The invocation style for chkstk is still controlled via the -mcmodel flag to clang. Make an explicit note that this is an extension. llvm-svn: 210489
* [docs] Fix typo, align comments, fix syntax highlightingJeroen Ketema2014-06-091-17/+17
| | | | llvm-svn: 210462
* Fix a few issues with comdat handling on COFF.Rafael Espindola2014-06-061-15/+20
| | | | | | | | | | | | | | | | | | | | | * Section association cannot use just the section name as many sections can have the same name. With this patch, the comdat symbol in an assoc section is interpreted to mean a symbol in the associated section and the mapping is discovered from it. * Comdat symbols were not being set correctly. Instead we were getting whatever was output first for that section. A consequence is that associative sections now must use .section to set the association. Using .linkonce would not work since it is not possible to change a sections comdat symbol (it is used to decide if we should create a new section or reuse an existing one). This includes r210298, which was reverted because it was asserting on an associated section having the same comdat as the associated section. llvm-svn: 210367
* Fix a typo made in Programmer's Manual made in r210354. SpottedDan Liew2014-06-061-1/+1
| | | | | | by Paul Robinson. llvm-svn: 210363
* Mention the IRBuilder in Programmer's Manual with a few small examples.Dan Liew2014-06-061-1/+36
| | | | llvm-svn: 210354
* Slight language tweak from Jonathan Humphreys.Pekka Jaaskelainen2014-06-061-1/+1
| | | | llvm-svn: 210327
* Allow aliases to be unnamed_addr.Rafael Espindola2014-06-061-1/+2
| | | | | | | | | | | | | | | | | | Alias with unnamed_addr were in a strange state. It is stored in GlobalValue, the language reference talks about "unnamed_addr aliases" but the verifier was rejecting them. It seems natural to allow unnamed_addr in aliases: * It is a property of how it is accessed, not of the data itself. * It is perfectly possible to write code that depends on the address of an alias. This patch then makes unname_addr legal for aliases. One side effect is that the syntax changes for a corner case: In globals, unnamed_addr is now printed before the address space. llvm-svn: 210302
* Fix markup for -debug-only optionAlexey Samsonov2014-06-051-1/+2
| | | | llvm-svn: 210300
* Add a new attribute called 'jumptable' that creates jump-instruction tables ↵Tom Roeder2014-06-051-0/+8
| | | | | | | | | | | | for functions marked with this attribute. It includes a pass that rewrites all indirect calls to jumptable functions to pass through these tables. This also adds backend support for generating the jump-instruction tables on ARM and X86. Note that since the jumptable attribute creates a second function pointer for a function, any function marked with jumptable must also be marked with unnamed_addr. llvm-svn: 210280
* Document how to select build configuration with Visual C++ IDE or command line.Yaron Keren2014-06-051-0/+3
| | | | llvm-svn: 210273
* docs: Remove documentation for legacy PGO optionsJustin Bogner2014-06-044-50/+0
| | | | | | | | Late last year r191835 removed a largely unmaintained legacy PGO infrastructure, but some of the docs were missed. Since these docs are for things that don't actually exist anymore, they should be removed. llvm-svn: 210165
* Allow alias to point to an arbitrary ConstantExpr.Rafael Espindola2014-06-031-10/+20
| | | | | | | | | | | | | | | | | | | | | This patch changes GlobalAlias to point to an arbitrary ConstantExpr and it is up to MC (or the system assembler) to decide if that expression is valid or not. This reduces our ability to diagnose invalid uses and how early we can spot them, but it also lets us do things like @test5 = alias inttoptr(i32 sub (i32 ptrtoint (i32* @test2 to i32), i32 ptrtoint (i32* @bar to i32)) to i32*) An important implication of this patch is that the notion of aliased global doesn't exist any more. The alias has to encode the information needed to access it in its metadata (linkage, visibility, type, etc). Another consequence to notice is that getSection has to return a "const char *". It could return a NullTerminatedStringRef if there was such a thing, but when that was proposed the decision was to just uses "const char*" for that. llvm-svn: 210062
* GraphWriter: detect graph viewer programs at runtimeAlp Toker2014-06-021-3/+4
| | | | | | | | | | | | | | | | | | | | | | Replace the crufty build-time configure checks for program paths with equivalent runtime logic. This lets users install graphing tools as needed without having to reconfigure and rebuild LLVM, while eliminating a long chain of inappropriate compile dependencies that included GUI programs and the windowing system. Additional features: * Support the OS X 'open' command to view graphs generated by any of the Graphviz utilities. This is an alternative to the Graphviz OS X UI which is no longer available on Mountain Lion. * Produce informative log output upon failure to indicate which programs can be installed to view graphs. Ping me if this doesn't work for your particular environment. llvm-svn: 210001
* fixed more typosSanjay Patel2014-05-301-2/+2
| | | | llvm-svn: 209921
* added link to CMake pageSanjay Patel2014-05-301-3/+4
| | | | llvm-svn: 209918
OpenPOWER on IntegriCloud