summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* [docs][llvm-nm] Add missing options to documentationJames Henderson2019-06-241-21/+91
| | | | | | | | | | | | | | There were several options missing from the documentation. This patch adds them as well as improving some wording and separating the Mach-O only options into a separate section. Fixes https://bugs.llvm.org/show_bug.cgi?id=42234. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D63655 llvm-svn: 364176
* [docs][llvm-nm] Improve symbol code documentationJames Henderson2019-06-241-15/+70
| | | | | | | | | | | | | | The existing symbol code documentation was very incomplete. This patch adds the missing codes, and defines them based on the current code behaviour. Fixes https://bugs.llvm.org/show_bug.cgi?id=42231. Reviewed by: rupprecht, mtrent, MaskRay Differential Revision: https://reviews.llvm.org/D63327 llvm-svn: 364171
* PDB docs: Delete trailing whitespace, wrap to 80 colsNico Weber2019-06-225-76/+82
| | | | llvm-svn: 364131
* [docs][llvm-objdump] Fix bad merge of docsJames Henderson2019-06-211-4/+4
| | | | llvm-svn: 364056
* [binutils] Add response file option to help and docsJames Henderson2019-06-214-0/+16
| | | | | | | | | | | | | | | | | | | | | Many LLVM-based tools already support response files (i.e. files containing a list of options, specified with '@'). This change simply updates the documentation and help text for some of these tools to include it. I haven't attempted to fix all tools, just a selection that I am interested in. I've taken the opportunity to add some tests for --help behaviour, where they were missing. We could expand these tests, but I don't think that's within scope of this patch. This fixes https://bugs.llvm.org/show_bug.cgi?id=42233 and https://bugs.llvm.org/show_bug.cgi?id=42236. Reviewed by: grimar, MaskRay, jkorous Differential Revision: https://reviews.llvm.org/D63597 llvm-svn: 364036
* [docs][llvm-objdump] Improve llvm-objdump documentationJames Henderson2019-06-211-36/+240
| | | | | | | | | | | | | | | | | | The llvm-objdump document was missing many options, and there were also some style issues with it. This patches fixes all but the first issue listed in https://bugs.llvm.org/show_bug.cgi?id=42249 by: 1. Adding missing options and commands. 2. Standardising on double dashes for long-options throughout. 3. Moving Mach-O specific options to a separate section. 4. Removing options that don't exist or aren't relevant to llvm-objdump. Reviewed by: MaskRay, mtrent, alexshap Differential Revision: https://reviews.llvm.org/D63606 llvm-svn: 364019
* [FileCheck] Stop qualifying expressions as numericThomas Preud'homme2019-06-191-9/+9
| | | | | | | | | | | | | | | | | Summary: Stop referring to "numeric expression", using simply the term "expression" instead. Likewise for numeric operation since operations are only used in numeric expressions. Reviewers: jhenderson, jdenny, probinson, arichardson Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63500 llvm-svn: 363901
* [llvm-mca][docs] clarify how the quality of the perf report is affected by ↵Andrea Di Biagio2019-06-191-0/+11
| | | | | | | | the quality of the scheduling models. Differential Revision: https://reviews.llvm.org/D63556 llvm-svn: 363830
* [SVE][IR] Scalable Vector IR Type with pr42210 fixGraham Hunter2019-06-181-15/+39
| | | | | | | | | | | | | | | | | | | | | Recommit of D32530 with a few small changes: - Stopped recursively walking through aggregates in the verifier, so that we don't impose too much overhead on large modules under LTO (see PR42210). - Changed tests to match; the errors are slightly different since they only report the array or struct that actually contains a scalable vector, rather than all aggregates which contain one in a nested member. - Corrected an older comment Reviewers: thakis, rengolin, sdesmalen Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D63321 llvm-svn: 363658
* [DebugInfo][Docs] Document that prologue/epilogue variable location changes ↵Jeremy Morse2019-06-181-4/+13
| | | | | | | | | | | | | | | | | | | | are ignored This patch documents that LLVM does not describe all changes in variable locations during the prologue and the epilogue. The debugger doesn't / shouldn't step through that portion of the function anyway, and describing every location through such stages would bloat location lists. Perform some minor cleanup at the same time, * Fix an enumerated list * Document that dbg.declare intrinsics have their variable location recorded in a MachineFunction table, not with DBG_VALUE meta-insts * Adds frame-indexes to the list of things that can be operands to DBG_VALUEs. Differential Revision: https://reviews.llvm.org/D63083 llvm-svn: 363654
* hwasan: Add a tag_offset DWARF attribute to instrumented stack variables.Peter Collingbourne2019-06-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | The goal is to improve hwasan's error reporting for stack use-after-return by recording enough information to allow the specific variable that was accessed to be identified based on the pointer's tag. Currently we record the PC and lower bits of SP for each stack frame we create (which will eventually be enough to derive the base tag used by the stack frame) but that's not enough to determine the specific tag for each variable, which is the stack frame's base tag XOR a value (the "tag offset") that is unique for each variable in a function. In IR, the tag offset is most naturally represented as part of a location expression on the llvm.dbg.declare instruction. However, the presence of the tag offset in the variable's actual location expression is likely to confuse debuggers which won't know about tag offsets, and moreover the tag offset is not required for a debugger to determine the location of the variable on the stack, so at the DWARF level it is represented as an attribute so that it will be ignored by debuggers that don't know about it. Differential Revision: https://reviews.llvm.org/D63119 llvm-svn: 363635
* [docs][llvm-dwarfdump] Make the --show-parents and --show-children help text ↵James Henderson2019-06-141-6/+6
| | | | | | | | | | | | | | | | | | and docs more consistent and correct The docs and help text for --show-parents and --show-children were a bit inconsistent. The help text claimed they had an effect when "=<offset>" was used, whereas the doc said it had an effect when "--find" or "--name" were used. This change changes the doc to mention "=<offset>" and removes this reference from the help text, to avoid having a very long description in the help text (it still says "when selectively printing entries"). Reviewed by: JDevlieghere, aprantl Differential Revision: https://reviews.llvm.org/D63275 llvm-svn: 363380
* [AMDGPU] gfx10 documentation update. NFC.Stanislav Mekhanoshin2019-06-131-1270/+2412
| | | | llvm-svn: 363332
* [Coverage] Load code coverage data from archivesVedant Kumar2019-06-131-0/+6
| | | | | | | | | | | | | Support loading code coverage data from regular archives, thin archives, and from MachO universal binaries which contain archives. Testing: check-llvm, check-profile (with {A,UB}San enabled) rdar://51538999 Differential Revision: https://reviews.llvm.org/D63232 llvm-svn: 363325
* [LangRef] Clarify poison semanticsNikita Popov2019-06-131-10/+23
| | | | | | | | | | | | | | | | | | | | | I find the current documentation of poison somewhat confusing, mainly because its use of "undefined behavior" doesn't seem to align with our usual interpretation (of immediate UB). Especially the sentence "any instruction that has a dependence on a poison value has undefined behavior" is very confusing. Clarify poison semantics by: * Replacing the introductory paragraph with the standard rationale for having poison values. * Spelling out that instructions depending on poison return poison. * Spelling out how we go from a poison value to immediate undefined behavior and give the two examples we currently use in ValueTracking. * Spelling out that side effects depending on poison are UB. Differential Revision: https://reviews.llvm.org/D63044 llvm-svn: 363320
* [docs] Fix TableGen/LangRef typosJordan Rupprecht2019-06-131-2/+2
| | | | | | | | This fixes: - `Pred` -> `Prep` - `IfDef` -> `Ifdef` (rst is case sensitive here) llvm-svn: 363294
* [docs][llvm-symbolizer] Fix formatting issue with --functionsJames Henderson2019-06-131-4/+4
| | | | | | | | Reviewed by: rupprecht Differential Revision: https://reviews.llvm.org/D63195 llvm-svn: 363266
* [docs][llvm-dwarfdump] Add missing options and behaviour to documentationJames Henderson2019-06-131-4/+35
| | | | | | | | | | | | | | This fixes https://bugs.llvm.org/show_bug.cgi?id=42185. llvm-dwarfdump's documentation was missing a number of options and other behaviours. This change tries to fix up the documentation by adding these missing items. Reviewed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D63217 llvm-svn: 363264
* Improve reduction intrinsics by overloading result value.Sander de Smalen2019-06-131-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch uses the mechanism from D62995 to strengthen the definitions of the reduction intrinsics by letting the scalar result/accumulator type be overloaded from the vector element type. For example: ; The LLVM LangRef specifies that the scalar result must equal the ; vector element type, but this is not checked/enforced by LLVM. declare i32 @llvm.experimental.vector.reduce.or.i32.v4i32(<4 x i32> %a) This patch changes that into: declare i32 @llvm.experimental.vector.reduce.or.v4i32(<4 x i32> %a) Which has the type-constraint more explicit and causes LLVM to check the result type with the vector element type. Reviewers: RKSimon, arsenm, rnk, greened, aemerson Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D62996 llvm-svn: 363240
* [llvm-lipo] Update llvm-lipo docs for -archs flagShoaib Meenai2019-06-121-0/+6
| | | | | | | | | | The information for -archs flag is added to llvm-lipo.rst. Patch by Anusha Basana <anusha.basana@gmail.com> Differential Revision: https://reviews.llvm.org/D63100 llvm-svn: 363182
* [docs][llvm-symbolizer] Fix typo and grammar errorJames Henderson2019-06-121-2/+3
| | | | llvm-svn: 363145
* [DOC] Fix `load` instructions' syntax, function definition.Xing GUO2019-06-121-9/+9
| | | | | | | | | | | | | | | | Summary: In this patch, I updated `load` instruction syntax and fixed function definition. Besides, I re-named some variables to make them obey SSA rule. Reviewers: MaskRay Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63186 llvm-svn: 363142
* [docs] Fix typoJames Henderson2019-06-121-1/+1
| | | | llvm-svn: 363138
* [llvm-nm] Fix docs and help text for --print-sizeJames Henderson2019-06-121-1/+1
| | | | | | | | | | | | The --print-size help text and documentation claimed that the size was printed instead of the address, but this is incorrect. It is printed as well as the address. This patch fixes this issue. Reviewed by: MaskRay, mtrent, ruiu Differential Revision: https://reviews.llvm.org/D63142 llvm-svn: 363136
* [docs] Add "GNU binutils Replacements" section to command guideJordan Rupprecht2019-06-118-4/+125
| | | | | | | | | | | | | | | | | | | Summary: This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches. Tested by running `ninja docs-llvm-html` and inspecting locally. Reviewers: jhenderson, MaskRay, grimar, alexshap Reviewed By: jhenderson, MaskRay, grimar Subscribers: smeenai, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63014 llvm-svn: 363100
* [docs][llvm-nm] Add darwin as --format optionJames Henderson2019-06-111-2/+2
| | | | llvm-svn: 363081
* Fix docs build issue introduced by r363035Sander de Smalen2019-06-111-2/+2
| | | | | | | Replacing '.. code-block:: llvm' by '::' is a quick fix to the build warning/error: Could not lex literal_block as "llvm". llvm-svn: 363079
* [docs][llvm-nm] Make --help help text consistent with other optionsJames Henderson2019-06-111-1/+1
| | | | llvm-svn: 363073
* [llvm-dwarfdump] Simplify --ignore-case help text and documentationJames Henderson2019-06-111-2/+1
| | | | | | | | | | | | | | | There was a typo in the --ignore-case help text that was copied into the llvm-dwarfdump command-guide. Additionally, this patch simplifies the wording, since it was unnecessarily verbose: the switch applies for searching in general and doesn't need explicitly stating different search modes (which might go out-of-date as options are added or removed). Reviwed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D63133 llvm-svn: 363066
* [docs][llvm-nm] Fix documentation regarding llvm-nm reading stdinJames Henderson2019-06-111-2/+3
| | | | | | | | | | | | llvm-nm reads a.out NOT stdin when no input file is specified. This patch fixes the doc accordingly, and rephrases the surrounding sentence slightly. Reviewed by: grimar Differential Revision: https://reviews.llvm.org/D63135 llvm-svn: 363065
* [llvm-dwarfdump] Add -o to help text and remove --out-file from docJames Henderson2019-06-111-1/+1
| | | | | | | | | | | | | -o is in the documentation, but not in the llvm-dwarfdump help text. This patch adds it by inverting the -o and --out-file aliasing. It also removes --out-file from the documentation, since we don't really want people to be using this switch in practice. Reviewed by: aprantl, JDevlieghere, dblaikie Differential Revision: https://reviews.llvm.org/D63013 llvm-svn: 363044
* Change semantics of fadd/fmul vector reductions.Sander de Smalen2019-06-111-32/+26
| | | | | | | | | | | | | | | | | | | | This patch changes how LLVM handles the accumulator/start value in the reduction, by never ignoring it regardless of the presence of fast-math flags on callsites. This change introduces the following new intrinsics to replace the existing ones: llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.v2.fadd llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.v2.fmul and adds functionality to auto-upgrade existing LLVM IR and bitcode. Reviewers: RKSimon, greened, dmgreen, nikic, simoll, aemerson Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D60261 llvm-svn: 363035
* [Docs] [llvm-mca] Point out a caveat for using llvm-mca markers in source code.Matt Davis2019-06-101-2/+11
| | | | | | | | | | | | | | | | | | Summary: See: https://bugs.llvm.org/show_bug.cgi?id=42173 Reviewers: andreadb, mattd, RKSimon, spatel Reviewed By: andreadb Subscribers: tschuett, gbedwell, llvm-commits, andreadb Tags: #llvm Patch by Max Marrone (maxpm)! Thanks! Differential Revision: https://reviews.llvm.org/D63040 llvm-svn: 362979
* [docs] Add 'git llvm revert' to getting started guideJordan Rupprecht2019-06-101-0/+20
| | | | | | | | | | | | | | Summary: This documents `git llvm revert rNNNNNN` in the getting started guide for broader visibility. Reviewers: jyknight, mehdi_amini Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63023 llvm-svn: 362966
* Revert r361953 "[SVE][IR] Scalable Vector IR Type"Nico Weber2019-06-091-39/+15
| | | | | | | This reverts commit f4fc01f8dd3a5dfd2060d1ad0df6b90e8351ddf7. It caused a 3-4x slowdown when doing thinlto links, PR42210. llvm-svn: 362913
* [llvm-lipo] Add docs for llvm-lipoAlexander Shaposhnikov2019-06-072-0/+34
| | | | | | | | | | | | Add docs (llvm-lipo.rst) for llvm-lipo. Test plan: make -j8 sphinx check that ./docs/html/CommandGuide/llvm-lipo.html is built correctly and looks okay. Differential revision: https://reviews.llvm.org/D62706 llvm-svn: 362848
* [docs]Move llvm-readobj from "Developer Tools" to "Basic Commands"James Henderson2019-06-071-1/+1
| | | | | | | | | | | | | | On the Command Guide page, there are multiple sections with links to the different documentation pages available for LLVM tools. The "Basic Tools" section includes tools like llvm-objdump, llvm-nm and so on. The "Developer Tools" section contains things like FileCheck and lit. This change moves llvm-readobj into the former block, from the latter. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D63011 llvm-svn: 362813
* [NFC] Test commit, whitespace changeDavid Tenty2019-06-061-1/+1
| | | | | | As per the Developer Policy, upon obtaining commit access. llvm-svn: 362753
* FileCheck [6/12]: Introduce numeric variable definitionThomas Preud'homme2019-06-061-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is part of a patch series to add support for FileCheck numeric expressions. This specific patch introduces support for defining numeric variable in a CHECK directive. This commit introduces support for defining numeric variable from a litteral value in the input text. Numeric expressions can then use the variable provided it is on a later line. Copyright: - Linaro (changes up to diff 183612 of revision D55940) - GraphCore (changes in later versions of revision D55940 and in new revision created off D55940) Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield Tags: #llvm Differential Revision: https://reviews.llvm.org/D60386 llvm-svn: 362705
* AMDGPU: Remove amdgpu-max-work-group-size attributeMatt Arsenault2019-06-051-2/+0
| | | | | | | This has been deprecated for a long time, and mesa recently switched to amdgpu-flat-work-group-size. llvm-svn: 362641
* Reapply: IR: add optional type to 'byval' function parametersTim Northover2019-05-302-1/+9
| | | | | | | | | | | | | | | | | When we switch to opaque pointer types we will need some way to describe how many bytes a 'byval' parameter should occupy on the stack. This adds a (for now) optional extra type parameter. If present, the type must match the pointee type of the argument. The original commit did not remap byval types when linking modules, which broke LTO. This version fixes that. Note to front-end maintainers: if this causes test failures, it's probably because the "byval" attribute is printed after attributes without any parameter after this change. llvm-svn: 362128
* [Docs] Modernize references to macOSJ. Ryan Stinnett2019-05-308-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix sphinx warning about missing footnote.Simon Pilgrim2019-05-301-1/+1
| | | | llvm-svn: 362077
* Revert "IR: add optional type to 'byval' function parameters"Tim Northover2019-05-291-4/+1
| | | | | | | The IRLinker doesn't delve into the new byval attribute when mapping types, and this breaks LTO. llvm-svn: 362029
* IR: add optional type to 'byval' function parametersTim Northover2019-05-291-1/+4
| | | | | | | | | | | | | | When we switch to opaque pointer types we will need some way to describe how many bytes a 'byval' parameter should occupy on the stack. This adds a (for now) optional extra type parameter. If present, the type must match the pointee type of the argument. Note to front-end maintainers: if this causes test failures, it's probably because the "byval" attribute is printed after attributes without any parameter after this change. llvm-svn: 362012
* [SVE][IR] Scalable Vector IR TypeGraham Hunter2019-05-291-15/+39
| | | | | | | | | | | | | | | | | | | * Adds a 'scalable' flag to VectorType * Adds an 'ElementCount' class to VectorType to pass (possibly scalable) vector lengths, with overloaded operators. * Modifies existing helper functions to use ElementCount * Adds support for serializing/deserializing to/from both textual and bitcode IR formats * Extends the verifier to reject global variables of scalable types * Updates documentation See the latest version of the RFC here: http://lists.llvm.org/pipermail/llvm-dev/2018-July/124396.html Reviewers: rengolin, lattner, echristo, chandlerc, hfinkel, rkruppe, samparker, SjoerdMeijer, greened, sebpop Reviewed By: hfinkel, sebpop Differential Revision: https://reviews.llvm.org/D32530 llvm-svn: 361953
* Add IR support, ELF section and user documentation for partitioning feature.Peter Collingbourne2019-05-291-0/+16
| | | | | | | | | | | | The partitioning feature was proposed here: http://lists.llvm.org/pipermail/llvm-dev/2019-February/130583.html This is mostly just documentation. The feature itself will be contributed in subsequent patches. Differential Revision: https://reviews.llvm.org/D60242 llvm-svn: 361923
* [CodeGen] Add lrint/llrint builtinsAdhemerval Zanella2019-05-281-0/+74
| | | | | | | | | | | | | | | | | This patch add the ISD::LRINT and ISD::LLRINT along with new intrinsics. The changes are straightforward as for other floating-point rounding functions, with just some adjustments required to handle the return value being an interger. The idea is to optimize lrint/llrint generation for AArch64 in a subsequent patch. Current semantic is just route it to libm symbol. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D62017 llvm-svn: 361875
* Clarify how musttail can be used to create forwarding thunksReid Kleckner2019-05-241-3/+7
| | | | llvm-svn: 361590
* FileCheck: Improve FileCheck variable terminologyThomas Preud'homme2019-05-231-28/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Terminology introduced by [[#]] blocks is confusing and does not integrate well with existing terminology. First, variables referred by [[]] blocks are called "pattern variables" while the text a CHECK directive needs to match is called a "CHECK pattern". This is inconsistent with variables in [[#]] blocks since [[#]] blocks are also found in CHECK pattern yet those variables are called "numeric variable". Second, the replacing of both [[]] and [[#]] blocks by the value of the variable or expression they contain is represented by a FileCheckPatternSubstitution class. The naming refers to being a substitution in a CHECK pattern but could be wrongly understood as being a substitution of a pattern variable. Third and lastly, comments use "numeric expression" to refer both to the [[#]] blocks as well as to the numeric expressions these blocks contain which get evaluated at match time. This patch solves these confusions by - calling variables in [[]] and [[#]] blocks as string and numeric variables respectively; - referring to [[]] and [[#]] as substitution *blocks*, with the former being a string substitution block and the latter a numeric substitution block; - calling [[]] and [[#]] blocks to be replaced by the value of a variable or expression they contain a substitution (as opposed to definition when these blocks are used to defined a variable), with the former being a string substitution and the latter a numeric substitution; - renaming the FileCheckPatternSubstitution as a FileCheckSubstitution class with FileCheckStringSubstitution and FileCheckNumericSubstitution subclasses; - restricting the use of "numeric expression" to refer to the expression that is evaluated in a numeric substitution. While numeric substitution blocks only support numeric substitutions of numeric expressions at the moment there are plans to augment numeric substitution blocks to support numeric definitions as well as both a numeric definition and numeric substitution in the same numeric substitution block. Reviewers: jhenderson, jdenny, probinson, arichardson Subscribers: hiraditya, arichardson, probinson, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62146 llvm-svn: 361445
OpenPOWER on IntegriCloud