summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* Cosmetic change.Galina Kistanova2017-04-241-0/+1
| | | | llvm-svn: 301253
* Small addition on how to add a builder.Galina Kistanova2017-04-241-0/+1
| | | | llvm-svn: 301248
* Updates documentation for a syntax sugar libfuzzer flag,George Karpenkov2017-04-241-3/+9
| | | | | | as implemented in https://reviews.llvm.org/D32193 llvm-svn: 301217
* AMDGPU: Move trap lowering to DAGMatt Arsenault2017-04-241-3/+2
| | | | | | | | | | | Fixes traps in any block besides the entry block, and fixes depending on a live-in physical register by using a virtual register copy. Also happens to stop emitting a nop in the case debug trap is not supported. llvm-svn: 301206
* Testing commit credentialsGeorge Karpenkov2017-04-241-0/+1
| | | | llvm-svn: 301200
* Update documentation for the NetBSD targetKamil Rytarowski2017-04-221-0/+2
| | | | | | LLVM is known to work on NetBSD x86 32-bit and 64-bit. llvm-svn: 301081
* Fix formatting of constrained FP intrinsic documentationAndrew Kaylor2017-04-201-0/+2
| | | | llvm-svn: 300865
* Statepoint Docs: fix incorrect uses of it'sSanjoy Das2017-04-191-4/+6
| | | | llvm-svn: 300797
* Refresh the statepoint docs a bitPhilip Reames2017-04-191-59/+92
| | | | | | The documentation had gotten a bit stale. The revised one are by no means perfect, but I tried to remove the obvious incorrect or misleading statements. llvm-svn: 300782
* PR32382: Fix emitting complex DWARF expressions.Adrian Prantl2017-04-182-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DWARF specification knows 3 kinds of non-empty simple location descriptions: 1. Register location descriptions - describe a variable in a register - consist of only a DW_OP_reg 2. Memory location descriptions - describe the address of a variable 3. Implicit location descriptions - describe the value of a variable - end with DW_OP_stack_value & friends The existing DwarfExpression code is pretty much ignorant of these restrictions. This used to not matter because we only emitted very short expressions that we happened to get right by accident. This patch makes DwarfExpression aware of the rules defined by the DWARF standard and now chooses the right kind of location description for each expression being emitted. This would have been an NFC commit (for the existing testsuite) if not for the way that clang describes captured block variables. Based on how the previous code in LLVM emitted locations, DW_OP_deref operations that should have come at the end of the expression are put at its beginning. Fixing this means changing the semantics of DIExpression, so this patch bumps the version number of DIExpression and implements a bitcode upgrade. There are two major changes in this patch: I had to fix the semantics of dbg.declare for describing function arguments. After this patch a dbg.declare always takes the *address* of a variable as the first argument, even if the argument is not an alloca. When lowering a DBG_VALUE, the decision of whether to emit a register location description or a memory location description depends on the MachineLocation — register machine locations may get promoted to memory locations based on their DIExpression. (Future) optimization passes that want to salvage implicit debug location for variables may do so by appending a DW_OP_stack_value. For example: DBG_VALUE, [RBP-8] --> DW_OP_fbreg -8 DBG_VALUE, RAX --> DW_OP_reg0 +0 DBG_VALUE, RAX, DIExpression(DW_OP_deref) --> DW_OP_reg0 +0 All testcases that were modified were regenerated from clang. I also added source-based testcases for each of these to the debuginfo-tests repository over the last week to make sure that no synchronized bugs slip in. The debuginfo-tests compile from source and run the debugger. https://bugs.llvm.org/show_bug.cgi?id=32382 <rdar://problem/31205000> Differential Revision: https://reviews.llvm.org/D31439 llvm-svn: 300522
* Bitcode: Add a string table to the bitcode format.Peter Collingbourne2017-04-171-4/+38
| | | | | | | | | | | | | | | | | | | | | | | Add a top-level STRTAB block containing a string table blob, and start storing strings for module codes FUNCTION, GLOBALVAR, ALIAS, IFUNC and COMDAT in the string table. This change allows us to share names between globals and comdats as well as between modules, and improves the efficiency of loading bitcode files by no longer using a bit encoding for symbol names. Once we start writing the irsymtab to the bitcode file we will also be able to share strings between it and the module. On my machine, link time for Chromium for Linux with ThinLTO decreases by about 7% for no-op incremental builds or about 1% for full builds. Total bitcode file size decreases by about 3%. As discussed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2017-April/111732.html Differential Revision: https://reviews.llvm.org/D31838 llvm-svn: 300464
* [libFuzzer] more trophiesKostya Serebryany2017-04-141-0/+2
| | | | llvm-svn: 300366
* MIRLangRef: Add a section on simplifying .mir testsMatthias Braun2017-04-131-0/+47
| | | | | | Differential Revision: http://reviews.llvm.org/D32058 llvm-svn: 300282
* MIRLangRef: Simplify/update documentationMatthias Braun2017-04-131-15/+16
| | | | | | | | | | | - Refer to options by `-option` instead of `option` - Use `-mtriple=` instead of `-march` in the example (-march will still target the default operating system which is usually not what you want in a test) - Rephrase sentence because output does not go to stdout by default (you need -o - for that as should be expected). llvm-svn: 300268
* Remove more lies from the LangRef.George Burgess IV2017-04-131-3/+1
| | | | | | Same change as in r300168, but for invoke instead of call. llvm-svn: 300172
* Update the LangRef to reflect reality.George Burgess IV2017-04-131-3/+1
| | | | | | | | | | | | At the very least, we have CallInst::setIsNoInline() for adding the noinline attribute to callsites, and I'm told alwaysinline seems to work. Thought of adding "not all attributes are guaranteed to work here". If someone thinks that would be better (or has a better way of phrasing that, etc.), happy to add it. llvm-svn: 300168
* [InstCombine] fix wrong undef handling when converting select to shuffleSanjay Patel2017-04-121-3/+4
| | | | | | | | | | | | | As discussed in: https://bugs.llvm.org/show_bug.cgi?id=32486 ...the canonicalization of vector select to shufflevector does not hold up when undef elements are present in the condition vector. Try to make the undef handling clear in the code and the LangRef. Differential Revision: https://reviews.llvm.org/D31980 llvm-svn: 300092
* [LangRef] fix documentationPiotr Padlewski2017-04-121-0/+1
| | | | llvm-svn: 300050
* Invariant.group and mustalias docs fixesPiotr Padlewski2017-04-122-1/+11
| | | | | | | | | | | | | | | Summary: Alias analysis would like to know that invariant.group.barrier returns pointer that mustalias, but this can't imply that we can replace one pointer with another Reviewers: dberlin, sanjoy Subscribers: llvm-commits, chandlerc, hfinkel, nlewycky, amharc Differential Revision: https://reviews.llvm.org/D31758 llvm-svn: 300033
* Minor updates to floating point intrinsic documentationAndrew Kaylor2017-04-111-24/+21
| | | | llvm-svn: 299991
* Allow DataLayout to specify addrspace for allocas.Matt Arsenault2017-04-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | LLVM makes several assumptions about address space 0. However, alloca is presently constrained to always return this address space. There's no real way to avoid using alloca, so without this there is no way to opt out of these assumptions. The problematic assumptions include: - That the pointer size used for the stack is the same size as the code size pointer, which is also the maximum sized pointer. - That 0 is an invalid, non-dereferencable pointer value. These are problems for AMDGPU because alloca is used to implement the private address space, which uses a 32-bit index as the pointer value. Other pointers are 64-bit and behave more like LLVM's notion of generic address space. By changing the address space used for allocas, we can change our generic pointer type to be LLVM's generic pointer type which does have similar properties. llvm-svn: 299888
* [XRay][docs] Fix hyperlink to XRay docDean Michael Berris2017-04-061-3/+2
| | | | llvm-svn: 299624
* [coroutines] Add syntax coloring to examples in Coroutines.rstGor Nishanov2017-04-051-19/+19
| | | | | | | | Subscribers: EricWF Differential Revision: https://reviews.llvm.org/D31699 llvm-svn: 299517
* Change section flag character for SHF_LINK_ORDER to "o".Evgeniy Stepanov2017-04-041-3/+3
| | | | | | | | GAS uses "m" as a compatibility alias for "M" (SHF_MERGE). "o" is free, except on ia64, where it already means SHF_LINK_ORDER. llvm-svn: 299479
* Update stale doxygen links in ProgrammersManual.rstTim Northover2017-04-031-17/+17
| | | | | | Patch by Wei-Ren Chen. llvm-svn: 299395
* Fix LLVMBuild.txt typo. NFCJoel Jones2017-04-031-1/+1
| | | | llvm-svn: 299373
* Bitcode: Remove reader support for MODULE_CODE_PURGEVALS.Peter Collingbourne2017-04-031-10/+0
| | | | | | | | | | Support for writing this module code was removed in r73220, which was well before the LLVM 3.0 release, so we do not need to be able to understand it for backwards compatibility. Differential Revision: https://reviews.llvm.org/D31563 llvm-svn: 299370
* [XRay][docs] Add XRayExample to docindex.Dean Michael Berris2017-03-311-0/+1
| | | | llvm-svn: 299172
* [XRay][docs] Examples for how to use XRayDean Michael Berris2017-03-302-0/+277
| | | | | | | | | | | | | | | Summary: This document is an attempt at showing how XRay could be used to debug latency issues with LLVM tools, and how to use the llvm-xray tool to analyse XRay traces. Reviewers: echristo, mehdi_amini, davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31493 llvm-svn: 299133
* LangRef: Don't refer to a 'generic' address space.Matt Arsenault2017-03-301-2/+2
| | | | | | Consistently call this the default address space. llvm-svn: 299131
* Fix GettingStarted.rst statement.Rafael Espindola2017-03-291-1/+1
| | | | | | Patch by Wei-Ren Chen! llvm-svn: 298995
* [IR] Add AllowContract to FastMathFlagsAdam Nemet2017-03-281-0/+4
| | | | | | | | | | | | -ffp-contract=fast does not currently work with LTO because it's passed as a TargetOption to the backend rather than in the IR. This adds it to FastMathFlags. This is toward fixing PR25721 Differential Revision: https://reviews.llvm.org/D31164 llvm-svn: 298939
* Document how to fetch monorepo SVN revision notesReid Kleckner2017-03-241-6/+18
| | | | llvm-svn: 298733
* Document the status quo of DIExpression semantics in LangRef.rstAdrian Prantl2017-03-221-7/+20
| | | | llvm-svn: 298528
* Let llvm.objectsize be conservative with null pointersGeorge Burgess IV2017-03-211-7/+12
| | | | | | | | | | | This adds a parameter to @llvm.objectsize that makes it return conservative values if it's given null. This fixes PR23277. Differential Revision: https://reviews.llvm.org/D28494 llvm-svn: 298430
* Fix RST docs AttributeList heading underlineReid Kleckner2017-03-211-1/+1
| | | | llvm-svn: 298398
* Rename AttributeSet to AttributeListReid Kleckner2017-03-211-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This class is a list of AttributeSetNodes corresponding the function prototype of a call or function declaration. This class used to be called ParamAttrListPtr, then AttrListPtr, then AttributeSet. It is typically accessed by parameter and return value index, so "AttributeList" seems like a more intuitive name. Rename AttributeSetImpl to AttributeListImpl to follow suit. It's useful to rename this class so that we can rename AttributeSetNode to AttributeSet later. AttributeSet is the set of attributes that apply to a single function, argument, or return value. Reviewers: sanjoy, javed.absar, chandlerc, pete Reviewed By: pete Subscribers: pete, jholewinski, arsenm, dschuff, mehdi_amini, jfb, nhaehnle, sbc100, void, llvm-commits Differential Revision: https://reviews.llvm.org/D31102 llvm-svn: 298393
* Mention that the Sphinx docs build wants version 1.5 or laterJonathan Roelofs2017-03-201-1/+2
| | | | | | | `misc.highlighting_failure` support was added to `suppress_warnings` in that version, and the warnings-as-errors docs build relies on it. llvm-svn: 298277
* Fix docs-llvm-html build.Evgeniy Stepanov2017-03-171-1/+2
| | | | llvm-svn: 298163
* Add !associated metadata.Evgeniy Stepanov2017-03-171-0/+25
| | | | | | | | | | | | | | | | This is an ELF-specific thing that adds SHF_LINK_ORDER to the global's section pointing to the metadata argument's section. The effect of that is a reverse dependency between sections for the linker GC. !associated does not change the behavior of global-dce. The global may also need to be added to llvm.compiler.used. Since SHF_LINK_ORDER is per-section, !associated effectively enables fdata-sections for the affected globals, the same as comdats do. Differential Revision: https://reviews.llvm.org/D29104 llvm-svn: 298157
* Resubmit r297897: [PGO] Value profile for size of memory intrinsic callsRong Xu2017-03-161-0/+4
| | | | | | | R297897 inadvertently enabled annotation for memop profiling. This new patch fixed it. llvm-svn: 297996
* Revert "[PGO] Value profile for size of memory intrinsic calls"Eric Liu2017-03-161-4/+0
| | | | | | This commit reverts r297897 and r297909. llvm-svn: 297951
* [PGO] Value profile for size of memory intrinsic callsRong Xu2017-03-151-0/+4
| | | | | | | | | This patch adds the value profile support to profile the size parameter of memory intrinsic calls: memcpy, memcmp, and memmov. Differential Revision: http://reviews.llvm.org/D28965 llvm-svn: 297897
* Fix some indenting and line-wrapping issues identified in ProgrammersManual. ↵Daniel Berlin2017-03-131-26/+28
| | | | | | Make description of debugCounters a little clearer llvm-svn: 297656
* Add documentation on debug counters to Programmers Manual.Daniel Berlin2017-03-121-0/+63
| | | | | | | | | | Reviewers: mehdi_amini Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30842 llvm-svn: 297575
* Remove opt-bisect support for "cases" in favor of debug countersDaniel Berlin2017-03-111-9/+2
| | | | | | | | | | | | | | | | | | Summary: Ths "cases" support was not quite finished, is unused, and is really just debug counters. (well, almost, debug counters are slightly more powerful, in that they can skip things at the start, too). Note, opt-bisect itself could also be implemented as a wrapper around debug counters, but not sure it's worth it ATM. I'll shove it on a todo list if we think it is. Reviewers: MatzeB, chandlerc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30856 llvm-svn: 297542
* [FileCheck] Added --enable-var-scope option to enable scope for regex variables.Artem Belevich2017-03-091-0/+19
| | | | | | | | | | | | | If `--enable-var-scope` is in effect, variables with names that start with `$` are considered to be global. All other variables are local. All local variables get undefined at the beginning of each CHECK-LABEL block. Global variables are not affected by CHECK-LABEL. This makes it easier to ensure that individual tests are not affected by variables set in preceding tests. Differential Revision: https://reviews.llvm.org/D30749 llvm-svn: 297396
* [InstSimplify] vector div/rem with any zero element in divisor is undefSanjay Patel2017-03-091-7/+14
| | | | | | | | | | | This was suggested as a DAG simplification in the review for rL297026 : http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170306/435253.html ...but let's start with IR since we have actual docs for IR (LangRef). Differential Revision: https://reviews.llvm.org/D30665 llvm-svn: 297390
* [DebugInfo] Emit address space with DW_AT_address_class attribute for ↵Konstantin Zhuravlyov2017-03-081-10/+14
| | | | | | | | pointer and reference types Differential Revision: https://reviews.llvm.org/D29670 llvm-svn: 297320
* [DebugInfo] Make legal and emit DW_OP_swap and DW_OP_xderefKonstantin Zhuravlyov2017-03-081-0/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D29672 llvm-svn: 297247
OpenPOWER on IntegriCloud