aboutsummaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2017-09-28Docs: fix link to Debugger intrinsic functionsHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314420 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-25[docs] llvm-cov: Make docs for boolean options more consistentVedant Kumar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314176 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-25[GlobalISel] Update the documentation and comment for G_[UN]MERGE_VALUESQuentin Colombet
In r296921, we added the G_[UN]MERGE_VALUES node, but did not update the documentation. Fixing that. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314168 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-25[GlobalISel] Update the documentation for G_SEQUENCEQuentin Colombet
This instruction has been removed in r306120. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314167 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-25[GlobalISel] Update the documentation and comments for G_EXTRACTQuentin Colombet
In r297100, G_EXTRACT changed from a multiple results instruction to a single result one. Update the documentation accordingly. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314166 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-22Fixed broken links in docs.Ilya Biryukov
Replaced references to `llvm.org/klaus` with `git.llvm.org/klaus`. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314028 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-21Re-land r313825: "[IR] Add llvm.dbg.addr, a control-dependent version of ↵Reid Kleckner
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(); } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313905 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-21Revert r313825: "[IR] Add llvm.dbg.addr, a control-dependent version of ↵Daniel Jasper
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313876 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20Remove references to response file argument in CommandLine.rstDave Lee
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313830 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20[IR] Add llvm.dbg.addr, a control-dependent version of llvm.dbg.declareReid Kleckner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313825 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20[docs] llvm-cov: Document -show-instantiation-summaryVedant Kumar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313824 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313809 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20Revert "Introduce the llvm-cfi-verify tool (resubmission of D37937)."Vlad Tsyrklevich
This reverts commit r313798, it's causing buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313804 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313798 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20[docs] Make a note of LLVM_BUILD_INSTRUMENTED_COVERAGEVedant Kumar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313768 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19Revert "Introduce the llvm-cfi-verify tool."Vlad Tsyrklevich
This reverts commit r313688, it caused build failures for llvm-i686-linux-RA git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313689 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19Introduce the llvm-cfi-verify tool.Vlad Tsyrklevich
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313688 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19docs: Fix formatting in HowToReleaseLLVMTom Stellard
This is a follow up to r313608. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313609 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-19docs: Add instructions for how to submit a merge requestTom Stellard
Reviewers: hansw, hans Reviewed By: hans Subscribers: hans, llvm-commits Differential Revision: https://reviews.llvm.org/D37936 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313608 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-18[Coverage] Use gap regions to select better line exec countsVedant Kumar
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313597 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-18[libFuzzer] one more trophyKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313562 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-18[XRay][tools] Support tail-call exits before we write them in the runtimeDean Michael Berris
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313514 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-17[ORC][Kaleidoscope] Update ORCJit tutorial.Don Hinton
Summary: Fix a few typos and update names to match current source. Differential Revision: https://reviews.llvm.org/D37948 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313473 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-15Add a ReleaseNotes blurb for Execute.*Wait API changeAlexander Kornienko
... in r313155, r313156. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313356 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-13Fix a misleading phrase in the LangRefSanjoy Das
Reviewers: hfinkel, dberlin Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D37432 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313170 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-12Fix broken links to the Itanium CXX ABIVlad Tsyrklevich
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312985 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-06[docs] Add a note on iteration of unordered containers to coding standardsMandeep Singh Grang
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312667 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-05Fix RST syntax in LangRef for llvm.codeview.annotation intrinsicReid Kleckner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312571 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-05Add llvm.codeview.annotation to implement MSVC __annotationReid Kleckner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312569 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31[Docs] Update CodingStandards to recommend range-based for loopsAlex Bradbury
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312236 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31[llvm-cov] Read in function names for filtering from a text file.Sean Eveson
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312227 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-30docs: remove dead doxygen tarball linkHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312142 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-29[cmake] Stop putting the revision info in LLVM_VERSION_STRINGReid Kleckner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312043 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-29[docs] Fix Scudo documentation errorKostya Kortchinsky
Summary: No Pygments lexer found for "none". Reviewers: flowerhack Reviewed By: flowerhack Differential Revision: https://reviews.llvm.org/D37270 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312027 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-29Update Scudo allocator documentation.Kostya Kortchinsky
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312025 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-24[docs] In the CMake primer, correct the description of the ARGV/ARGN variables.Lang Hames
ARGN is the sublist of unnamed arguments, not the count of the arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311632 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-24Add ‘llvm.experimental.constrained.fma‘ Intrinsic.Wei Ding
Differential Revision: http://reviews.llvm.org/D36335 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311629 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-23Test commit.Pete Couperus
Fix instrinsic -> intrinsic typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311598 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-22Emit section information for extern variablesErich Keane
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311459 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-18[Lexicon] Add "GEP"Brian Gesiak
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311168 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-18Refine report_fatal_error guidance after post-commit reviewAlex Bradbury
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311147 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-18Give guidance on report_fatal_error in CodingStandards.rst and ↵Alex Bradbury
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311146 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-17[docs] Tweak phrasing of the varargs explanation in the command section of theLang Hames
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311113 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-17[docs] Fix typo and tweak wording of special variable handling in CMake primer.Lang Hames
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311112 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-15Reapply "[GlobalISel] Remove the GISelAccessor API."Quentin Colombet
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310969 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-15Update AMDGPUUsage.rst documentation:Tony Tye
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310954 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-15[ORC][Kaleidoscope] Update Chapter 1 of BuildingAJIT to incorporate recent ORCLang Hames
API changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310947 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-15[Doc] Update LangRef for new Module Flag BehaviorSteven Wu
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310926 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-14Add strictfp attribute to prevent unwanted optimizations of libm callsAndrew Kaylor
Differential Revision: https://reviews.llvm.org/D34163 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310885 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-14[llvm-cov] Add an option which maps the location of source directories on ↵Sean Eveson
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310827 91177308-0d34-0410-b5e6-96231b3b80d8