summaryrefslogtreecommitdiffstats
path: root/llvm/docs/WritingAnLLVMPass.rst
Commit message (Collapse)AuthorAgeFilesLines
* Generalize the pass registration mechanism used by Polly to any third-party toolserge_sans_paille2020-01-021-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | There's quite a lot of references to Polly in the LLVM CMake codebase. However the registration pattern used by Polly could be useful to other external projects: thanks to that mechanism it would be possible to develop LLVM extension without touching the LLVM code base. This patch has two effects: 1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it with a generic mechanism 2. Provide a generic mechanism to register compiler extensions. A compiler extension is similar to a pass plugin, with the notable difference that the compiler extension can be configured to be built dynamically (like plugins) or statically (like regular passes). As a result, people willing to add extra passes to clang/opt can do it using a separate code repo, but still have their pass be linked in clang/opt as built-in passes. Differential Revision: https://reviews.llvm.org/D61446
* [LegacyPassManager] Delete BasicBlockPass/Manager.Alina Sbirlea2019-10-301-69/+3
| | | | | | | | | | | | | | | | Summary: Delete the BasicBlockPass and BasicBlockManager, all its dependencies and update documentation. The BasicBlockManager was improperly tested and found to be potentially broken, and was deprecated as of rL373254. In light of the switch to the new pass manager coming before the next release, this patch is a first cleanup of the LegacyPassManager. Reviewers: chandlerc, echristo Subscribers: mehdi_amini, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69121
* Attempt to unbreak sphinx build bot by inserting a link.Philip Reames2019-07-311-3/+3
| | | | llvm-svn: 367487
* Document legacy pass manager extension pointsSerge Guelton2019-07-041-3/+23
| | | | | | Differential Revision: https://reviews.llvm.org/D64093 llvm-svn: 365142
* [docs][tools] Add missing "program" tags to rst filesJames Henderson2019-06-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | Sphinx allows for definitions of command-line options using `.. option <name>` and references to those options via `:option:<name>`. However, it looks like there is no scoping of these options by default, meaning that links can end up pointing to incorrect documents. See for example the llvm-mca document, which contains references to -o that, prior to this patch, pointed to a different document. What's worse is that these links appear to be non-deterministic in which one is picked (on my machine, some references end up pointing to opt, whereas on the live docs, they point to llvm-dwarfdump, for example). The fix is to add the .. program <name> tag. This essentially namespaces the options (definitions and references) to the named program, ensuring that the links are kept correct. Reviwed by: andreadb Differential Revision: https://reviews.llvm.org/D63873 llvm-svn: 364538
* [Docs] Modernize references to macOSJ. Ryan Stinnett2019-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This updates all places in documentation that refer to "Mac OS X", "OS X", etc. to instead use the modern name "macOS" when no specific version number is mentioned. If a specific version is mentioned, this attempts to use the OS name at the time of that version: * Mac OS X for 10.0 - 10.7 * OS X for 10.8 - 10.11 * macOS for 10.12 - present Reviewers: JDevlieghere Subscribers: mgorny, christof, arphaman, cfe-commits, lldb-commits, libcxx-commits, llvm-commits Tags: #clang, #lldb, #libc, #llvm Differential Revision: https://reviews.llvm.org/D62654 llvm-svn: 362113
* cmake: Remove add_llvm_loadable_module()Tom Stellard2018-12-201-1/+1
| | | | | | | | | | | | | | | | | Summary: This function is very similar to add_llvm_library(), so this patch merges it into add_llvm_library() and replaces all calls to add_llvm_loadable_module(lib ...) with add_llvm_library(lib MODULE ...) Reviewers: philip.pfaffe, beanz, chandlerc Reviewed By: philip.pfaffe Subscribers: chapuni, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D51748 llvm-svn: 349839
* Fixed dead links in WritingAnLLVMPass.rstRaphael Isemann2017-11-061-2/+2
| | | | llvm-svn: 317467
* [docs] Make WritingAnLLVMPass.rst up-to-date with current state of thingsAndrey Bokhanko2016-09-271-133/+129
| | | | | | | | | | | | | | | | This patch updates WritingAnLLVMPass.rst to make it in line with current state of things. Specifically: * Makefile instructions replaced with CMake ones * Filenames replaced with correct ones * Example reformatted a bit to make it less confusing and more conforming to LLVM Coding Standards * opt tool output updated with what it actually prints nowdays * "gcse" (which doesn't exist anymore) replaced with "gvn" (which still does) Differential Revision: https://reviews.llvm.org/D24233 llvm-svn: 282482
* [docs] Fixing Sphinx warnings to unclog the buildbotRenato Golin2016-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Lots of blocks had "llvm" or "nasm" syntax types but either weren't following the syntax, or the syntax has changed (and sphinx hasn't keep up) or the type doesn't even exist (nasm?). Other documents had :options: what were invalid. I only removed those that had warnings, and left the ones that didn't, in order to follow the principle of least surprise. This is like this for ages, but the buildbot is now failing on errors. It may take a while to upgrade the buildbot's sphinx, if that's even possible, but that shouldn't stop us from getting docs updates (which seem down for quite a while). Also, we're not losing any syntax highlight, since when it doesn't parse, it doesn't colour. Ie. those blocks are not being highlighted anyway. I'm trying to get all docs in one go, so that it's easy to revert later if we do fix, or at least easy to know what's to fix. llvm-svn: 276109
* Fix typo.Wilfred Hughes2016-03-061-1/+1
| | | | llvm-svn: 262802
* [LPM] Document the new helpers to make it easy to get consistent requireChandler Carruth2016-02-191-0/+8
| | | | | | | | and preserve behavior from loop passes. Differential Revision: http://reviews.llvm.org/D17443 llvm-svn: 261319
* Fix another reference to in-source buildsJonathan Roelofs2015-10-231-9/+8
| | | | llvm-svn: 251127
* Kill another reference to in-source buildsJonathan Roelofs2015-10-011-8/+5
| | | | llvm-svn: 249067
* [PM] Split the LoopInfo object apart from the legacy pass, creatingChandler Carruth2015-01-171-2/+2
| | | | | | | | | | a LoopInfoWrapperPass to wire the object up to the legacy pass manager. This switches all the clients of LoopInfo over and paves the way to port LoopInfo to the new pass manager. No functionality change is intended with this iteration. llvm-svn: 226373
* docs: Modernize some examples in WritingAnLLVMPassJustin Bogner2014-11-181-3/+3
| | | | llvm-svn: 222223
* docs: Fix a couple of typo-ish errors in WritingAnLLVMPassJustin Bogner2014-11-181-4/+3
| | | | | | | | - Make CallGraphSCCPass's paragraph about doFinalization refer to runOnSCC instead of runOnFunction, since that's what it's about. - Fix a reference in the FunctionPass paragraph. llvm-svn: 222222
* docs: Remove documentation for legacy PGO optionsJustin Bogner2014-06-041-1/+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
* fix RST reference in Writing an LLVM PassBenjamin Kramer2013-10-301-1/+1
| | | | | | | | | | 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
* IR headers moved to llvm/IR some aeons ago, update documentation.Benjamin Kramer2013-07-081-2/+2
| | | | llvm-svn: 185854
* Update docs to say that a FunctionPass should not inspect other functions ↵Stephen Lin2013-07-081-1/+1
| | | | | | | | 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
* remove the rest of the "written by" lines in the documentation. It isChris Lattner2013-01-101-3/+0
| | | | | | | 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
* Documentation: convert WritingAnLLVMPass.html to reST.Dmitri Gribenko2012-12-121-0/+1439
Patch by Anthony Mykhailenko with small fixes by me. llvm-svn: 169992
OpenPOWER on IntegriCloud