summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm-cxxmap: fix support for remapping non-mangled names.Richard Smith2019-12-181-0/+8
| | | | | | | Remappings involving extern "C" names were already supported in the context of <local-name>s, but this support didn't work for remapping the complete mangling itself. (Eg, we would remap X<foo> but not foo itself, if foo is an extern "C" function.)
* [docs] Remove `git llvm push` and `git llvm revert` from GettingStartedJustin Bogner2019-12-171-42/+14
| | | | | | These sections aren't accurate since the github move. Differential Revision: https://reviews.llvm.org/D71640
* [FPEnv] Remove unnecessary rounding mode argument for constrained intrinsicsUlrich Weigand2019-12-171-30/+8
| | | | | | | | | | | | | | | | | | | The following intrinsics currently carry a rounding mode metadata argument: llvm.experimental.constrained.minnum llvm.experimental.constrained.maxnum llvm.experimental.constrained.ceil llvm.experimental.constrained.floor llvm.experimental.constrained.round llvm.experimental.constrained.trunc This is not useful since the semantics of those intrinsics do not in any way depend on the rounding mode. In similar cases, other constrained intrinsics do not have the rounding mode argument. Remove it here as well. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D71218
* This adds constrained intrinsics for the signed and unsigned conversionsKevin P. Neal2019-12-171-0/+72
| | | | | | | | | of integers to floating point. This includes some of Craig Topper's changes for promotion support from D71130. Differential Revision: https://reviews.llvm.org/D69275
* Fix title underline in LangRefDmitri Gribenko2019-12-161-1/+1
| | | | | The docs didn't compile: http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/38906
* [llvm-objcopy][MachO] Implement --add-sectionSeiya Nuta2019-12-161-0/+3
| | | | | | | | | | | | Reviewers: alexshap, rupprecht, jhenderson Reviewed By: alexshap, jhenderson Subscribers: mgorny, jakehehrlich, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66283
* [llvm-dwarfdump][Statistics] Don't count coverage less than 1% as 0%Kristina Bessonova2019-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | Summary: This is a follow up for D70548. Currently, variables with debug info coverage between 0% and 1% are put into zero-bucket. D70548 changed the way statistics calculate a variable's coverage: we began to use enclosing scope rather than a possible variable life range. Thus more variables might be moved to zero-bucket despite they have some debug info coverage. The patch is to distinguish between a variable that has location info but it's significantly less than its enclosing scope and a variable that doesn't have it at all. Reviewers: djtodoro, aprantl, dblaikie, avl Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71070
* [llvm-dwarfdump][Statistics] Change the coverage buckets representation. NFCKristina Bessonova2019-12-131-12/+12
| | | | | | | | | | | | | | | | Summary: This changes the representation of 'coverage buckets' in llvm-dwarfdump and llvm-locstats to one that makes more clear what the buckets contain. See some related details in D71070. Reviewers: djtodoro, aprantl, cmtice, jhenderson Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71366
* [Docs] Fix target feature matrix for PowerPC and SystemZKai Nacke2019-12-131-4/+4
| | | | | | | | | | | | | | The target feature matrix in the code generator documentation is outdated. This PR fixes some entries for PowerPC and SystemZ. Both have: - assembly parser - disassembler - .o file writing Reviewers: uweigand Differential Revision: https://reviews.llvm.org/D71004
* [AMDGPU] AMDGPUUsage clarify address space information and other typo and ↵Tony2019-12-121-435/+476
| | | | | | | | | | | | | | | | | | formatting fixes Summary: - Clarify AMDGPU address spaces. - Correct path to AMDGPU backend since now in the mono-repo. - Fix numerous text style and typo issues. - Correct reStructure text formatting warnings. - Made reStructure directive usage more consistent. - Add references for gfx10 ISA specification. Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71392
* [Matrix] Add first set of matrix intrinsics and initial lowering pass.Florian Hahn2019-12-121-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first patch adding an initial set of matrix intrinsics and a corresponding lowering pass. This has been discussed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2019-October/136240.html The first patch introduces four new intrinsics (transpose, multiply, columnwise load and store) and a LowerMatrixIntrinsics pass, that lowers those intrinsics to vector operations. Matrixes are embedded in a 'flat' vector (e.g. a 4 x 4 float matrix embedded in a <16 x float> vector) and the intrinsics take the dimension information as parameters. Those parameters need to be ConstantInt. For the memory layout, we initially assume column-major, but in the RFC we also described how to extend the intrinsics to support row-major as well. For the initial lowering, we split the input of the intrinsics into a set of column vectors, transform those column vectors and concatenate the result columns to a flat result vector. This allows us to lower the intrinsics without any shape propagation, as mentioned in the RFC. In follow-up patches, we plan to submit the following improvements: * Shape propagation to eliminate the embedding/splitting for each intrinsic. * Fused & tiled lowering of multiply and other operations. * Optimization remarks highlighting matrix expressions and costs. * Generate loops for operations on large matrixes. * More general block processing for operation on large vectors, exploiting shape information. We would like to add dedicated transpose, columnwise load and store intrinsics, even though they are not strictly necessary. For example, we could instead emit a large shufflevector instruction instead of the transpose. But we expect that to (1) become unwieldy for larger matrixes (even for 16x16 matrixes, the resulting shufflevector masks would be huge), (2) risk instcombine making small changes, causing us to fail to detect the transpose, preventing better lowerings For the load/store, we are additionally planning on exploiting the intrinsics for better alias analysis. Reviewers: anemet, Gerolf, reames, hfinkel, andrew.w.kaylor, efriedma, rengolin Reviewed By: anemet Differential Revision: https://reviews.llvm.org/D70456
* [TableGen] Add bang-operators !getop and !setop.Simon Tatham2019-12-112-1/+30
| | | | | | | | | | | | | | | | | | | | | | Summary: These allow you to get and set the operator of a dag node, without affecting its list of arguments. `!getop` is slightly fiddly because in many contexts you need its return value to have a static type more specific than 'any record'. It works to say `!cast<BaseClass>(!getop(...))`, but it's cumbersome, so I made `!getop` take an optional type suffix itself, so that can be written as the shorter `!getop<BaseClass>(...)`. Reviewers: hfinkel, nhaehnle Reviewed By: nhaehnle Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71191
* [Docs] Improve SLP code snippetSanjay Patel2019-12-101-2/+4
| | | | | | | | New C code snippet is more viable for SLP vectorization in most architectures. Patch by: @lsandov1 (Leonardo Sandoval) Differential Revision: https://reviews.llvm.org/D70866
* Fix a few doc typos, to cycle bots.Nico Weber2019-12-081-6/+6
|
* [FPEnv] Constrained FCmp intrinsicsUlrich Weigand2019-12-071-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for constrained floating-point comparison intrinsics. Specifically, we add: declare <ty2> @llvm.experimental.constrained.fcmp(<type> <op1>, <type> <op2>, metadata <condition code>, metadata <exception behavior>) declare <ty2> @llvm.experimental.constrained.fcmps(<type> <op1>, <type> <op2>, metadata <condition code>, metadata <exception behavior>) The first variant implements an IEEE "quiet" comparison (i.e. we only get an invalid FP exception if either argument is a SNaN), while the second variant implements an IEEE "signaling" comparison (i.e. we get an invalid FP exception if either argument is any NaN). The condition code is implemented as a metadata string. The same set of predicates as for the fcmp instruction is supported (except for the "true" and "false" predicates). These new intrinsics are mapped by SelectionDAG codegen onto two new ISD opcodes, ISD::STRICT_FSETCC and ISD::STRICT_FSETCCS, again representing quiet vs. signaling comparison operations. Otherwise those nodes look like SETCC nodes, with an additional chain argument and result as usual for strict FP nodes. The patch includes support for the common legalization operations for those nodes. The patch also includes full SystemZ back-end support for the new ISD nodes, mapping them to all available SystemZ instruction to fully implement strict semantics (scalar and vector). Differential Revision: https://reviews.llvm.org/D69281
* [CommandLine] Add callbacks to OptionsDon Hinton2019-12-062-0/+28
| | | | | | | | | | | | | | | | | | | | | | Summary: Add a new cl::callback attribute to Option. This attribute specifies a callback function that is called when an option is seen, and can be used to set other options, as in option A implies option B. If the option is a `cl::list`, and `cl::CommaSeparated` is also specified, the callback will fire once for each value. This could be used to validate combinations or selectively set other options. Reviewers: beanz, thomasfinch, MaskRay, thopre, serge-sans-paille Reviewed By: beanz Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70620
* wrap an rst file to 80 cols, to cycle botsNico Weber2019-12-061-6/+8
|
* [llvm-readobj] - Implement --dependent-libraries flag.Georgii Rymar2019-12-061-0/+4
| | | | | | | | | | There is no way to dump SHT_LLVM_DEPENDENT_LIBRARIES sections currently. This patch implements this. The section is described here: https://llvm.org/docs/Extensions.html#sht-llvm-dependent-libraries-section-dependent-libraries Differential revision: https://reviews.llvm.org/D70665
* [lit] Document the undocumented pre-defined substitutionsDaniel Sanders2019-12-041-11/+32
|
* [LangRef] make per-element poison behavior explicitSanjay Patel2019-12-041-4/+10
| | | | | | | | | | | | | | | As discussed in D70246 and PR43958: https://bugs.llvm.org/show_bug.cgi?id=43958 The LangRef seems ambiguous about the behavior of poison with respect to vectors. We could go further with text and/or examples - suggestions welcome. Also, see discussion on llvm-dev; http://lists.llvm.org/pipermail/llvm-dev/2019-November/137243.html Differential Revision: https://reviews.llvm.org/D70641
* Revert "[Coverage] Revise format to reduce binary size"Vedant Kumar2019-12-041-59/+98
| | | | | | | | | | This reverts commit e18531595bba495946aa52c0a16b9f9238cff8bc. On Windows, there is an error: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/54963/steps/stage%201%20check/logs/stdio error: C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\test\profile\Profile-x86_64\Output\instrprof-merging.cpp.tmp.v1.o: Failed to load coverage: Malformed coverage data
* [Coverage] Revise format to reduce binary sizeVedant Kumar2019-12-041-98/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the coverage mapping format to reduce binary size by: 1. Naming function records and marking them `linkonce_odr`, and 2. Compressing filenames. This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB) and speeds up end-to-end single-threaded report generation by 10%. For reference the compressed name data in llc is 81MB (__llvm_prf_names). Rationale for changes to the format: - With the current format, most coverage function records are discarded. E.g., more than 97% of the records in llc are *duplicate* placeholders for functions visible-but-not-used in TUs. Placeholders *are* used to show under-covered functions, but duplicate placeholders waste space. - We reached general consensus about giving (1) a try at the 2017 code coverage BoF [1]. The thinking was that using `linkonce_odr` to merge duplicates is simpler than alternatives like teaching build systems about a coverage-aware database/module/etc on the side. - Revising the format is expensive due to the backwards compatibility requirement, so we might as well compress filenames while we're at it. This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB). See CoverageMappingFormat.rst for the details on what exactly has changed. Fixes PR34533 [2], hopefully. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html [2] https://bugs.llvm.org/show_bug.cgi?id=34533 Differential Revision: https://reviews.llvm.org/D69471
* Add discussion of git-format-patch to Phabricator.htmlKit Barton2019-12-032-1/+32
| | | | | | | | | | | | | | Summary: There is a discussion of git-format-patch in GettingStarted guide, but no mention of it in the Phabricator.html page. Reviewers: jyknight, delcypher Reviewed By: delcypher Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69323
* Recommit "[DWARF5]Addition of alignment atrribute in typedef DIE."Sourabh Singh Tomar2019-12-031-0/+10
| | | | | | | | | | | | | | | | This revision is revised to update Go-bindings and Release Notes. The original commit message follows. This patch, adds support for DW_AT_alignment[DWARF5] attribute, to be emitted with typdef DIE. When explicit alignment is specified. Patch by Awanish Pandey <Awanish.Pandey@amd.com> Reviewers: aprantl, dblaikie, jini.susan.george, SouraVX, alok, deadalinx Differential Revision: https://reviews.llvm.org/D70111
* [llvm-objcopy][MachO] Implement --dump-sectionSeiya Nuta2019-11-251-9/+12
| | | | | | | | | | | | Reviewers: alexshap, rupprecht, jhenderson Reviewed By: alexshap, rupprecht, jhenderson Subscribers: MaskRay, jakehehrlich, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66408
* [FileCheck] Make FILECHECK_OPTS useful for its test suiteJoel E. Denny2019-11-211-0/+7
| | | | | | | | | | | | | | | | | | | | Without this patch, `FILECHECK_OPTS` isn't propagated to FileCheck's test suite so that `FILECHECK_OPTS` doesn't inadvertently affect test results by affecting the output of FileCheck calls under test. As a result, `FILECHECK_OPTS` is useless for debugging FileCheck's test suite. In `llvm/test/FileCheck/lit.local.cfg`, this patch provides a new subsitution, `%ProtectFileCheckOutput`, to address this problem for both `FILECHECK_OPTS` and the deprecated `FILECHECK_DUMP_INPUT_ON_FAILURE`. The rest of the patch uses `%ProtectFileCheckOutput` throughout the test suite Fixes PR40284. Reviewed By: probinson, thopre Differential Revision: https://reviews.llvm.org/D65121
* Make coding standards document more inclusiveDmitri Gribenko2019-11-212-332/+180
| | | | | | | | | | | | Summary: Patch by Doug Gregor, Tres Popp, and Dmitri Gribenko. Reviewers: chandlerc Subscribers: hfinkel, bmcreusillet, arsenm, doug.gregor, mgrang, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69354
* [docs] Tiny rewording in the portability FAQ entryJosh Kunz2019-11-201-1/+1
| | | | The entry reads better with these two words swapped.
* [DebugInfo] Remove the DIFlagArgumentNotModified debug info flagDjordje Todorovic2019-11-201-7/+0
| | | | | | | Due to changes in D68206, we remove the DIFlagArgumentNotModified and its usage. Differential Revision: https://reviews.llvm.org/D68207
* [AMDGPU] add support for hostcall buffer pointer as hidden kernel argumentSameer Sahasrabuddhe2019-11-201-0/+10
| | | | | | | | | | | Hostcall is a service that allows a kernel to submit requests to the host using shared buffers, and block until a response is received. This will eventually replace the shared buffer currently used for printf, and repurposes the same hidden kernel argument. This change introduces a new ValueKind in the HSA metadata to represent the hostcall buffer. Differential Revision: https://reviews.llvm.org/D70038
* [FEnv] Fix AddingConstrainedIntrinsics.rst after ↵Fangrui Song2019-11-191-1/+1
| | | | llvmorg-10-init-10282-g0c50c0b0552
* [FEnv] File with properties of constrained intrinsicsSerge Pavlov2019-11-201-32/+31
| | | | | | | | | | | | | | | | | | Summary In several places we need to enumerate all constrained intrinsics or IR nodes that should be represented by them. It is easy to miss some of the cases. To make working with these intrinsics more convenient and robust, this change introduces file containing definitions of all constrained intrinsics and some of their properties. This file can be included to generate constrained intrinsics processing code. Reviewers: kpn, andrew.w.kaylor, cameron.mcinally, uweigand Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69887
* [docs] Remove dangling parenthesis from documentationTim Northover2019-11-191-1/+1
| | | | Patch by leiteg.
* [docs] Fix broken links in Kaleidoscope chapter 3Brian Gesiak2019-11-171-4/+4
| | | | | | | Several links in this document referred to `LangImpl4.html` or `LangImpl7.html`. However, now these pages use two digits, so for these links to function they need to be modified to `LangImpl04.html`, and so on -- note the extra `0`.
* [Docs] Remove stray :doc: directive.kristina2019-11-161-1/+1
|
* [Docs] Fix sphinx warning.kristina2019-11-161-1/+1
| | | | Fix sphinx warning over an ambigious reference.
* [Docs] Try fixing the tutorial toctreekristina2019-11-1612-27/+21
| | | | | | Unorphan the old tutorial and reference every page in the index explicitly. This should hopefully make Sphinx generate correct hyperlinks now.
* [Docs] Fix relative links in tutorial.kristina2019-11-165-22/+22
| | | | Update relative links in Kaleidoscope tutorial.
* [llvm-objcopy][MachO] Implement --remove-sectionSeiya Nuta2019-11-151-0/+3
| | | | | | | | | | | | Reviewers: alexshap, rupprecht, jhenderson Reviewed By: rupprecht, jhenderson Subscribers: jakehehrlich, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66282
* Document more specifically the rounding for "llvm.round".Kevin P. Neal2019-11-141-2/+2
| | | | Differential Revision: https://reviews.llvm.org/D68810
* Make the language more consistent since I'm about to commit a contentKevin P. Neal2019-11-141-12/+18
| | | | change next.
* Move CodeGenFileType enum to Support/CodeGen.hReid Kleckner2019-11-131-1/+1
| | | | | | | Avoids the need to include TargetMachine.h from various places just for an enum. Various other enums live here, such as the optimization level, TLS model, etc. Data suggests that this change probably doesn't matter, but it seems nice to have anyway.
* [llvm-objcopy][COFF] Implement --redefine-sym and --redefine-symsFangrui Song2019-11-121-13/+13
| | | | | | | | | | | | | The parsing error tests in ELF/redefine-symbols.test are not specific to ELF. Move them to redefine-symbols.test. Add COFF/redefine-symbols.test for COFF specific tests. Also fix the documentation regarding --redefine-syms: the old and new names are separated by whitespace, not an equals sign. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D70036
* docs: fix warning in LangRef parsingNuno Lopes2019-11-111-1/+1
|
* Docs: Updates Sphinx Quickstart template for new contributorsdrichards-872019-11-101-48/+55
|
* Try to fix sphinx "Could not lex literal_block as "llvm"" warning.Simon Pilgrim2019-11-091-2/+2
| | | | Code block isn't IR - so treat it as "none" instead.
* [www] More HTTPS and outdated link fixes.Stephan T. Lavavej2019-11-081-1/+1
| | | | Resolves D69981.
* [cmake] Remove LLVM_{BUILD,LINK}_LLVM_DYLIB options on WindowsTom Stellard2019-11-084-1/+8
| | | | | | | | | | | | | | Summary: The options aren't supported so they can be removed. Reviewers: beanz, smeenai, compnerd Reviewed By: compnerd Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69877
* [docs] Fix references to a renamed flag.Lang Hames2019-11-061-3/+3
| | | | | | | The -use-mcjit option was replaced with -jit-kind=mcjit a while back. This patch updates the docs to reflect that. Patch by Yu Jian. Thanks Jian!
* [globalisel][docs] Rework GMIR documentation and add an early GenericOpcode ↵Daniel Sanders2019-11-052-22/+38
| | | | | | | | | reference It looks like I pushed an older version of this commit without the review fixups earlier. This applies the review changes Differential Revision: https://reviews.llvm.org/D69545
OpenPOWER on IntegriCloud