summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* fixed typoSanjay Patel2014-05-301-1/+1
| | | | llvm-svn: 209916
* Sync list of targets with configure's realityJeroen Ketema2014-05-291-8/+6
| | | | llvm-svn: 209855
* fixed a few typosSanjay Patel2014-05-281-3/+3
| | | | llvm-svn: 209768
* [pr19844] Add thread local mode to aliases.Rafael Espindola2014-05-281-19/+32
| | | | | | | | | | This matches gcc's behavior. It also seems natural given that aliases contain other properties that govern how it is accessed (linkage, visibility, dll storage). Clang still has to be updated to expose this feature to C. llvm-svn: 209759
* Wording fix for llvm.global_dtors docs.Reid Kleckner2014-05-271-1/+1
| | | | llvm-svn: 209687
* Fix link.Rafael Espindola2014-05-261-1/+3
| | | | llvm-svn: 209640
* AArch64/ARM64: move ARM64 into AArch64's placeTim Northover2014-05-241-1/+1
| | | | | | | | | | | | | | | This commit starts with a "git mv ARM64 AArch64" and continues out from there, renaming the C++ classes, intrinsics, and other target-local objects for consistency. "ARM64" test directories are also moved, and tests that began their life in ARM64 use an arm64 triple, those from AArch64 use an aarch64 triple. Both should be equivalent though. This finishes the AArch64 merge, and everyone should feel free to continue committing as normal now. llvm-svn: 209577
* Updated the llvm.mem.parallel_loop_access semantics to include the possibilityPekka Jaaskelainen2014-05-231-9/+23
| | | | | | | | | to have only some of the loop's memory instructions be annotated and still _help_ the loop carried dependence analysis. This was discussed in the llvmdev ML (topic: "parallel loop metadata question"). llvm-svn: 209507
* [YAML] Add an optional argument `EnumMask` to the `yaml::IO::bitSetCase()`.Simon Atanasyan2014-05-231-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some bit-set fields used in ELF file headers in fact contain two parts. The first one is a regular bit-field. The second one is an enumeraion. For example ELF header `e_flags` for MIPS target might contain the following values: Bit-set values: EF_MIPS_NOREORDER = 0x00000001 EF_MIPS_PIC = 0x00000002 EF_MIPS_CPIC = 0x00000004 EF_MIPS_ABI2 = 0x00000020 Enumeration: EF_MIPS_ARCH_32 = 0x50000000 EF_MIPS_ARCH_64 = 0x60000000 EF_MIPS_ARCH_32R2 = 0x70000000 EF_MIPS_ARCH_64R2 = 0x80000000 For printing bit-sets we use the `yaml::IO::bitSetCase()`. It does not support bit-set/enumeration combinations and prints too many flags from an enumeration part. This patch fixes this problem. New method `yaml::IO::maskedBitSetCase()` handle "enumeration" part of bitset defined by provided mask. Patch reviewed by Nick Kledzik and Sean Silva. llvm-svn: 209504
* Update some AliasAnalysis pass docs for getAdjustedAnalysisPointer.Eric Christopher2014-05-221-0/+14
| | | | | | Patch by George Burgess. llvm-svn: 209467
* Clean up language and grammar.Eric Christopher2014-05-201-1/+1
| | | | | | | Based on a patch by jfcaron3@gmail.com! PR19806 llvm-svn: 209216
* Add 'nonnull', a new parameter and return attribute which indicates that the ↵Nick Lewycky2014-05-201-0/+7
| | | | | | pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! llvm-svn: 209185
* Add documentation for llvm-dwarfdump toolAlexey Samsonov2014-05-192-0/+31
| | | | llvm-svn: 209173
* [DWARF parser] Teach DIContext to fetch short (non-linkage) function names ↵Alexey Samsonov2014-05-171-2/+5
| | | | | | | | | | for a given address. Change --functions option in llvm-symbolizer tool to accept values "none", "short" or "linkage". Update the tests and docs accordingly. llvm-svn: 209050
* Add comdat key field to llvm.global_ctors and llvm.global_dtorsReid Kleckner2014-05-161-13/+21
| | | | | | | | | | | | | | This allows us to put dynamic initializers for weak data into the same comdat group as the data being initialized. This is necessary for MSVC ABI compatibility. Once we have comdats for guard variables, we can use the combination to help GlobalOpt fire more often for weak data with guarded initialization on other platforms. Reviewers: nlewycky Differential Revision: http://reviews.llvm.org/D3499 llvm-svn: 209015
* Fix typosAlp Toker2014-05-153-3/+3
| | | | llvm-svn: 208839
* Update of the documentation: I think we are now happy with PhabricatorSylvestre Ledru2014-05-141-2/+1
| | | | llvm-svn: 208764
* Fix strange typo in markup.Jay Foad2014-05-141-2/+2
| | | | llvm-svn: 208759
* [ARM64-BE] Correct grammar mistake pointed out by Tobias.James Molloy2014-05-121-1/+1
| | | | llvm-svn: 208580
* [ARM64-BE] Add sphinx documentation for the ARM64 NEON implementation.James Molloy2014-05-126-0/+211
| | | | | | | There are some interesting decisions based on non-obvious rationale in the ARM64-BE NEON implementation - decent documentation is definitely required. llvm-svn: 208577
* [PowerPC] Add global named register supportHal Finkel2014-05-111-1/+1
| | | | | | | Support for the intrinsics that read from and write to global named registers is added for r1, r2 and r13 (depending on the subtarget). llvm-svn: 208509
* Revert "[ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret'"Reid Kleckner2014-05-092-6/+0
| | | | | | | | | | | | | | This reverts commit r200561. This calling convention was an attempt to match the MSVC C++ ABI for methods that return structures by value. This solution didn't scale, because it would have required splitting every CC available on Windows into two: one for methods and one for free functions. Now that we can put sret on the second arg (r208453), and Clang does that (r208458), revert this hack. llvm-svn: 208459
* IR: Don't allow non-default visibility on local linkageDuncan P. N. Exon Smith2014-05-071-0/+3
| | | | | | | | | | | | | | | | | Visibilities of `hidden` and `protected` are meaningless for symbols with local linkage. - Change the assembler to reject non-default visibility on symbols with local linkage. - Change the bitcode reader to auto-upgrade `hidden` and `protected` to `default` when the linkage is local. - Update LangRef. <rdar://problem/16141113> llvm-svn: 208263
* [tablegen] Add !listconcat operator with the similar semantics as !strconcatDaniel Sanders2014-05-072-1/+7
| | | | | | | | | | | | | | | | | | | | Summary: It concatenates two or more lists. In addition to the !strconcat semantics the lists must have the same element type. My overall aim is to make it easy to append to Instruction.Predicates rather than override it. This can be done by concatenating lists passed as arguments, or by concatenating lists passed in additional fields. Reviewers: dsanders Reviewed By: dsanders Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D3506 llvm-svn: 208183
* llvm-cov: Document --no-output in the command guideJustin Bogner2014-05-071-0/+5
| | | | llvm-svn: 208151
* Implememting named register intrinsicsRenato Golin2014-05-061-0/+45
| | | | | | | | | | | This patch implements the infrastructure to use named register constructs in programs that need access to specific registers (bare metal, kernels, etc). So far, only the stack pointer is supported as a technology preview, but as it is, the intrinsic can already support all non-allocatable registers from any architecture. llvm-svn: 208104
* Add some details to the llvm-cov documentation. <rdar://problem/15819496>Bob Wilson2014-05-061-13/+96
| | | | llvm-svn: 208098
* Update programmers manual to cover llvm::function_ref, and add a note to theRichard Smith2014-05-062-0/+74
| | | | | | coding standard suggesting using it instead of the (unavailable) std::function. llvm-svn: 208067
* Revert accidentally-committed files.Richard Smith2014-05-062-74/+0
| | | | llvm-svn: 208034
* Re-commit r208025, reverted in r208030, with a fix for a conformance issueRichard Smith2014-05-062-0/+74
| | | | | | which GCC detects and Clang does not! llvm-svn: 208033
* Be a bit more specific in the release notes.Rafael Espindola2014-05-051-1/+2
| | | | llvm-svn: 207981
* Remove the -disable-cfi option.Rafael Espindola2014-05-051-0/+2
| | | | | | | This also add a release note about it. If this stays I will cleanup MC next week. llvm-svn: 207977
* Update docs still mentioning LLVM_ENABLE_CXX11Alp Toker2014-05-031-2/+2
| | | | | | C++11 is now required. llvm-svn: 207914
* Updated Doxygen link for InstIterator.h.Yaron Keren2014-05-031-1/+1
| | | | llvm-svn: 207906
* InstIterator.h lives in llvm/IR.Yaron Keren2014-05-031-2/+2
| | | | llvm-svn: 207903
* [tablegen] !strconcat accepts more than two arguments but this wasn't ↵Daniel Sanders2014-05-021-1/+3
| | | | | | | | | | | | | | | | | | | | documented or tested. Summary: * Updated the documentation * Added a test for >2 arguments * Added a check for the lexical concatenation * Made the existing test a bit stricter. Reviewers: t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, llvm-commits Differential Revision: http://reviews.llvm.org/D3485 llvm-svn: 207865
* Code style fix from Duncan P. N. Exon Smith.Yaron Keren2014-05-021-1/+1
| | | | llvm-svn: 207831
* [IR] Make {extract,insert}element accept an index of any integer type.Michael J. Spencer2014-05-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the following C code llvm currently generates suboptimal code for x86-64: __m128 bss4( const __m128 *ptr, size_t i, size_t j ) { float f = ptr[i][j]; return (__m128) { f, f, f, f }; } ================================================= define <4 x float> @_Z4bss4PKDv4_fmm(<4 x float>* nocapture readonly %ptr, i64 %i, i64 %j) #0 { %a1 = getelementptr inbounds <4 x float>* %ptr, i64 %i %a2 = load <4 x float>* %a1, align 16, !tbaa !1 %a3 = trunc i64 %j to i32 %a4 = extractelement <4 x float> %a2, i32 %a3 %a5 = insertelement <4 x float> undef, float %a4, i32 0 %a6 = insertelement <4 x float> %a5, float %a4, i32 1 %a7 = insertelement <4 x float> %a6, float %a4, i32 2 %a8 = insertelement <4 x float> %a7, float %a4, i32 3 ret <4 x float> %a8 } ================================================= shlq $4, %rsi addq %rdi, %rsi movslq %edx, %rax vbroadcastss (%rsi,%rax,4), %xmm0 retq ================================================= The movslq is uneeded, but is present because of the trunc to i32 and then sext back to i64 that the backend adds for vbroadcastss. We can't remove it because it changes the meaning. The IR that clang generates is already suboptimal. What clang really should emit is: %a4 = extractelement <4 x float> %a2, i64 %j This patch makes that legal. A separate patch will teach clang to do it. Differential Revision: http://reviews.llvm.org/D3519 llvm-svn: 207801
* Update post-r203364 ↵Yaron Keren2014-05-011-8/+4
| | | | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140303/207915.html and ranged for loops. http://reviews.llvm.org/D3582 llvm-svn: 207755
* ARM: support stack probe emission for Windows on ARMSaleem Abdulrasool2014-04-301-0/+31
| | | | | | | | | | | | | | | | | This introduces the stack lowering emission of the stack probe function for Windows on ARM. The stack on Windows on ARM is a dynamically paged stack where any page allocation which crosses a page boundary of the following guard page will cause a page fault. This page fault must be handled by the kernel to ensure that the page is faulted in. If this does not occur and a write access any memory beyond that, the page fault will go unserviced, resulting in an abnormal program termination. The watermark for the stack probe appears to be at 4080 bytes (for accommodating the stack guard canaries and stack alignment) when SSP is enabled. Otherwise, the stack probe is emitted on the page size boundary of 4096 bytes. llvm-svn: 207615
* Document recently added sphinx documentation options inDan Liew2014-04-291-0/+27
| | | | | | CMake. llvm-svn: 207543
* Add 'musttail' marker to call instructionsReid Kleckner2014-04-241-12/+29
| | | | | | | | | | | | This is similar to the 'tail' marker, except that it guarantees that tail call optimization will occur. It also comes with convervative IR verification rules that ensure that tail call optimization is possible. Reviewers: nicholas Differential Revision: http://llvm-reviews.chandlerc.com/D3240 llvm-svn: 207143
* [docs] Add a note to docs/README.txtSean Silva2014-04-221-0/+9
| | | | | | | | | Added note to docs/README.txt on how to check the reachibility of external links in the documentation. Patch by Dan Liew! llvm-svn: 206924
* Added Sphinx documentation generation to CMake build system.Reid Kleckner2014-04-181-0/+15
| | | | | | | | | | | | | | | | | | | | | The option LLVM_ENABLE_SPHINX option enables the "docs-llvm-html", "docs-llvm-man" targets but does not build them by default. The following CMake options have been added that control what targets are made available SPHINX_OUTPUT_HTML SPHINX_OUTPUT_MAN If LLVM_BUILD_DOCS is enabled then the enabled docs-llvm-* targets will be built by default and if ``make install`` is run then docs-llvm-html and docs-llvm-man will be installed (tested on Linux only). The add_sphinx_target function is in its own file so it can be included by other projects that use Sphinx for their documentation. Patch by Daniel Liew <daniel.liew@imperial.ac.uk>! llvm-svn: 206655
* Remove -simplify-libcalls pass form Passes documentationReid Kleckner2014-04-181-9/+10
| | | | | | | | | | | | This pass was removed in r184459. Also added note that the InstCombine pass does library call simplification. Patch slightly modified from one by Daniel Liew <daniel.liew@imperial.ac.uk>! llvm-svn: 206650
* Fix example for VS2012.Paul Robinson2014-04-181-1/+1
| | | | llvm-svn: 206544
* C++11: Compatibility with (C++03 => MSVC)Duncan P. N. Exon Smith2014-04-171-3/+3
| | | | llvm-svn: 206481
* C++11: Document some limitations imposed by MSVCDuncan P. N. Exon Smith2014-04-171-0/+6
| | | | llvm-svn: 206480
* Remove documentation for a deleted pass.Eric Christopher2014-04-121-9/+0
| | | | llvm-svn: 206097
* blockfreq: Document BlockFrequencyInfo terminologyDuncan P. N. Exon Smith2014-04-113-4/+140
| | | | | | | | | Documents terminology used in the forthcoming rewrite of BlockFrequencyInfo. <rdar://problem/14292693> llvm-svn: 206086
OpenPOWER on IntegriCloud