summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* [Docs] Adds new section to User Guides pageDeForest Richards2019-09-271-15/+36
| | | | | | Adds a section to the User Guides page for articles related to building, packaging, and distributing LLVM. Includes sub-sections for CMake, Clang, and Docker. llvm-svn: 373113
* Document requirement of function attributes with constrained floatingKevin P. Neal2019-09-261-1/+13
| | | | | | | | | | point. Reviewed by: andrew.w.kaylor, uweigand, efriedma Approved by: andrew.w.kaylor Differential Revision: https://reviews.llvm.org/D67839 llvm-svn: 373002
* [Verifier] add invariant check for callbrNick Desaulniers2019-09-251-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The list of indirect labels should ALWAYS have their blockaddresses as argument operands to the callbr (but not necessarily the other way around). Add an invariant that checks this. The verifier catches a bad test case that was added recently in r368478. I think that was a simple mistake, and the test was made less strict in regards to the precise addresses (as those weren't specifically the point of the test). This invariant will be used to find a reported bug. Link: https://www.spinics.net/lists/arm-kernel/msg753473.html Link: https://github.com/ClangBuiltLinux/linux/issues/649 Reviewers: craig.topper, void, chandlerc Reviewed By: void Subscribers: ychen, lebedev.ri, javed.absar, kristof.beyls, hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D67196 llvm-svn: 372923
* [LangRef] Clarify absence of rounding guarantees for fmuladd.Florian Hahn2019-09-251-6/+6
| | | | | | | | | | | | | During the review of D67434, it was recommended to make fmuladd's behavior more explicit. D67434 depends on this interpretation. Reviewers: efriedma, jfb, reames, scanon, lebedev.ri, spatel Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D67552 llvm-svn: 372892
* [IR] allow fast-math-flags on phi of FP values (2nd try)Sanjay Patel2019-09-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes here are based on the corresponding diffs for allowing FMF on 'select': D61917 <https://reviews.llvm.org/D61917> As discussed there, we want to have fast-math-flags be a property of an FP value because the alternative (having them on things like fcmp) leads to logical inconsistency such as: https://bugs.llvm.org/show_bug.cgi?id=38086 The earlier patch for select made almost no practical difference because most unoptimized conditional code begins life as a phi (based on what I see in clang). Similarly, I don't expect this patch to do much on its own either because SimplifyCFG promptly drops the flags when converting to select on a minimal example like: https://bugs.llvm.org/show_bug.cgi?id=39535 But once we have this plumbing in place, we should be able to wire up the FMF propagation and start solving cases like that. The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a regression in a LoopVectorize test. We are intersecting the FMF of any FPMathOperator there, so if a phi is not properly annotated, new math instructions may not be either. Once we fix the propagation in SimplifyCFG, it may be safe to remove that hack. Differential Revision: https://reviews.llvm.org/D67564 llvm-svn: 372878
* Revert [IR] allow fast-math-flags on phi of FP valuesSanjay Patel2019-09-251-7/+1
| | | | | | This reverts r372866 (git commit dec03223a97af0e4dfcb23da55c0f7f8c9b62d00) llvm-svn: 372868
* [IR] allow fast-math-flags on phi of FP valuesSanjay Patel2019-09-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes here are based on the corresponding diffs for allowing FMF on 'select': D61917 As discussed there, we want to have fast-math-flags be a property of an FP value because the alternative (having them on things like fcmp) leads to logical inconsistency such as: https://bugs.llvm.org/show_bug.cgi?id=38086 The earlier patch for select made almost no practical difference because most unoptimized conditional code begins life as a phi (based on what I see in clang). Similarly, I don't expect this patch to do much on its own either because SimplifyCFG promptly drops the flags when converting to select on a minimal example like: https://bugs.llvm.org/show_bug.cgi?id=39535 But once we have this plumbing in place, we should be able to wire up the FMF propagation and start solving cases like that. The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a regression in a LoopVectorize test. We are intersecting the FMF of any FPMathOperator there, so if a phi is not properly annotated, new math instructions may not be either. Once we fix the propagation in SimplifyCFG, it may be safe to remove that hack. Differential Revision: https://reviews.llvm.org/D67564 llvm-svn: 372866
* [docs][llvm-strings] Clarify "printable character" wordingJames Henderson2019-09-251-2/+2
| | | | | | | | | | | | | | The --bytes option uses the phrase "printable ASCII characters", but the description section used simply "printable characters". To avoid any confusion about locale impacts etc, this change adopts the former's phrasing in both places. It also fixes a minor grammar issue in the description. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D68016 llvm-svn: 372865
* [docs][llvm-strip] Update llvm-strip doc to better match llvm-objcopy'sJames Henderson2019-09-251-9/+11
| | | | | | | | | Main changes are mostly wording of some options, but this change also fixes a switch reference so that a link is created and moves --strip-sections into the ELF-specific area since it is only supported for ELF currently. llvm-svn: 372864
* [AMDGPU][MC][DOC] Updated AMD GPU assembler description.Dmitry Preobrazhensky2019-09-2558-714/+1063
| | | | | | | | Summary of changes: - Updated to reflect recent changes in assembler; - Minor bugfixing and improvements. llvm-svn: 372857
* [Docs] Moves Reference docs to new pageDeForest Richards2019-09-253-40/+46
| | | | | | Moves Reference docs to new page. Also adds a table of contents to Getting Involved page. llvm-svn: 372796
* [docs][llvm-strip][llvm-objcopy] Improve wording and fix highlightingJames Henderson2019-09-242-7/+7
| | | | llvm-svn: 372754
* [docs][llvm-size] Fix typoJames Henderson2019-09-241-1/+1
| | | | llvm-svn: 372750
* Revert "Reland "[utils] Implement the llvm-locstats tool""Djordje Todorovic2019-09-232-80/+0
| | | | | | This reverts commit rL372554. llvm-svn: 372580
* Reland "[utils] Implement the llvm-locstats tool"Djordje Todorovic2019-09-232-0/+80
| | | | | | | | | | | | | | | | The tool reports verbose output for the DWARF debug location coverage. The llvm-locstats for each variable or formal parameter DIE computes what percentage from the code section bytes, where it is in scope, it has location description. The line 0 shows the number (and the percentage) of DIEs with no location information, but the line 100 shows the number (and the percentage) of DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line 50..59 shows the number (and the percentage) of DIEs where the location information is in between 50 and 59 percentage of its scope covered. Differential Revision: https://reviews.llvm.org/D66526 llvm-svn: 372554
* [Docs] Updates sidebar linksDeForest Richards2019-09-211-0/+3
| | | | | | Adds sidebar links to mailing lists, IRC, and meetups and social events. llvm-svn: 372488
* [Docs] Adds new page for Getting Involved articlesDeForest Richards2019-09-212-197/+210
| | | | | | Adds a new page for existing Getting Involved, Development Process, and Community Proposals articles. Also moves Mailing Lists, Meetups and social events, and IRC sections. llvm-svn: 372487
* [Docs] Bug fix for document not included in toctreeDeForest Richards2019-09-211-0/+3
| | | | | | Fixes 'document not included in toctree' bug for FAQ and Lexicon topics. llvm-svn: 372470
* [Docs] Updates sidebar linksDeForest Richards2019-09-212-15/+10
| | | | | | Adds additional links to sidebar. Also removes Glossary and FAQ from LLVM Design & Overview section. (These links now reside on the sidebar.) llvm-svn: 372469
* [Docs] Add a custom sidebar to doc pagesDeForest Richards2019-09-202-4/+16
| | | | | | Adds a custom sidebar to LLVM docs. Sidebar includes links to How to submit a bug and FAQ topics, as well as a Show Source link and search box. llvm-svn: 372432
* [Docs] Move topics to new categoriesDeForest Richards2019-09-204-27/+24
| | | | | | This commit moves several topics to new categories. llvm-svn: 372428
* [docs] Update structure-aware-fuzzing link.Matt Morehouse2019-09-201-1/+1
| | | | | | The document has been moved to the google/fuzzing GitHub repo. llvm-svn: 372423
* [docs] Remove training whitespaces. NFCFrancesco Petrogalli2019-09-201-127/+127
| | | | | | | | | | Subscribers: jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67835 llvm-svn: 372399
* [NFC] Test commit, deleting some whitespaceDavid Tellenbach2019-09-201-1/+1
| | | | llvm-svn: 372379
* [docs] Break long (>80) line. NFCFrancesco Petrogalli2019-09-191-1/+2
| | | | llvm-svn: 372326
* [Docs] Moves topics to new categoriesDeForest Richards2019-09-184-20/+8
| | | | | | This commit moves several topics to new categories. It also removes a few duplicate links in Subsystem Documentation. llvm-svn: 372274
* Data Dependence Graph BasicsBardia Mahjour2019-09-186-1/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper: D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS. This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges. The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored. The algorithm for building the graph involves the following steps in order: 1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph. 2. For each node in the graph establish def-use edges to/from other nodes in the graph. 3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it. Authored By: bmahjour Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert Reviewed By: Meinersbur, fhahn, myhsu Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto Tag: #llvm Differential Revision: https://reviews.llvm.org/D65350 llvm-svn: 372238
* Reland "[docs][Bugpoint]Add notes about multiple crashes"Jinsong Ji2019-09-171-0/+6
| | | | | | | | | | | Fix the warning. Bugpoint.rst:124:Mismatch: both interpreted text role prefix and reference suffix. Note that the line no here is wrong and misleading, the problem is in line 128, not 124. llvm-svn: 372181
* Revert "Data Dependence Graph Basics"Bardia Mahjour2019-09-176-140/+1
| | | | | | This reverts commit c98ec60993a7aa65073692b62f6d728b36e68ccd, which broke the sphinx-docs build. llvm-svn: 372168
* Data Dependence Graph BasicsBardia Mahjour2019-09-176-1/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper: D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS. This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges. The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored. The algorithm for building the graph involves the following steps in order: 1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph. 2. For each node in the graph establish def-use edges to/from other nodes in the graph. 3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it. Authored By: bmahjour Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert Reviewed By: Meinersbur, fhahn, myhsu Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto Tag: #llvm Differential Revision: https://reviews.llvm.org/D65350 llvm-svn: 372162
* [docs][Bugpoint] Revert 5584ead50 a5aa3353Jinsong Ji2019-09-171-6/+0
| | | | | | No sure why there are still warnings, revert while I investigate. llvm-svn: 372161
* [docs][Bugpoint] Fix build break.Jinsong Ji2019-09-171-1/+1
| | | | | | | Bugpoint.rst:124: WARNING: Mismatch: both interpreted text role prefix and reference suffix. llvm-svn: 372160
* [docs][Bugpoint]Add notes about multiple crashesJinsong Ji2019-09-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When reducing case for a CodeGenCrash, bugpoint may generate a new reduced testcase that exposes/causes another crash or break something due to limitation. Bugpoint does not distiguish different crashes currently, so when this happens, bugpoint will go on reducing for the new crash, or just abort, we can't get the case reduced for the origial crash. An advice is added into usage doc to connect to recommend checking error message with scripts and `-compile-command`. Reviewers: modocache, bogner, sebpop, reames, vsk, MatzeB Reviewed By: vsk Subscribers: mehdi_amini, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66832 llvm-svn: 372157
* [docs] Make --version text more correctJames Henderson2019-09-177-9/+11
| | | | | | | | | | | | | | | Follow-up to r371983. Referring to "this program" in the description of the --version option in the documentation isn't exactly correct, because the docs are not part of the program, and so "this program" doesn't really refer to anything. This patch brings the other users of this terminology into line with the new updates to llvm-size and llvm-strings. Reviewed by: alexshap, MaskRay Differential Revision: https://reviews.llvm.org/D67618 llvm-svn: 372107
* [Docs] Bug fix for docs homepageDeForest Richards2019-09-161-1/+0
| | | | | | Removes reference to non-existent Reference Documentation page. llvm-svn: 372032
* [Docs] Adds Getting Started/Tutorials, Reference to LLVM docs homepageDeForest Richards2019-09-163-52/+58
| | | | | | Adds a section for Getting Started/Tutorials and Reference topics to the LLVM docs homepage. llvm-svn: 372031
* [docs][llvm-strings] Write llvm-strings documentationJames Henderson2019-09-161-3/+118
| | | | | | | | | | Previously we only had a stub document. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67554 llvm-svn: 371984
* [docs][llvm-size] Write llvm-size documentationJames Henderson2019-09-161-3/+186
| | | | | | | | | | Previously we only had a stub document. Reviewed by: serge-sans-paille, MaskRay Differential Revision: https://reviews.llvm.org/D67555 llvm-svn: 371983
* [SVE][Inline-Asm] Add constraints for SVE predicate registersKerry McLaughlin2019-09-161-0/+2
| | | | | | | | | | | | | | | | | | | Summary: Adds the following inline asm constraints for SVE: - Upl: One of the low eight SVE predicate registers, P0 to P7 inclusive - Upa: SVE predicate register with full range, P0 to P15 Reviewers: t.p.northover, sdesmalen, rovka, momchil.velikov, cameron.mcinally, greened, rengolin Reviewed By: rovka Subscribers: javed.absar, tschuett, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66524 llvm-svn: 371967
* [llvm-objcopy] Ignore -B --binary-architecture=Fangrui Song2019-09-141-17/+4
| | | | | | | | | | | | | | | | | | | | | | | GNU objcopy documents that -B is only useful with architecture-less input (i.e. "binary" or "ihex"). After D67144, -O defaults to -I, and -B is essentially a NOP. * If -O is binary/ihex, GNU objcopy ignores -B. * If -O is elf*, -B provides the e_machine field in GNU objcopy. So to convert a blob to an ELF, `-I binary -B i386:x86-64 -O elf64-x86-64` has to be specified. `-I binary -B i386:x86-64 -O elf64-x86-64` creates an ELF with its e_machine field set to EM_NONE in GNU objcopy, but a regular x86_64 ELF in elftoolchain elfcopy. Follow the elftoolchain approach (ignoring -B) to simplify code. Users that expect their command line portable should specify -B. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D67215 llvm-svn: 371914
* [llvm-objcopy] Add support for response files in llvm-strip and llvm-objcopyMichael Pozulp2019-09-142-0/+8
| | | | | | | | | | | | | | | | Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=42671 Reviewers: jhenderson, espindola, alexshap, rupprecht Reviewed By: jhenderson Subscribers: seiya, emaste, arichardson, jakehehrlich, MaskRay, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65372 llvm-svn: 371911
* [Docs] Bug fix for reference to nonexistent documentDeForest Richards2019-09-131-3/+5
| | | | | | This commit fixes a bug in which the toctree contained a reference to a non-existent document. llvm-svn: 371889
* [FPEnv] Document that constrained FP intrinsics cannot be mixed with ↵Kevin P. Neal2019-09-131-7/+16
| | | | | | | | | | non-constrained Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand Approved by: andrew.w.kaylor Differential Revision: https://reviews.llvm.org/D67360 llvm-svn: 371888
* [docs][llvm-readelf][llvm-readobj] Improve --stack-sizes documentationJames Henderson2019-09-132-1/+8
| | | | | | | | | | | | | llvm-readobj's document was missing --stack-sizes entirely from its document, so this patch adds it. It also adds a note to the llvm-readelf description that the switch is only implemented for GNU style output currently. For reference, --stack-sizes was added in r367942. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67548 llvm-svn: 371862
* Fix a few spellos in docs.Nico Weber2019-09-138-21/+21
| | | | | | (Trying to debug an incremental build thing on a bot...) llvm-svn: 371860
* [docs][llvm-objcopy][llvm-strip] Improve --strip-unneeded descriptionJames Henderson2019-09-132-2/+3
| | | | | | | | | | | | | | Behaviour was recently added to this switch to strip debug sections too. See r369761. This change also makes the description for the --strip-unneeded switch consistent between the two docs. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67546 llvm-svn: 371855
* [Docs] Adds page for reference docsDeForest Richards2019-09-123-9/+33
| | | | | | Adds a Reference Documentation page for LLVM and API reference documentation. llvm-svn: 371782
* [docs][llvm-strip] Remove unnecessary whitespace for consistencyJames Henderson2019-09-121-2/+1
| | | | llvm-svn: 371739
* [X86] Enable -mprefer-vector-width=256 by default for Skylake-avx512 and ↵Craig Topper2019-09-111-0/+4
| | | | | | | | | | | | | | | | later Intel CPUs. AVX512 instructions can cause a frequency drop on these CPUs. This can negate the performance gains from using wider vectors. Enabling prefer-vector-width=256 will prevent generation of zmm registers unless explicit 512 bit operations are used in the original source code. I believe gcc and icc both do something similar to this by default. Differential Revision: https://reviews.llvm.org/D67259 llvm-svn: 371694
* Update link to the DWARF spec.Adrian Prantl2019-09-111-6/+6
| | | | llvm-svn: 371650
OpenPOWER on IntegriCloud