summaryrefslogtreecommitdiffstats
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* [docs] As of binutils 2.21.51.0.2, ld.bfd supports plugins too, represent ↵Ekaterina Vaartis2017-06-231-11/+9
| | | | | | | | | | this in docs PR#32760 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306102 91177308-0d34-0410-b5e6-96231b3b80d8
* Define behavior of "stack-probe-size" attribute when inlining.whitequark2017-06-221-0/+15
| | | | | | | | | | Also document the attribute, since "probe-stack" already is. Reviewed By: majnemer Differential Revision: https://reviews.llvm.org/D34528 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306069 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a "probe-stack" attributewhitequark2017-06-211-0/+13
| | | | | | | | | | | | | This attribute is used to ensure the guard page is triggered on stack overflow. Stack frames larger than the guard page size will generate a call to __probestack to touch each page so the guard page won't be skipped. Reviewed By: majnemer Differential Revision: https://reviews.llvm.org/D34386 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305939 91177308-0d34-0410-b5e6-96231b3b80d8
* [Doc] Fix getelementptr description about argumentsDavid Blaikie2017-06-192-13/+13
| | | | | | | | | | | | | | | | | Section "Arguments" of `getelementptr` [1] says the first argument is a type, the second argument is a pointer or a vector of pointers, and is the base address to start from. Update `getelementptr` FAQ [2] accordingly, based on discussion with David on the mailing list [3]. [1] http://llvm.org/docs/LangRef.html#getelementptr-instruction [2] http://llvm.org/docs/GetElementPtr.html [3] http://lists.llvm.org/pipermail/llvm-dev/2017-June/114294.html Patch by Wei-Ren Chen! Differential Revision: https://reviews.llvm.org/D34325 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305662 91177308-0d34-0410-b5e6-96231b3b80d8
* [Atomics] Rename and change prototype for atomic memcpy intrinsicDaniel Neilson2017-06-161-33/+37
| | | | | | | | | | | | | | | | | | Summary: Background: http://lists.llvm.org/pipermail/llvm-dev/2017-May/112779.html This change is to alter the prototype for the atomic memcpy intrinsic. The prototype itself is being changed to more closely resemble the semantics and parameters of the llvm.memcpy intrinsic -- to ease later combination of the llvm.memcpy and atomic memcpy intrinsics. Furthermore, the name of the atomic memcpy intrinsic is being changed to make it clear that it is not a generic atomic memcpy, but specifically a memcpy is unordered atomic. Reviewers: reames, sanjoy, efriedma Reviewed By: reames Subscribers: mzolotukhin, anna, llvm-commits, skatkov Differential Revision: https://reviews.llvm.org/D33240 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305558 91177308-0d34-0410-b5e6-96231b3b80d8
* docs/Phabricator: Better git examples to produce full context patchesMatthias Braun2017-06-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305515 91177308-0d34-0410-b5e6-96231b3b80d8
* [Doc] Document prof metadata in LangRefTeresa Johnson2017-06-152-0/+80
| | | | | | | | | | | | | | Summary: Points to existing documentation for branch_weights and function_entry_count, and adds an example for VP value profile metadata. Reviewers: davidxl, reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34218 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305475 91177308-0d34-0410-b5e6-96231b3b80d8
* Align definition of DW_OP_plus with DWARF spec [3/3]Florian Hahn2017-06-141-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is part of 3 patches that together form a single patch, but must be introduced in stages in order not to break things. The way that LLVM interprets DW_OP_plus in DIExpression nodes is basically that of the DW_OP_plus_uconst operator since LLVM expects an unsigned constant operand. This unnecessarily restricts the DW_OP_plus operator, preventing it from being used to describe the evaluation of runtime values on the expression stack. These patches try to align the semantics of DW_OP_plus and DW_OP_minus with that of the DWARF definition, which pops two elements off the expression stack, performs the operation and pushes the result back on the stack. This is done in three stages: • The first patch (LLVM) adds support for DW_OP_plus_uconst. • The second patch (Clang) contains changes all its uses from DW_OP_plus to DW_OP_plus_uconst. • The third patch (LLVM) changes the semantics of DW_OP_plus and DW_OP_minus to be in line with its DWARF meaning. This patch includes the bitcode upgrade from legacy DIExpressions. Patch by Sander de Smalen. Reviewers: echristo, pcc, aprantl Reviewed By: aprantl Subscribers: fhahn, javed.absar, aprantl, llvm-commits Differential Revision: https://reviews.llvm.org/D33894 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305386 91177308-0d34-0410-b5e6-96231b3b80d8
* Align definition of DW_OP_plus with DWARF spec [1/3]Florian Hahn2017-06-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is part of 3 patches that together form a single patch, but must be introduced in stages in order not to break things. The way that LLVM interprets DW_OP_plus in DIExpression nodes is basically that of the DW_OP_plus_uconst operator since LLVM expects an unsigned constant operand. This unnecessarily restricts the DW_OP_plus operator, preventing it from being used to describe the evaluation of runtime values on the expression stack. These patches try to align the semantics of DW_OP_plus and DW_OP_minus with that of the DWARF definition, which pops two elements off the expression stack, performs the operation and pushes the result back on the stack. This is done in three stages: • The first patch (LLVM) adds support for DW_OP_plus_uconst. • The second patch (Clang) contains changes all its uses from DW_OP_plus to DW_OP_plus_uconst. • The third patch (LLVM) changes the semantics of DW_OP_plus and DW_OP_minus to be in line with its DWARF meaning. This patch includes the bitcode upgrade from legacy DIExpressions. Patch by Sander de Smalen. Reviewers: pcc, echristo, aprantl Reviewed By: aprantl Subscribers: fhahn, aprantl, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D33892 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305304 91177308-0d34-0410-b5e6-96231b3b80d8
* [Lexicon] Add GVNBrian Gesiak2017-06-131-0/+7
| | | | | | | | | | | | | | Summary: Add a lexicon entry for global value numbering. Reviewers: davide, majnemer Reviewed By: davide Subscribers: llvm-commits, inouehrs Differential Revision: https://reviews.llvm.org/D33664 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305270 91177308-0d34-0410-b5e6-96231b3b80d8
* Update LangRef for PR27284.Adrian Prantl2017-06-121-14/+14
| | | | | | And reverse the ownership between DICompileUnit and DISubprogram. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305254 91177308-0d34-0410-b5e6-96231b3b80d8
* IR: Replace the "Linker Options" module flag with "llvm.linker.options" ↵Peter Collingbourne2017-06-121-34/+31
| | | | | | | | | | named metadata. The new metadata is easier to manipulate than module flags. Differential Revision: https://reviews.llvm.org/D31349 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305227 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename llvm-pdbdump -> llvm-pdbutil.Zachary Turner2017-06-091-0/+4
| | | | | | | | | | This is to reflect the evolving nature of the tool as being useful for more than just dumping PDBs, as it can do many other things. Differential Revision: https://reviews.llvm.org/D34062 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305106 91177308-0d34-0410-b5e6-96231b3b80d8
* Update release notes for BinaryFormat library.Zachary Turner2017-06-081-0/+7
| | | | | | Differential Revision: https://reviews.llvm.org/D34001 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304995 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct AMDGPU Hawaii and Kabini target namesTony Tye2017-06-081-3/+3
| | | | | | | | | The FirePro and Radeon versions of Hawaii have different 64 bit floating point configurations so use distinct target names for them. Rename the target name for Kabini to accommodate. Differential Revision: https://reviews.llvm.org/D34016 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304959 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to work around possible bugs in version of Shpinx on buildserver.Tony Tye2017-06-071-6/+6
| | | | | | | | | Builds sucessfully with Sphinx v1.5.5 Differential Revision: https://reviews.llvm.org/D33736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304853 91177308-0d34-0410-b5e6-96231b3b80d8
* Add documentation for various aspects of the AMDGPU backend.Tony Tye2017-06-071-1/+1
| | | | | | | | | | Remove extra tabs. Builds sucessfully with Sphinx v1.5.5 Differential Revision: https://reviews.llvm.org/D33736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304848 91177308-0d34-0410-b5e6-96231b3b80d8
* Add documentation for various aspects of the AMDGPU backend.Tony Tye2017-06-064-172/+3468
| | | | | | | Differential Revision: https://reviews.llvm.org/D33736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304831 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Make it clear shifts yield poison when shift amount >= bitwidthNuno Lopes2017-06-061-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some InstCombine optimizations already rely on the result being poison rather than undef. For example, the following rewrite is wrong if undef is used: ; (1 << Y) * X -> X << Y %Op0 = shl 1, %Y %r = mul %Op0, %Op1 => %r = shl %Op1, %Y ERROR: Mismatch in values for i4 %r Example: i4 %Y = 0x8 (8, -8) i4 %Op0 = 0x0 (0) i4 %Op1 = 0x0 (0) source: 0x0 (0) target: 0x1 (1) The optimization is correct if poison is returned instead: http://rise4fun.com/Alive/ygX Differential Revision: https://reviews.llvm.org/D33654 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304780 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Update name of vectorization interleave flag.Eli Friedman2017-05-311-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304370 91177308-0d34-0410-b5e6-96231b3b80d8
* [Docs] Add VectorizationPlan to docs/Proposals.Ayal Zaks2017-05-293-0/+196
| | | | | | | | | Following the request made in https://reviews.llvm.org/D32871, the general documentation of the Vectorization Plan is hereby placed under docs/Proposals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304161 91177308-0d34-0410-b5e6-96231b3b80d8
* Add constrained intrinsics for some libm-equivalent operationsAndrew Kaylor2017-05-251-5/+460
| | | | | | | | Differential revision: https://reviews.llvm.org/D32319 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303922 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the documentation and CMake file for Visual Studio generators.Aaron Ballman2017-05-251-0/+4
| | | | | | By default, CMake uses a 32-bit toolchain, even when on a 64-bit platform targeting a 64-bit build. However, due to the size of the binaries involved, this can cause linker instabilities (such as the linker running out of memory). Guide people to the correct solution to get CMake to use the native toolchain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303912 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an obsolete paragraph in LangRef.Adrian Prantl2017-05-251-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303896 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some tips on benchmarking.Rafael Espindola2017-05-242-0/+88
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303769 91177308-0d34-0410-b5e6-96231b3b80d8
* [LV] Report multiple reasons for not vectorizing under allowExtraAnalysisAyal Zaks2017-05-231-1/+3
| | | | | | | | | | | | | | | | | | | | | The default behavior of -Rpass-analysis=loop-vectorizer is to report only the first reason encountered for not vectorizing, if one is found, at which time the vectorizer aborts its handling of the loop. This patch allows multiple reasons for not vectorizing to be identified and reported, at the potential expense of additional compile-time, under allowExtraAnalysis which can currently be turned on by Clang's -fsave-optimization-record and opt's -pass-remarks-missed. Removed from LoopVectorizationLegality::canVectorize() the redundant checking and reporting if we CantComputeNumberOfIterations, as LAI::canAnalyzeLoop() also does that. This redundancy is caught by a lit test once multiple reasons are reported. Patch initially developed by Dror Barak. Differential Revision: https://reviews.llvm.org/D33396 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303613 91177308-0d34-0410-b5e6-96231b3b80d8
* [Docs] Fix LangRef links referred in GetElementPtr.rstGeorge Burgess IV2017-05-211-5/+7
| | | | | | | | | Patch by chenwj! Differential Revision: https://reviews.llvm.org/D32929 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303499 91177308-0d34-0410-b5e6-96231b3b80d8
* Docs: Fix pluralization in CMake docsDuncan P. N. Exon Smith2017-05-201-2/+2
| | | | | | | Fixed "most platform" to read "most platforms", and changed "are not using the same" to "use different" as a drive-by. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303487 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Small style nits.George Burgess IV2017-05-201-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303486 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix git command line in the Getting Started guide.Rui Ueyama2017-05-151-1/+1
| | | | | | | By default, git creates "llvm-project-20170507" directory, but we want to create "llvm-project" directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303124 91177308-0d34-0410-b5e6-96231b3b80d8
* [Doc] Document "Splat" in the lexiconSanjay Patel2017-05-121-0/+8
| | | | | | | | | Patch by Wei-Ren Chen (陳韋任)! Differential Revision: https://reviews.llvm.org/D32964 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302950 91177308-0d34-0410-b5e6-96231b3b80d8
* [SPARC] Support 'f' and 'e' inline asm constraints.James Y Knight2017-05-121-0/+3
| | | | | | | | Based on patch by Patrick Boettcher and Chris Dewhurst. Differential Revision: https://reviews.llvm.org/D29116 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302911 91177308-0d34-0410-b5e6-96231b3b80d8
* [IR] Allow attributes with global variablesJaved Absar2017-05-111-2/+11
| | | | | | | | | | | | | | | This patch extends llvm-ir to allow attributes to be set on global variables. An RFC was sent out earlier by my colleague James Molloy: http://lists.llvm.org/pipermail/cfe-dev/2017-March/053100.html A key part of that proposal was to extend LLVM-IR to carry attributes on global variables. This generic feature could be useful for multiple purposes. In our present context, it would be useful to carry user specified sections for bss/rodata/data. Reviewed by: Jonathan Roelofs, Reid Kleckner Differential Revision: https://reviews.llvm.org/D32009 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302794 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce experimental generic intrinsics for horizontal vector reductions.Amara Emerson2017-05-091-0/+332
| | | | | | | | | | | | | | | | - This change allows targets to opt-in to using them instead of the log2 shufflevector algorithm. - The SLP and Loop vectorizers have the common code to do shuffle reductions factored out into LoopUtils, and now have a unified interface for generating reductions regardless of the preference of the target. LoopUtils now uses TTI to determine what kind of reductions the target wants to handle. - For CodeGen, basic legalization support is added. Differential Revision: https://reviews.llvm.org/D30086 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302514 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Revert "CMake: Move sphinx detection into AddSphinxTarget.cmake""Tom Stellard2017-05-091-1/+1
| | | | | | | | This reverts commit r302054. Re-commit now that I have fixes for clang/lld. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302499 91177308-0d34-0410-b5e6-96231b3b80d8
* [libFuzzer] update docs on -print_coverage/-dump_coverageKostya Serebryany2017-05-091-4/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302498 91177308-0d34-0410-b5e6-96231b3b80d8
* Update instructions for using the experimental monorepoReid Kleckner2017-05-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302459 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a blurb to the release notes about the WeakVH -> WeakTrackingVH transitionSanjoy Das2017-05-081-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302456 91177308-0d34-0410-b5e6-96231b3b80d8
* MIParser/MIRPrinter: Compute block successors if not explicitely specifiedMatthias Braun2017-05-051-0/+2
| | | | | | | | | | | | | | | | | - MIParser: If the successor list is not specified successors will be added based on basic block operands in the block and possible fallthrough. - MIRPrinter: Adds a new `simplify-mir` option, with that option set: Skip printing of block successor lists in cases where the parser is guaranteed to reconstruct it. This means we still print the list if some successor cannot be determined (happens for example for jump tables), if the successor order changes or branch probabilities being unequal. Differential Revision: https://reviews.llvm.org/D31262 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302289 91177308-0d34-0410-b5e6-96231b3b80d8
* [Lexicon] Add BDCEBrian Gesiak2017-05-041-0/+7
| | | | | | | | | | | | Summary: Add an entry to the Lexicon for "BDCE." Reviewers: jmolloy, hfinkel Reviewed By: jmolloy Differential Revision: https://reviews.llvm.org/D31861 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302169 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "CMake: Move sphinx detection into AddSphinxTarget.cmake"Tom Stellard2017-05-031-1/+1
| | | | | | | | This reverts commit r302025. clang and lld need to be updated too so they don't break with this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302054 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Move sphinx detection into AddSphinxTarget.cmakeTom Stellard2017-05-031-1/+1
| | | | | | | | | | | | Reviewers: chandlerc, beanz, mgorny Reviewed By: beanz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31773 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302025 91177308-0d34-0410-b5e6-96231b3b80d8
* Support arbitrary address space pointers in masked gather/scatter intrinsics.Elad Cohen2017-05-031-9/+9
| | | | | | | | | | | | | | Fixes PR31789 - When loop-vectorize tries to use these intrinsics for a non-default address space pointer we fail with a "Calling a function with a bad singature!" assertion. This patch solves this by adding the 'vector of pointers' argument as an overloaded type which will determine the address space. Differential revision: https://reviews.llvm.org/D31490 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302018 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo in LangRef.rst. NFCXin Tong2017-05-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301985 91177308-0d34-0410-b5e6-96231b3b80d8
* Improvements to TableGen/LangIntro.rstAlex Bradbury2017-05-021-2/+7
| | | | | | | | | | | | | Document the 'code' data type, and that value{15-17} is different to value{17-15}. Patch by @chenwj (Wei-Ren Chen). Differential Revision: https://reviews.llvm.org/D32117 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301920 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Simplify some language for Error/cantFail in the programmer's manual.Lang Hames2017-04-301-10/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301773 91177308-0d34-0410-b5e6-96231b3b80d8
* Add speculatable function attributeMatt Arsenault2017-04-281-0/+11
| | | | | | | | This attribute tells the optimizer that the function may be speculated. Patch by Tom Stellard git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301680 91177308-0d34-0410-b5e6-96231b3b80d8
* [StackMaps] Increase the size of the "location size" fieldSanjoy Das2017-04-281-2/+5
| | | | | | | | | | | | | | | | | | | | Summary: In some cases LLVM (especially the SLP vectorizer) will create vectors that are 256 bytes (or larger). Given that this is intentional[0] is likely to get more common, this patch updates the StackMap binary format to deal with the spill locations for said vectors. This change also bumps the stack map version from 2 to 3. [0]: https://reviews.llvm.org/D32533#738350 Reviewers: reames, kavon, skatkov, javed.absar Subscribers: mcrosier, nemanjai, llvm-commits Differential Revision: https://reviews.llvm.org/D32629 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301615 91177308-0d34-0410-b5e6-96231b3b80d8
* Specify something that's true in practiceSanjoy Das2017-04-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301591 91177308-0d34-0410-b5e6-96231b3b80d8
* Sync with changes from r300825 in clang.Vassil Vassilev2017-04-273-12/+28
| | | | | | | | | | Generate the better include paths. Instead of #include <llvm_header.h> doxygen produces #include "llvm/Folder/llvm_header.h" Patch by Yuka Takahashi (D32342)! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301569 91177308-0d34-0410-b5e6-96231b3b80d8