summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Fix RST syntax in LangRef for llvm.codeview.annotation intrinsicReid Kleckner2017-09-051-1/+1
| | | | llvm-svn: 312571
* Add llvm.codeview.annotation to implement MSVC __annotationReid Kleckner2017-09-051-0/+21
| | | | | | | | | | | | | | | | | | Summary: This intrinsic represents a label with a list of associated metadata strings. It is modelled as reading and writing inaccessible memory so that it won't be removed as dead code. I think the intention is that the annotation strings should appear at most once in the debug info, so I marked it noduplicate. We are allowed to inline code with annotations as long as we strip the annotation, but that can be done later. Reviewers: majnemer Subscribers: eraman, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D36904 llvm-svn: 312569
* [Docs] Update CodingStandards to recommend range-based for loopsAlex Bradbury2017-08-311-11/+23
| | | | | | | | | | | | The CodingStandards section on avoiding the re-evaluation of end() hasn't been updated since range-based for loops were adopted in the LLVM codebase. This patch adds a very brief section that documents how range-based for loops should be used wherever possible. It also moves example code in CodingStandards to use range-based for loops and auto when appropriate. Differential Revision: https://reviews.llvm.org/D37264 llvm-svn: 312236
* [llvm-cov] Read in function names for filtering from a text file.Sean Eveson2017-08-311-0/+6
| | | | | | | | | | | | | | Summary: Add a -name-whitelist option, which behaves in the same way as -name, but it reads in multiple function names from the given input file(s). Reviewers: vsk Reviewed By: vsk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37111 llvm-svn: 312227
* docs: remove dead doxygen tarball linkHans Wennborg2017-08-301-1/+0
| | | | llvm-svn: 312142
* [cmake] Stop putting the revision info in LLVM_VERSION_STRINGReid Kleckner2017-08-291-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This reduces the number of build actions after a no-op commit from thousands to about six, which should be acceptable. If six actions is still too many, developers can disable the LLVM_APPEND_VC_REV cmake option. llvm-config.h is a widely included header that should rarely change. Before this patch, it would change after every re-configure. Very few users of llvm-config.h need to know the precise version, and those that do can migrate to incorporating LLVM_REVISION as provided by llvm/Support/VCSRevision.h. This should bring LLVM back to the behavior that it had before r306858 from June 30 2017. Most LLVM tools will now print a version string like "6.0.0svn" instead of "6.0.0-git-c40c2a23de4". Fixes PR34308 Reviewers: pcc, rafael, hans Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D37272 llvm-svn: 312043
* [docs] Fix Scudo documentation errorKostya Kortchinsky2017-08-291-3/+3
| | | | | | | | | | | | Summary: No Pygments lexer found for "none". Reviewers: flowerhack Reviewed By: flowerhack Differential Revision: https://reviews.llvm.org/D37270 llvm-svn: 312027
* Update Scudo allocator documentation.Kostya Kortchinsky2017-08-291-8/+11
| | | | | | | | | | | | | | Summary: QuarantineSizeMb is deprecated, and QuarantineChunksUpToSize has been added as a new tunable option. Reviewers: cryptoad Reviewed By: cryptoad Differential Revision: https://reviews.llvm.org/D37238 llvm-svn: 312025
* [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
OpenPOWER on IntegriCloud