summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* [docs] In the CMake primer, correct the description of the ARGV/ARGN variables.Lang Hames2017-08-241-5/+5
| | | | | | ARGN is the sublist of unnamed arguments, not the count of the arguments. llvm-svn: 311632
* Add ‘llvm.experimental.constrained.fma‘ Intrinsic.Wei Ding2017-08-241-0/+35
| | | | | | Differential Revision: http://reviews.llvm.org/D36335 llvm-svn: 311629
* Test commit.Pete Couperus2017-08-231-1/+1
| | | | | | Fix instrinsic -> intrinsic typo. llvm-svn: 311598
* Emit section information for extern variablesErich Keane2017-08-221-1/+9
| | | | | | | | | | Update IR generated to retain section information for external declarations. This is related to https://reviews.llvm.org/D36487 Patch By: eandrews Differential Revision: https://reviews.llvm.org/D36712 llvm-svn: 311459
* [Lexicon] Add "GEP"Brian Gesiak2017-08-181-0/+5
| | | | | | | | | | | | | Summary: `getelementptr` is frequently abbreviated as "GEP", often in source files that do not ever reference the full name of the instruction. Add it to the Lexicon, in case readers go to look for what it means there. Test plan: 1. `ninja sphinx` 2. Confirm that the rendered docs HTML contains the new "GEP" entry llvm-svn: 311168
* Refine report_fatal_error guidance after post-commit reviewAlex Bradbury2017-08-182-8/+10
| | | | | | | | | Use text suggested by Justin Bogner in post-commit review of r311146 <http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170814/479898.html>, which makes it clear that report_fatal_error shouldn't be used when there is a practicable alternative. Also make this clearer in CodingStandards. llvm-svn: 311147
* Give guidance on report_fatal_error in CodingStandards.rst and ↵Alex Bradbury2017-08-182-0/+13
| | | | | | | | | | | | | | | | | | | | | | | ProgrammersManual.rst The current ProgrammersManual.rst document has a lot of well-written documentation on error handling thanks to @lhames. It suggests errors can be split cleanly into "programmatic" and "recoverable" errors. However, the reality in current LLVM seems to be there are a number of cases where a non-programmatic error is not easily recoverable. Therefore, add a note to indicate the existence of report_fatal_error for these cases. I've also added a reminder to CodingStandards.rst in the section on assertions, to indicate that llvm_unreachable and assertions should not be relied upon to report errors triggered by user input. The ProgrammersManual is also silent on the use of LLVMContext::diagnose, which is used in BPF+WebAssembly+AMDGPU to report some errors during instruction selection. I don't address that in this patch, as it's not quite clear how to fit in to the current error handling story Differential Revision: https://reviews.llvm.org/D36826 llvm-svn: 311146
* [docs] Tweak phrasing of the varargs explanation in the command section of theLang Hames2017-08-171-6/+8
| | | | | | | | | | CMake primer. This moves the introduction of the ARGV/ARGN variables up to immmediately follow the introduction of the concept of variable argument functions, and explicitly connects this concept to C varargs functions. llvm-svn: 311113
* [docs] Fix typo and tweak wording of special variable handling in CMake primer.Lang Hames2017-08-171-5/+4
| | | | llvm-svn: 311112
* Reapply "[GlobalISel] Remove the GISelAccessor API."Quentin Colombet2017-08-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r310425, thus reapplying r310335 with a fix for link issue of the AArch64 unittests on Linux bots when BUILD_SHARED_LIBS is ON. Original commit message: [GlobalISel] Remove the GISelAccessor API. Its sole purpose was to avoid spreading around ifdefs related to building global-isel. Since r309990, GlobalISel is not optional anymore, thus, we can get rid of this mechanism all together. NFC. ---- The fix for the link issue consists in adding the GlobalISel library in the list of dependencies for the AArch64 unittests. This dependency comes from the use of AArch64Subtarget that needs to know how to destruct the GISel related APIs when being detroyed. Thanks to Bill Seurer and Ahmed Bougacha for helping me reproducing and understand the problem. llvm-svn: 310969
* Update AMDGPUUsage.rst documentation:Tony Tye2017-08-151-271/+315
| | | | | | | | | | | | 1. Correct description of the kernel initial state for FLAT_SCRATCH_INIT. 2. Add link to GFX9 architecture documentation. 3. Update product names. 4. Rename note record from NT_AMD_AMDGPU_METADATA to NT_AMD_AMDGPU_HSA_METADATA and move description to the AMDHSA coding convention section. 5. Minor typo corrections. Differential Revision: https://reviews.llvm.org/D36549 llvm-svn: 310954
* [ORC][Kaleidoscope] Update Chapter 1 of BuildingAJIT to incorporate recent ORCLang Hames2017-08-151-77/+100
| | | | | | API changes. llvm-svn: 310947
* [Doc] Update LangRef for new Module Flag BehaviorSteven Wu2017-08-151-0/+4
| | | | | | | | | | | | | | | | Summary: Add the documentation for the new module flag behavior. The new ModFlagBehavior is added in r303590. Reviewers: tejohnson Reviewed By: tejohnson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36557 llvm-svn: 310926
* Add strictfp attribute to prevent unwanted optimizations of libm callsAndrew Kaylor2017-08-141-0/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D34163 llvm-svn: 310885
* [llvm-cov] Add an option which maps the location of source directories on ↵Sean Eveson2017-08-141-0/+6
| | | | | | | | | | | | | | | | | | | another machine to your local copies Summary: This patch adds the -path-equivalence option (example: llvm-cov show -path-equivalence=/origin/path,/local/path) which maps the source code path from one machine to another when using `llvm-cov show`. This is similar to the -filename-equivalence option, but doesn't require you to specify all the source files on the command line. This allows you to generate the coverage data on one machine (e.g. in a CI system), and then use llvm-cov on another machine where you have the same code base on a different path. Reviewers: vsk Reviewed By: vsk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36391 llvm-svn: 310827
* Fix some minor typos in the llvm XRay exempleSylvestre Ledru2017-08-122-2/+2
| | | | llvm-svn: 310777
* [libFuzzer] recommend Clang Coverage for coverage visualizationKostya Serebryany2017-08-111-24/+4
| | | | llvm-svn: 310751
* Add documentation for llvm-pdbutil.Zachary Turner2017-08-112-0/+586
| | | | llvm-svn: 310744
* Update libFuzzer documentation for -fsanitize=fuzzer-no-link flagGeorge Karpenkov2017-08-111-1/+13
| | | | | | Differential Revision: https://reviews.llvm.org/D36602 llvm-svn: 310734
* [DebugCounter] Move the semicolon out of the DEBUG_COUNTER macro and require ↵Craig Topper2017-08-101-1/+1
| | | | | | | | | | it to be placed at the end of each use. This make it consistent with STATISTIC which it will often appears near. While there move one DEBUG_COUNTER instance out of an anonymous namespace. It's already declaring a static variable so the namespace is unnecessary. llvm-svn: 310637
* LangRef: Fix/improve cmpxchg wordingMatthias Braun2017-08-091-3/+3
| | | | llvm-svn: 310533
* [Docs] Remove a stray period from a code example in the Programmer's Manual.Craig Topper2017-08-091-1/+1
| | | | llvm-svn: 310520
* Revert "[GlobalISel] Remove the GISelAccessor API."Quentin Colombet2017-08-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r310115. It causes a linker failure for the one of the unittests of AArch64 on one of the linux bot: http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/3429 : && /home/fedora/gcc/install/gcc-7.1.0/bin/g++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -O2 -L/home/fedora/gcc/install/gcc-7.1.0/lib64 -Wl,-allow-shlib-undefined -Wl,-O3 -Wl,--gc-sections unittests/Target/AArch64/CMakeFiles/AArch64Tests.dir/InstSizes.cpp.o -o unittests/Target/AArch64/AArch64Tests lib/libLLVMAArch64CodeGen.so.6.0.0svn lib/libLLVMAArch64Desc.so.6.0.0svn lib/libLLVMAArch64Info.so.6.0.0svn lib/libLLVMCodeGen.so.6.0.0svn lib/libLLVMCore.so.6.0.0svn lib/libLLVMMC.so.6.0.0svn lib/libLLVMMIRParser.so.6.0.0svn lib/libLLVMSelectionDAG.so.6.0.0svn lib/libLLVMTarget.so.6.0.0svn lib/libLLVMSupport.so.6.0.0svn -lpthread lib/libgtest_main.so.6.0.0svn lib/libgtest.so.6.0.0svn -lpthread -Wl,-rpath,/home/buildbots/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib && : unittests/Target/AArch64/CMakeFiles/AArch64Tests.dir/InstSizes.cpp.o:(.toc+0x0): undefined reference to `vtable for llvm::LegalizerInfo' unittests/Target/AArch64/CMakeFiles/AArch64Tests.dir/InstSizes.cpp.o:(.toc+0x8): undefined reference to `vtable for llvm::RegisterBankInfo' The particularity of this bot is that it is built with BUILD_SHARED_LIBS=ON However, I was not able to reproduce the problem so far. Reverting to unblock the bot. llvm-svn: 310425
* AMDGPU: Also remove SI from docsKonstantin Zhuravlyov2017-08-081-2/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D36424 llvm-svn: 310335
* [GlobalISel] Remove the GISelAccessor API.Quentin Colombet2017-08-041-2/+0
| | | | | | | | | | Its sole purpose was to avoid spreading around ifdefs related to building global-isel. Since r309990, GlobalISel is not optional anymore, thus, we can get rid of this mechanism all together. NFC. llvm-svn: 310115
* [libFuzzer tests] Only enable libFuzzer tests ifGeorge Karpenkov2017-08-041-2/+1
| | | | | | -DLIBFUZZER_ENABLE_TESTS=ON is set. llvm-svn: 310100
* Port libFuzzer tests to LIT. Do not require two-stage build for check-fuzzer.George Karpenkov2017-08-041-3/+6
| | | | | | | | | | | | | | | | | | | | | This revision ports all libFuzzer tests apart from the unittest to LIT. The advantages of doing so include: - Tests being self-contained - Much easier debugging of a single test - No need for using a two-stage compilation The unit-test is still compiled using CMake, but it does not need a freshly built compiler. NOTE: The previous two-stage bot configuration will NOT work, as in the second stage build LLVM_USE_SANITIZER is set, which disables ASAN from being built. Thus bots will be reconfigured in the next few commits. Differential Revision: https://reviews.llvm.org/D36295 llvm-svn: 310075
* [llvm-cov] Respect the value of the -show-instantiations optionVedant Kumar2017-08-021-0/+1
| | | | | | | Make `-show-instantiations=false` actually skip displaying instantiation sub-views, instead of simply ignoring the option. llvm-svn: 309903
* Xray docs with description of Flight Data Recorder binary format.Keith Wyss2017-08-023-0/+405
| | | | | | | | | | | | | | | | | | | Summary: Adding a new restructuredText file to document the trace format produced with an FDR mode handler and read by llvm-xray toolset. Fixed two problems in the documentation from differential review. One bad table and a missing link in the toc. Original commit was e97c5836a77db803fe53319c53f3bf8e8b26d2b7. Reviewers: dberris, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36041 llvm-svn: 309891
* Revert "Xray docs with description of Flight Data Recorder binary format."Keith Wyss2017-08-022-397/+0
| | | | | | | | This reverts commit 3462b8ad41a840fd54dbbd0d3f2a514c5ad6f656. The docs-llvm-html target failed. llvm-svn: 309842
* Xray docs with description of Flight Data Recorder binary format.Keith Wyss2017-08-022-0/+397
| | | | | | | | | | | | | | Summary: Adding a new restructuredText file to document the trace format produced with an FDR mode handler and read by llvm-xray toolset. Reviewers: dberris, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36041 llvm-svn: 309836
* [llvm-cov] Allow specifying distinct architectures for each loaded binaryVedant Kumar2017-08-011-5/+6
| | | | | | | | | | | The coverage tool needs to know which slice to look at when it's handed a universal binary. Some projects need to look at aggregate coverage reports for a variety of slices in different binaries: this patch adds support for these kinds of projects to llvm-cov. rdar://problem/33579007 llvm-svn: 309747
* Add documentation for the attribute "no-jump-tables"Sumanth Gundapaneni2017-07-281-0/+3
| | | | llvm-svn: 309445
* Reword sentence in LangRefAdrian Prantl2017-07-281-2/+2
| | | | llvm-svn: 309431
* Remove the obsolete offset parameter from @llvm.dbg.valueAdrian Prantl2017-07-282-7/+6
| | | | | | | | | | | | There is no situation where this rarely-used argument cannot be substituted with a DIExpression and removing it allows us to simplify the DWARF backend. Note that this patch does not yet remove any of the newly dead code. rdar://problem/33580047 Differential Revision: https://reviews.llvm.org/D35951 llvm-svn: 309426
* [docs] change a few code-blocks to llvm from textNuno Lopes2017-07-262-7/+7
| | | | llvm-svn: 309117
* [docs] Fix a typo: iteratation -> iterationStephen Hines2017-07-251-1/+1
| | | | | | | | | | | | Reviewers: dgross Reviewed By: dgross Subscribers: dgross, llvm-commits Differential Revision: https://reviews.llvm.org/D35822 llvm-svn: 308994
* [libFuzzer] enable reduce_inputs=1 by default (seems to be a big win usually)Kostya Serebryany2017-07-191-0/+3
| | | | llvm-svn: 308541
* [docs] Document how to debug instruction scheduling model generationJoel Jones2017-07-191-0/+40
| | | | | | | | | | | | Describe: + Exact tablegen command and how to get it + tablegen command debug option for subtarget generation + Use of schedcover.py on the debug output to determine coverage Differential Revision: https://reviews.llvm.org/D35058 llvm-svn: 308476
* Clear release notes for 6.0.0Hans Wennborg2017-07-191-24/+5
| | | | llvm-svn: 308474
* Update trunk version to 6.0.0svnHans Wennborg2017-07-191-2/+2
| | | | llvm-svn: 308442
* fix typos in a document; NFCHiroshi Inoue2017-07-181-3/+3
| | | | llvm-svn: 308331
* [docs] AliasAnalysis: clarify that PartialAlias doesn't enforceNuno Lopes2017-07-151-1/+2
| | | | | | | | | objects to start at the same address As discussed on the ML, there's consensus that this is what the implementations do and it seems sensible. llvm-svn: 308090
* [lit] add a -vv option to echo all executed commands.George Karpenkov2017-07-131-0/+7
| | | | | | | | | | | | | | | | | | | Debugging LIT scripts can be rather painful, as LIT directly does not specify which line has failed. Rather, FileCheck is expected to report the failing location, but it can be often ambiguous if multiple commands are tested against the same prefix. This change adds a -vv option, which echoes all output. Then detecting the error becomes straightforward: last printed line is the failing one. Of course, it could be desired to try to get failing line number directly from bash, but it involves excessive hacks on older bash versions (cf. https://stackoverflow.com/questions/24398691/how-to-get-the-real-line-number-of-a-failing-bash-command) Differential Revision: https://reviews.llvm.org/D35330 llvm-svn: 307938
* Add element atomic memset intrinsicDaniel Neilson2017-07-121-0/+75
| | | | | | | | | | | | | | Summary: Continuing the work from https://reviews.llvm.org/D33240, this change introduces an element unordered-atomic memset intrinsic. This intrinsic is essentially memset with the implementation requirement that all stores used for the assignment are done with unordered-atomic stores of a given element size. Reviewers: eli.friedman, reames, mkazantsev, skatkov Reviewed By: reames Subscribers: jfb, dschuff, sbc100, jgravelle-google, aheejin, efriedma, llvm-commits Differential Revision: https://reviews.llvm.org/D34885 llvm-svn: 307854
* Add element atomic memmove intrinsicDaniel Neilson2017-07-121-0/+79
| | | | | | | | | | | | | | Summary: Continuing the work from https://reviews.llvm.org/D33240, this change introduces an element unordered-atomic memmove intrinsic. This intrinsic is essentially memmove with the implementation requirement that all loads/stores used for the copy are done with unordered-atomic loads/stores of a given element size. Reviewers: eli.friedman, reames, mkazantsev, skatkov Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34884 llvm-svn: 307796
* fix typo in document; NFCHiroshi Inoue2017-07-121-1/+1
| | | | llvm-svn: 307775
* Enhance synchscope representationKonstantin Zhuravlyov2017-07-111-35/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | OpenCL 2.0 introduces the notion of memory scopes in atomic operations to global and local memory. These scopes restrict how synchronization is achieved, which can result in improved performance. This change extends existing notion of synchronization scopes in LLVM to support arbitrary scopes expressed as target-specific strings, in addition to the already defined scopes (single thread, system). The LLVM IR and MIR syntax for expressing synchronization scopes has changed to use *syncscope("<scope>")*, where <scope> can be "singlethread" (this replaces *singlethread* keyword), or a target-specific name. As before, if the scope is not specified, it defaults to CrossThread/System scope. Implementation details: - Mapping from synchronization scope name/string to synchronization scope id is stored in LLVM context; - CrossThread/System and SingleThread scopes are pre-defined to efficiently check for known scopes without comparing strings; - Synchronization scope names are stored in SYNC_SCOPE_NAMES_BLOCK in the bitcode. Differential Revision: https://reviews.llvm.org/D21723 llvm-svn: 307722
* [ProfileData] Add new option to dump topn hottest functionsXinliang David Li2017-07-111-0/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D35155 llvm-svn: 307702
* [llvm-cov] Add a cl::opt to control the number of threadsVedant Kumar2017-07-111-0/+6
| | | | | | | | | | When an output directory is specified, llvm-cov spawns some threads to speed up the process of writing out file reports. Add an option which allows users to control how many threads llvm-cov uses. A CommandGuide.rst update + test is included. llvm-svn: 307609
OpenPOWER on IntegriCloud