summaryrefslogtreecommitdiffstats
path: root/llvm/docs/ProgrammersManual.rst
Commit message (Collapse)AuthorAgeFilesLines
...
* Try to fix ODR violation of ErrorInfo::IDReid Kleckner2016-03-241-0/+3
| | | | | | This implements my suggestion to Lang. llvm-svn: 264360
* [docs] Clarify Error example in Programmer's Manual.Lang Hames2016-03-241-4/+6
| | | | llvm-svn: 264314
* docs: Fix a missing language in a code-blockJustin Bogner2016-03-231-1/+1
| | | | | | | This should fix the docs build. Spotted by spstarr, thanks! llvm-svn: 264209
* [docs] Fix typo in ProgrammersManual.rstVedant Kumar2016-03-231-1/+1
| | | | | | Patch by Miod Vallat! llvm-svn: 264138
* [Docs] Clarify boolean conversion for Error and Expected<T> in the Programmer'sLang Hames2016-03-231-4/+16
| | | | | | Manual. llvm-svn: 264135
* [Support] Add the 'Error' class for structured error handling.Lang Hames2016-03-161-0/+168
| | | | | | | | | | | | | | | | | This patch introduces the Error classs for lightweight, structured, recoverable error handling. It includes utilities for creating, manipulating and handling errors. The scheme is similar to exceptions, in that errors are described with user-defined types. Unlike exceptions however, errors are represented as ordinary return types in the API (similar to the way std::error_code is used). For usage notes see the LLVM programmer's manual, and the Error.h header. Usage examples can be found in unittests/Support/ErrorTest.cpp. Many thanks to David Blaikie, Mehdi Amini, Kevin Enderby and others on the llvm-dev and llvm-commits lists for lots of discussion and review. llvm-svn: 263609
* Fix some typos in the llvm docSylvestre Ledru2016-02-141-2/+2
| | | | llvm-svn: 260855
* The --debug-only option now takes a comma separated list of debug types.Christof Douma2016-01-121-1/+5
| | | | | | | | | This means that the DEBUG_TYPE cannot take a comma anymore. All existing passes conform to this rule. Differential Revision: http://reviews.llvm.org/D15645 llvm-svn: 257466
* docs: Stop using DEBUG() without DEBUG_TYPE in the ProgrammersManualJustin Bogner2015-10-151-18/+10
| | | | | | | | The DEBUG() macro has required that a DEBUG_TYPE be set since r206822. Update the programmers manual to reflect that, and also update the wording to point out that DEBUG_TYPE should be defined after #includes. llvm-svn: 250436
* Reverting r243386 because it has serious post-commit concerns that have not ↵Aaron Ballman2015-07-291-2/+1
| | | | | | been addressed. Also reverts r243389, which relied on this commit. llvm-svn: 243527
* Adding ADT SortedVector; client patch will follow.Puyan Lotfi2015-07-281-1/+2
| | | | llvm-svn: 243386
* Fix PR24099 reported by Tomas Brukner.Yaron Keren2015-07-121-1/+1
| | | | llvm-svn: 241997
* Fix documentation for Set-Like ContainersArtyom Skrobov2015-05-191-10/+26
| | | | llvm-svn: 237677
* Editorial changes in the programmers manual.Charlie Turner2015-04-161-4/+5
| | | | | | | VMCore was renamed to IR back in 2013. The relevant "core" implementations were moved into the lib/IR directory at the same time. llvm-svn: 235116
* Correct 'teh' and other typos / repeated words.Ed Maste2015-04-141-2/+2
| | | | | | | | Patch by Eitan Adler. Differential Revision: http://reviews.llvm.org/D8514 llvm-svn: 234939
* [ADT][CMake][AutoConf] Fail-fast iterators for DenseMapSanjoy Das2015-03-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is an attempt at making `DenseMapIterator`s "fail-fast". Fail-fast iterators that have been invalidated due to insertion into the host `DenseMap` deterministically trip an assert (in debug mode) on access, instead of non-deterministically hitting memory corruption issues. Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`. `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake / autoconf build system. Reviewers: chandlerc, dexonsmith, rnk, zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8351 llvm-svn: 233310
* [docs] Fix copy-and-paste bug in def-use exampleAdam Nemet2015-03-171-1/+1
| | | | | | | This appeared when the example was converted to use range-based loop in r207755. llvm-svn: 232509
* docs: Mention that assertions must be enabled to use the -stats flagJustin Bogner2015-02-211-0/+3
| | | | | | Patch by Rob Stewart. Thanks! llvm-svn: 230144
* [docs] Use slightly more proper .rst markupSean Silva2015-01-281-3/+3
| | | | | | | | | | | Again, I'd like to emphasize to everyone that this sort of markup change is *not* what you should be concerned about when writing docs. Focus on *content*. I applaud Chandler for focusing on the fantastic content of this new section! llvm-svn: 227305
* Introduce a section to the programmers manual about type hierarchies,Chandler Carruth2015-01-281-0/+70
| | | | | | | | | | | | | | | | | | | polymorphism, and virtual dispatch. This is essentially trying to explain the emerging design techniques being used in LLVM these days somewhere more accessible than the comments on a particular piece of infrastructure. It covers the "concepts-based polymorphism" that caused some confusion during initial reviews of the new pass manager as well as the tagged-dispatch mechanism used pervasively in LLVM and Clang. Perhaps most notably, I've tried to provide some criteria to help developers choose between these options when designing new pieces of infrastructure. Differential Revision: http://reviews.llvm.org/D7191 llvm-svn: 227292
* ProgrammersManual.rst: fix a typoHans Wennborg2015-01-171-1/+1
| | | | llvm-svn: 226367
* Update my previous commit to fit 80 cols...Sylvestre Ledru2014-09-251-1/+2
| | | | llvm-svn: 218448
* Details that -debug-only is not available when LLVM is built with ↵Sylvestre Ledru2014-09-251-0/+2
| | | | | | --enable-optimized llvm-svn: 218447
* Fix typos in comments, NFCRobin Morisset2014-08-291-1/+1
| | | | | | | | | | | | | | Summary: Just fixing comments, no functional change. Test Plan: N/A Reviewers: jfb Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D5130 llvm-svn: 216784
* ProgrammersManual: the flag is called -debug-onlyHans Wennborg2014-08-231-1/+1
| | | | llvm-svn: 216316
* Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) ↵Duncan P. N. Exon Smith2014-07-211-2/+3
| | | | | | | | | iterator ranges." This reverts commit r213474 (and r213475), which causes a miscompile on a stage2 LTO build. I'll reply on the list in a moment. llvm-svn: 213562
* [C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ↵Manuel Jacob2014-07-201-3/+2
| | | | | | | | | | | | | | | | | | ranges. Summary: This patch introduces two new iterator ranges and updates existing code to use it. No functional change intended. Test Plan: All tests (make check-all) still pass. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4481 llvm-svn: 213474
* Remove rules against std::function from the programmer's manualReid Kleckner2014-07-171-12/+8
| | | | | | Clarify that llvm::function_ref is like StringRef for callables. llvm-svn: 213326
* ADT: Add MapVector::remove_ifDuncan P. N. Exon Smith2014-07-151-2/+4
| | | | | | | Add a `MapVector::remove_if()` that erases items in bulk in linear time, as opposed to quadratic time for repeated calls to `MapVector::erase()`. llvm-svn: 213090
* ADT: Fix MapVector::erase()Duncan P. N. Exon Smith2014-07-151-1/+1
| | | | | | | | | | | | Actually update the changed indexes in the map portion of `MapVector` when erasing from the middle. Add a unit test that checks for this. Note that `MapVector::erase()` is a linear time operation (it was and still is). I'll commit a new method in a moment called `MapVector::remove_if()` that deletes multiple entries in linear time, which should be slightly less painful. llvm-svn: 213084
* 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
* 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
* 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
* 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
* 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
* Fix markup for -debug-only optionAlexey Samsonov2014-06-051-1/+2
| | | | llvm-svn: 210300
* 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
* Update programmers manual to cover llvm::function_ref, and add a note to theRichard Smith2014-05-061-0/+72
| | | | | | coding standard suggesting using it instead of the (unavailable) std::function. llvm-svn: 208067
* Revert accidentally-committed files.Richard Smith2014-05-061-72/+0
| | | | llvm-svn: 208034
* Re-commit r208025, reverted in r208030, with a fix for a conformance issueRichard Smith2014-05-061-0/+72
| | | | | | which GCC detects and Clang does not! llvm-svn: 208033
* Updated Doxygen link for InstIterator.h.Yaron Keren2014-05-031-1/+1
| | | | llvm-svn: 207906
* InstIterator.h lives in llvm/IR.Yaron Keren2014-05-031-2/+2
| | | | llvm-svn: 207903
* Code style fix from Duncan P. N. Exon Smith.Yaron Keren2014-05-021-1/+1
| | | | llvm-svn: 207831
* Update post-r203364 ↵Yaron Keren2014-05-011-8/+4
| | | | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140303/207915.html and ranged for loops. http://reviews.llvm.org/D3582 llvm-svn: 207755
* "Mac OS/X" -> "Mac OS X" spelling fixes for llvm.Nico Weber2014-03-071-2/+2
| | | | | | Patch from Sean McBride <sean@rogue-research.com>! llvm-svn: 203258
* [Modules] Move ValueMap to the IR library. While this class does notChandler Carruth2014-03-041-1/+1
| | | | | | | | | | | | 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. llvm-svn: 202824
* Typos. (Test commit.)Paul Robinson2013-11-141-2/+2
| | | | llvm-svn: 194720
OpenPOWER on IntegriCloud