summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* Add !callees metadataMatthew Simpson2017-10-161-0/+17
| | | | | | | | | This patch adds a new kind of metadata that indicates the possible callees of indirect calls. Differential Revision: https://reviews.llvm.org/D37354 llvm-svn: 315944
* Add base relative relocation record that can be used for the following case ↵Tony Tye2017-10-161-1/+8
| | | | | | | | | | | | | | (OpenCL example): static __global int Var = 0; __global int* Ptr[] = {&Var}; ... In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol. Differential Revision: https://reviews.llvm.org/D38909 llvm-svn: 315935
* AMDGPU: Add AMDGPU HSA Kernel DescriptorKonstantin Zhuravlyov2017-10-141-91/+113
| | | | | | | | | | - Update docs to match llvm coding style - Add missing FP16_OVFL bit for gfx9 - Fix the size of the kernel descriptor in the docs Differential Revision: https://reviews.llvm.org/D38902 llvm-svn: 315822
* AMDGPU: Bring HSA metadata on par with the specificationKonstantin Zhuravlyov2017-10-141-3/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D38753 llvm-svn: 315821
* Revert "lit.py: Add new %{shared_output(LABEL)} substitution"Jordan Rose2017-10-142-18/+11
| | | | | | | This reverts r315697 and my ill-fated attempts to fix it on Windows. I'll try again when I get access to a Windows machine. llvm-svn: 315793
* [llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler.Matt Morehouse2017-10-131-0/+7
| | | | | | | | | | | | | | Patch By: hctim Reviewers: morehouse, bogner Reviewed By: bogner Subscribers: bogner, kcc, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D38855 llvm-svn: 315716
* lit.py: Add new %{shared_output(LABEL)} substitutionJordan Rose2017-10-132-11/+18
| | | | | | | | | | | | This refers to a temporary path that can be shared across all tests, identified by a particular label. This can be used for things like caches. At the moment, the character set for the LABEL is limited to C identifier characters, plus '-', '+', '=', and '.'. This is the same set of characters currently allowed in REQUIRES clause identifiers. llvm-svn: 315697
* [FileCheck] regexp doc update/fixSjoerd Meijer2017-10-131-5/+6
| | | | | | | | | | Minor doc update that the FileCheck matcher supports POSIX ERE. It also fixes a minor issue in the regexp describing a variable name: underscores are allowed too. Differential Revision: https://reviews.llvm.org/D38787 llvm-svn: 315679
* docs: Improve wording on building for fuzzingJustin Bogner2017-10-131-3/+3
| | | | | | | | The original sentence didn't really make sense. Patch by Vedant Kumar. Thanks! llvm-svn: 315676
* docs: Improve the docs about llvm-isel-fuzzer on OSS FuzzJustin Bogner2017-10-131-4/+9
| | | | llvm-svn: 315651
* [llvm-isel-fuzzer] Use "--" as separator rather than '='.Matt Morehouse2017-10-131-1/+1
| | | | | | | | | | | | | | Summary: OSS-Fuzz doesn't support '=' in filenames. Reviewers: bogner, kcc Reviewed By: kcc Subscribers: javed.absar, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D38866 llvm-svn: 315647
* Re-commit "llvm-isel-fuzzer: Handle a subset of backend flags in the exec name"Justin Bogner2017-10-121-0/+7
| | | | | | | | | | | | | | | | | | Here we add a secondary option parser to llvm-isel-fuzzer (and provide it for use with other fuzzers). With this, you can copy the fuzzer to a name like llvm-isel-fuzzer=aarch64-gisel for a fuzzer that fuzzer AArch64 with GlobalISel enabled, or fuzzer=x86_64 to fuzz x86, with no flags required. This should be useful for running these in OSS-Fuzz. Note that this handrolls a subset of cl::opts to recognize, rather than embedding a complete command parser for argv[0]. If we find we really need the flexibility of handling arbitrary options at some point we can rethink this. This re-applies 315545 using "=" instead of ":" as a separator for arguments. llvm-svn: 315557
* Revert r315545 "llvm-isel-fuzzer: Handle a subset of backend flags in the ↵Hans Wennborg2017-10-121-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | executable name" It broke some tests on Windows: Failing Tests (4): LLVM :: tools/llvm-isel-fuzzer/execname-options.ll LLVM :: tools/llvm-isel-fuzzer/missing-triple.ll LLVM :: tools/llvm-isel-fuzzer/x86-empty-bc.ll LLVM :: tools/llvm-isel-fuzzer/x86-empty.ll > llvm-isel-fuzzer: Handle a subset of backend flags in the executable name > > Here we add a secondary option parser to llvm-isel-fuzzer (and provide > it for use with other fuzzers). With this, you can copy the fuzzer to > a name like llvm-isel-fuzzer:aarch64-gisel for a fuzzer that fuzzer > AArch64 with GlobalISel enabled, or fuzzer:x86_64 to fuzz x86, with no > flags required. This should be useful for running these in OSS-Fuzz. > > Note that this handrolls a subset of cl::opts to recognize, rather > than embedding a complete command parser for argv[0]. If we find we > really need the flexibility of handling arbitrary options at some > point we can rethink this. llvm-svn: 315554
* docs: Add some links to OSS FuzzJustin Bogner2017-10-121-2/+9
| | | | | | | I'd left a couple of stray links here in a previous commit rather than writing a paragraph. llvm-svn: 315550
* docs: Try to fix sphinx buildJustin Bogner2017-10-121-10/+15
| | | | llvm-svn: 315546
* llvm-isel-fuzzer: Handle a subset of backend flags in the executable nameJustin Bogner2017-10-121-0/+7
| | | | | | | | | | | | | | | Here we add a secondary option parser to llvm-isel-fuzzer (and provide it for use with other fuzzers). With this, you can copy the fuzzer to a name like llvm-isel-fuzzer:aarch64-gisel for a fuzzer that fuzzer AArch64 with GlobalISel enabled, or fuzzer:x86_64 to fuzz x86, with no flags required. This should be useful for running these in OSS-Fuzz. Note that this handrolls a subset of cl::opts to recognize, rather than embedding a complete command parser for argv[0]. If we find we really need the flexibility of handling arbitrary options at some point we can rethink this. llvm-svn: 315545
* docs: Add some information about Fuzzing LLVM itselfJustin Bogner2017-10-123-65/+232
| | | | | | | This splits some content out of the libFuzzer docs and adds a fair amount of detail about the fuzzers in LLVM. llvm-svn: 315544
* [AMDGPU] Lower enqueued blocks and generate runtime metadataYaxun Liu2017-10-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | This patch adds a post-linking pass which replaces the function pointer of enqueued block kernel with a global variable (runtime handle) and adds runtime-handle attribute to the enqueued block kernel. In LLVM CodeGen the runtime-handle metadata will be translated to RuntimeHandle metadata in code object. Runtime allocates a global buffer for each kernel with RuntimeHandel metadata and saves the kernel address required for the AQL packet into the buffer. __enqueue_kernel function in device library knows that the invoke function pointer in the block literal is actually runtime handle and loads the kernel address from it and puts it into AQL packet for dispatching. This cannot be done in FE since FE cannot create a unique global variable with external linkage across LLVM modules. The global variable with internal linkage does not work since optimization passes will try to replace loads of the global variable with its initialization value. Differential Revision: https://reviews.llvm.org/D38610 llvm-svn: 315352
* llvm-dwarfdump: Add an option to collect debug info quality metrics.Adrian Prantl2017-10-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the last LLVM dev meeting we had a debug info for optimized code BoF session. In that session I presented some graphs that showed how the quality of the debug info produced by LLVM changed over the last couple of years. This is a cleaned up version of the patch I used to collect the this data. It is implemented as an extension of llvm-dwarfdump, adding a new --statistics option. The intended use-case is to automatically run this on the debug info produced by, e.g., our bots, to identify eyebrow-raising changes or regressions introduced by new transformations that we could act on. In the current form, two kinds of data are being collected: - The number of variables that have a debug location versus the number of variables in total (this takes into account inlined instances of the same function, so if a variable is completely missing form only one instance it will be found). - The PC range covered by variable location descriptions versus the PC range of all variables' containing lexical scopes. The output format is versioned and extensible, so I'm looking forward to both bug fixes and ideas for other data that would be interesting to track. Differential Revision: https://reviews.llvm.org/D36627 llvm-svn: 315101
* Add a manpage for llvm-dwarfdump.Adrian Prantl2017-10-032-11/+119
| | | | llvm-svn: 314863
* AMDGPU/Docs: Follow up on review feedback in https://reviews.llvm.org/D38387Konstantin Zhuravlyov2017-10-031-2/+2
| | | | llvm-svn: 314848
* AMDGPU: Add ELFOSABI_AMDGPU_MESA3DKonstantin Zhuravlyov2017-10-031-12/+22
| | | | | | Differential Revision: https://reviews.llvm.org/D38387 llvm-svn: 314846
* AMDGPU: Add ELFOSABI_AMDGPU_PALKonstantin Zhuravlyov2017-10-031-12/+26
| | | | llvm-svn: 314843
* Docs: fix link to Debugger intrinsic functionsHans Wennborg2017-09-281-2/+2
| | | | llvm-svn: 314420
* [docs] llvm-cov: Make docs for boolean options more consistentVedant Kumar2017-09-251-8/+9
| | | | llvm-svn: 314176
* [GlobalISel] Update the documentation and comment for G_[UN]MERGE_VALUESQuentin Colombet2017-09-251-0/+5
| | | | | | | | | In r296921, we added the G_[UN]MERGE_VALUES node, but did not update the documentation. Fixing that. NFC. llvm-svn: 314168
* [GlobalISel] Update the documentation for G_SEQUENCEQuentin Colombet2017-09-251-2/+0
| | | | | | | | This instruction has been removed in r306120. NFC. llvm-svn: 314167
* [GlobalISel] Update the documentation and comments for G_EXTRACTQuentin Colombet2017-09-251-1/+1
| | | | | | | | | In r297100, G_EXTRACT changed from a multiple results instruction to a single result one. Update the documentation accordingly. NFC. llvm-svn: 314166
* Fixed broken links in docs.Ilya Biryukov2017-09-222-2/+2
| | | | | | Replaced references to `llvm.org/klaus` with `git.llvm.org/klaus`. llvm-svn: 314028
* Re-land r313825: "[IR] Add llvm.dbg.addr, a control-dependent version of ↵Reid Kleckner2017-09-211-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | llvm.dbg.declare" The fix is to avoid invalidating our insertion point in replaceDbgDeclare: Builder.insertDeclare(NewAddress, DIVar, DIExpr, Loc, InsertBefore); + if (DII == InsertBefore) + InsertBefore = &*std::next(InsertBefore->getIterator()); DII->eraseFromParent(); I had to write a unit tests for this instead of a lit test because the use list order matters in order to trigger the bug. The reduced C test case for this was: void useit(int*); static inline void inlineme() { int x[2]; useit(x); } void f() { inlineme(); inlineme(); } llvm-svn: 313905
* Revert r313825: "[IR] Add llvm.dbg.addr, a control-dependent version of ↵Daniel Jasper2017-09-211-47/+15
| | | | | | | | | | | llvm.dbg.declare" .. as well as the two subsequent changes r313826 and r313875. This leads to segfaults in combination with ASAN. Will forward repro instructions to the original author (rnk). llvm-svn: 313876
* Remove references to response file argument in CommandLine.rstDave Lee2017-09-201-8/+4
| | | | | | | | | | | | | | | | | Summary: The documentation refers to a boolean that controls whether response files are handled, but this is incorrect. Since r165535, response files are always enabled. Reviewers: compnerd, rafael Reviewed By: compnerd Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38095 llvm-svn: 313830
* [IR] Add llvm.dbg.addr, a control-dependent version of llvm.dbg.declareReid Kleckner2017-09-201-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This implements the design discussed on llvm-dev for better tracking of variables that live in memory through optimizations: http://lists.llvm.org/pipermail/llvm-dev/2017-September/117222.html This is tracked as PR34136 llvm.dbg.addr is intended to be produced and used in almost precisely the same way as llvm.dbg.declare is today, with the exception that it is control-dependent. That means that dbg.addr should always have a position in the instruction stream, and it will allow passes that optimize memory operations on local variables to insert llvm.dbg.value calls to reflect deleted stores. See SourceLevelDebugging.rst for more details. The main drawback to generating DBG_VALUE machine instrs is that they usually cause LLVM to emit a location list for DW_AT_location. The next step will be to teach DwarfDebug.cpp how to recognize more DBG_VALUE ranges as not needing a location list, and possibly start setting DW_AT_start_offset for variables whose lifetimes begin mid-scope. Reviewers: aprantl, dblaikie, probinson Subscribers: eraman, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D37768 llvm-svn: 313825
* [docs] llvm-cov: Document -show-instantiation-summaryVedant Kumar2017-09-201-0/+4
| | | | llvm-svn: 313824
* Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich2017-09-202-1/+96
| | | | | | | | | | | | | | | | Summary: Resubmission of D37937. Fixed i386 target building (conversion from std::size_t& to uint64_t& failed). Fixed documentation warning failure about docs/CFIVerify.rst not being in the tree. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Patch by Mitch Phillips Subscribers: sbc100, mgorny, pcc, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38089 llvm-svn: 313809
* Revert "Introduce the llvm-cfi-verify tool (resubmission of D37937)."Vlad Tsyrklevich2017-09-202-96/+1
| | | | | | This reverts commit r313798, it's causing buildbot failures. llvm-svn: 313804
* Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich2017-09-202-1/+96
| | | | | | | | | | | | | | | | Summary: Resubmission of D37937. Fixed i386 target building (conversion from std::size_t& to uint64_t& failed). Fixed documentation warning failure about docs/CFIVerify.rst not being in the tree. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Patch by Mitch Phillips Subscribers: mgorny, pcc, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38089 llvm-svn: 313798
* [docs] Make a note of LLVM_BUILD_INSTRUMENTED_COVERAGEVedant Kumar2017-09-201-0/+5
| | | | llvm-svn: 313768
* Revert "Introduce the llvm-cfi-verify tool."Vlad Tsyrklevich2017-09-191-88/+0
| | | | | | | This reverts commit r313688, it caused build failures for llvm-i686-linux-RA llvm-svn: 313689
* Introduce the llvm-cfi-verify tool.Vlad Tsyrklevich2017-09-191-0/+88
| | | | | | | | | | | | | | | | Summary: Introduces the llvm-cfi-verify tool to llvm. Includes the design document (docs/CFIVerify.rst). Current implementation of the tool is simply a disassembler that identifies and prints the indirect control flow instructions. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Patch by Mitch Phillips Subscribers: llvm-commits, kcc, pcc, mgorny Differential Revision: https://reviews.llvm.org/D37937 llvm-svn: 313688
* docs: Fix formatting in HowToReleaseLLVMTom Stellard2017-09-191-8/+8
| | | | | | This is a follow up to r313608. llvm-svn: 313609
* docs: Add instructions for how to submit a merge requestTom Stellard2017-09-191-0/+22
| | | | | | | | | | | | Reviewers: hansw, hans Reviewed By: hans Subscribers: hans, llvm-commits Differential Revision: https://reviews.llvm.org/D37936 llvm-svn: 313608
* [Coverage] Use gap regions to select better line exec countsVedant Kumar2017-09-181-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | After clang started emitting deferred regions (r312818), llvm-cov has had a hard time picking reasonable line execuction counts. There have been one or two generic improvements in this area (e.g r310012), but line counts can still report coverage for whitespace instead of code (llvm.org/PR34612). To fix the problem: * Introduce a new region kind so that frontends can explicitly label gap areas. This is done by changing the encoding of the columnEnd field of MappingRegion. This doesn't substantially increase binary size, and makes it easy to maintain backwards-compatibility. * Don't set the line count to a count from a gap area, unless the count comes from a wrapped segment. * Don't highlight gap areas as uncovered. Fixes llvm.org/PR34612. llvm-svn: 313597
* [libFuzzer] one more trophyKostya Serebryany2017-09-181-0/+2
| | | | llvm-svn: 313562
* [XRay][tools] Support tail-call exits before we write them in the runtimeDean Michael Berris2017-09-181-1/+1
| | | | | | | | | | | | | | | | | Summary: This change adds support for explicit tail-exit records to be written by the XRay runtime. This lets us differentiate the tail exit records/events in the log, and allows us to treat those exit events especially in the future. For now we allow printing those out in YAML (and reading them in). Reviewers: kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37964 llvm-svn: 313514
* [ORC][Kaleidoscope] Update ORCJit tutorial.Don Hinton2017-09-175-102/+101
| | | | | | | | Summary: Fix a few typos and update names to match current source. Differential Revision: https://reviews.llvm.org/D37948 llvm-svn: 313473
* Add a ReleaseNotes blurb for Execute.*Wait API changeAlexander Kornienko2017-09-151-0/+4
| | | | | | ... in r313155, r313156. llvm-svn: 313356
* Fix a misleading phrase in the LangRefSanjoy Das2017-09-131-2/+5
| | | | | | | | | | Reviewers: hfinkel, dberlin Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D37432 llvm-svn: 313170
* Fix broken links to the Itanium CXX ABIVlad Tsyrklevich2017-09-123-4/+4
| | | | llvm-svn: 312985
* [docs] Add a note on iteration of unordered containers to coding standardsMandeep Singh Grang2017-09-061-0/+15
| | | | | | | | | | | | | | Summary: Beware of non-determinism due to ordering of pointers Reviewers: dblaikie, dexonsmith Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37525 llvm-svn: 312667
OpenPOWER on IntegriCloud