summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect quote. NFCPete Cooper2015-12-041-1/+1
| | | | llvm-svn: 254775
* [CXX TLS calling convention] Add CXX TLS calling convention.Manman Ren2015-12-042-0/+11
| | | | | | | | | | | | | | | | | | | | | This commit adds a new target-independent calling convention for C++ TLS access functions. It aims to minimize overhead in the caller by perserving as many registers as possible. The target-specific implementation for X86-64 is defined as following: Arguments are passed as for the default C calling convention The same applies for the return value(s) The callee preserves all GPRs - except RAX and RDI The access function makes C-style TLS function calls in the entry and exit block, C-style TLS functions save a lot more registers than normal calls. The added calling convention ties into the existing implementation of the C-style TLS functions, so we can't simply use existing calling conventions such as preserve_mostcc. rdar://9001553 llvm-svn: 254737
* ARM/AArch64: update reference documentation.Tim Northover2015-12-041-2/+4
| | | | | | There's a more comprehensive ACLE and a real v8 ARM ARM now. llvm-svn: 254720
* Revert "[llvm-profdata] Add support for weighted merge of profile data"Nathan Slingerland2015-12-041-5/+1
| | | | | | | | This reverts commit b7250858d96b8ce567681214273ac0e62713c661. Reverting in order to investigate Windows test failure. llvm-svn: 254687
* [llvm-profdata] Add support for weighted merge of profile dataNathan Slingerland2015-12-041-1/+5
| | | | | | | | | | | | | | | | | | This change adds support for an optional weight when merging profile data with the llvm-profdata tool. Weights are specified by adding an option ':<weight>' suffix to the input file names. Adding support for arbitrary weighting of input profile data allows for relative importance to be placed on the input data from multiple training runs. Both sampled and instrumented profiles are supported. Reviewers: dnovillo, bogner, davidxl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14547 llvm-svn: 254669
* Fix "WARNING: Title underline too short." introduced by r254404.Yury Gribov2015-12-011-1/+1
| | | | | | Patch by Max Ostapenko. llvm-svn: 254413
* Introduce new @llvm.get.dynamic.area.offset.i{32, 64} intrinsics.Yury Gribov2015-12-011-0/+42
| | | | | | | | | | | | | | | The @llvm.get.dynamic.area.offset.* intrinsic family is used to get the offset from native stack pointer to the address of the most recent dynamic alloca on the caller's stack. These intrinsics are intendend for use in combination with @llvm.stacksave and @llvm.restore to get a pointer to the most recent dynamic alloca. This is useful, for example, for AddressSanitizer's stack unpoisoning routines. Patch by Max Ostapenko. Differential Revision: http://reviews.llvm.org/D14983 llvm-svn: 254404
* Have 'optnone' respect the -fast-isel=false option.Paul Robinson2015-11-301-3/+3
| | | | | | | | This is primarily useful for debugging optnone v. ISel issues. Differential Revision: http://reviews.llvm.org/D14792 llvm-svn: 254335
* [libFuzzer] clean up the docs, add one more link Kostya Serebryany2015-11-261-3/+12
| | | | llvm-svn: 254115
* [libFuzzer] add a flag -exact_artifact_pathKostya Serebryany2015-11-251-0/+1
| | | | llvm-svn: 254100
* Doxygen: Use mathjax to create formulas.Matthias Braun2015-11-251-1/+1
| | | | | | | | | | | The main motivation is to not require a latex installation when building the documentation. I would also expect a better image quality and the ability to copy&paste from formulas with a javascript based solution for displaying the math. Differential Revision: http://reviews.llvm.org/D14960 llvm-svn: 254048
* Fix sphinx-build error when building documentation.Xinliang David Li2015-11-241-16/+10
| | | | | | | Consolidate the description of -binary/-text option description to avoid duplicate ID error by sphinux-build. llvm-svn: 254018
* [PGO] Add --text option for llvm-profdata show|merge commandsXinliang David Li2015-11-231-1/+18
| | | | | | | | | | | | | | The new option is similar to the SampleProfile dump option. - dump raw/indexed format into text profile format - merge the profile and output into text profile format. Note that Value Profiling data text format is not yet designed. That functionality will be added later. Differential Revision: http://reviews.llvm.org/D14894 llvm-svn: 253913
* [docs] Minor fixes to the operand bundle sectionSanjoy Das2015-11-211-5/+6
| | | | llvm-svn: 253771
* Pointers in Masked Load, Store, Gather, Scatter intrinsicsElena Demikhovsky2015-11-191-12/+22
| | | | | | | | | | The masked intrinsics support all integer and floating point data types. I added the pointer type to this list. Added tests for CodeGen and for Loop Vectorizer. Updated the Language Reference. Differential Revision: http://reviews.llvm.org/D14150 llvm-svn: 253544
* [doc] fix a wrong linkJingyue Wu2015-11-181-1/+1
| | | | llvm-svn: 253509
* [PGO] Value profiling supportBetul Buyukkurt2015-11-181-0/+49
| | | | | | | | | This change introduces an instrumentation intrinsic instruction for value profiling purposes, the lowering of the instrumentation intrinsic and raw reader updates. The raw profile data files for llvm-profdata testing are updated. llvm-svn: 253484
* Teach the inliner to track deoptimization stateSanjoy Das2015-11-181-0/+40
| | | | | | | | | | | | | | | | Summary: This change teaches LLVM's inliner to track and suitably adjust deoptimization state (tracked via deoptimization operand bundles) as it inlines through call sites. The operation is described in more detail in the LangRef changes. Reviewers: reames, majnemer, chandlerc, dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14552 llvm-svn: 253438
* [doc] simplify the doc on compiling CUDAJingyue Wu2015-11-181-26/+3
| | | | | | CUDA support doesn't reply on temporary patches any more. Thanks Artem! llvm-svn: 253427
* [Documentation] Add guidelines for grouping tests together.Davide Italiano2015-11-171-0/+4
| | | | | | | | This was considered a good practice but it was not documented. Now it is. Differential Revision: http://reviews.llvm.org/D14733 llvm-svn: 253281
* [Docs] Fix typoAlex Denisov2015-11-152-2/+2
| | | | llvm-svn: 253167
* [Docs] Fix warning "Title underline too short."Akira Hatanaka2015-11-131-1/+1
| | | | llvm-svn: 253082
* Fixing a typo in docs/CodeGenerator.rstArtyom Skrobov2015-11-131-1/+1
| | | | llvm-svn: 253045
* [libFuzzer] more trophiesKostya Serebryany2015-11-131-0/+2
| | | | llvm-svn: 253006
* [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsicJames Molloy2015-11-121-0/+28
| | | | | | | | | | Several backends have instructions to reverse the order of bits in an integer. Conceptually matching such patterns is similar to @llvm.bswap, and it was mentioned in http://reviews.llvm.org/D14234 that it would be best if these patterns were matched in InstCombine instead of reimplemented in every different target. This patch introduces an intrinsic @llvm.bitreverse.i* that operates similarly to @llvm.bswap. For plumbing purposes there is also a new ISD node ISD::BITREVERSE, with simple expansion and promotion support. The intention is that InstCombine's BSWAP detection logic will be extended to support BITREVERSE too, and @llvm.bitreverse intrinsics emitted (if the backend supports lowering it efficiently). llvm-svn: 252878
* Fix docs build break for revision r252798Hemant Kulkarni2015-11-111-0/+2
| | | | llvm-svn: 252812
* [IR] Add support for empty tokensDavid Majnemer2015-11-111-0/+3
| | | | | | | | | | | | | | When working with tokens, it is often the case that one has instructions which consume a token and produce a new token. Currently, we have no mechanism to represent an initial token state. Instead, we can create a notional "empty token" by inventing a new constant which captures the semantics we would like. This new constant is called ConstantTokenNone and is written textually as "token none". Differential Revision: http://reviews.llvm.org/D14581 llvm-svn: 252811
* Introduce deoptimization operand bundlesSanjoy Das2015-11-111-0/+21
| | | | | | | | | | | | | | | | | | | | | Summary: This change introduces the notion of "deoptimization" operand bundles. LLVM can recognize and optimize these in more precise ways than it can a generic "unknown" operand bundles. The current form of this special recognition / optimization is an enum entry in LLVMContext, a LangRef blurb and a verifier rule. Over time we will teach LLVM to do more aggressive optimization around deoptimization operand bundles, exploiting known facts about kinds of state deoptimization operand bundles are allowed to track. Reviewers: reames, majnemer, chandlerc, dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14551 llvm-svn: 252806
* [Symbolizer]: Add -pretty-print optionHemant Kulkarni2015-11-111-0/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252798
* Reverting r252760Colin LeMahieu2015-11-111-12/+0
| | | | llvm-svn: 252770
* [Symbolizer]: Add -pretty-print optionHemant Kulkarni2015-11-111-0/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252760
* [libFuzzer] better links Kostya Serebryany2015-11-111-3/+3
| | | | llvm-svn: 252705
* [libFuzzer] more trophiesKostya Serebryany2015-11-111-20/+4
| | | | llvm-svn: 252704
* [doc] Compile CUDA with LLVMJingyue Wu2015-11-102-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds documentation on compiling CUDA with LLVM as requested by many engineers and researchers. It includes not only user guides but also some internals (mostly optimizations) so that early adopters can start hacking and contributing. Quite a few researchers who contacted us haven't used LLVM before, which is unsurprising as it hasn't been long since LLVM picked up CUDA. So I added a short summary to help these folks get started with LLVM. I expect this document to evolve substantially down the road. The user guides will be much simplified after the Clang integration is done. However, the internals should continue growing to include for example performance debugging and key areas to improve. Reviewers: chandlerc, meheff, broune, tra Subscribers: silvas, jingyue, llvm-commits, eliben Differential Revision: http://reviews.llvm.org/D14370 llvm-svn: 252660
* Deprecate AutoconfChris Bieneman2015-11-092-0/+10
| | | | | | | | As per the very positive feedback from llvm-dev (http://lists.llvm.org/pipermail/llvm-dev/2015-November/092150.html), this commit officially deprecates the LLVM autoconf-based build system. Anyone still using it should switch to CMake. llvm-svn: 252520
* [EABI] Add LLVM support for -meabi flagRenato Golin2015-11-091-0/+6
| | | | | | | | | | | | | | | | | | | | | "GCC requires the freestanding environment provide memcpy, memmove, memset and memcmp": https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/Standards.html Hence in GNUEABI targets LLVM should not convert 'memops' to their equivalent '__aeabi_memops'. This convertion violates GCC contract. The -meabi flag controls whether or not LLVM will modify 'memops' in GNUEABI targets. Without -meabi: use the triple default EABI. With -meabi=default: use the triple default EABI. With -meabi=gnu: use 'memops'. With -meabi=4 or -meabi=5: use '__aeabi_memops'. With -meabi set to an unknown value: same as -meabi=default. Patch by Vinicius Tinti. llvm-svn: 252462
* Add 'notail' marker for call instructions.Akira Hatanaka2015-11-061-1/+5
| | | | | | | | | | | | This marker prevents optimization passes from adding 'tail' or 'musttail' markers to a call. Is is used to prevent tail call optimization from being performed on the call. rdar://problem/22667622 Differential Revision: http://reviews.llvm.org/D12923 llvm-svn: 252368
* [Docs] Change ARM build info to CMakeRenato Golin2015-11-061-20/+36
| | | | llvm-svn: 252329
* Add a new attribute: norecurseJames Molloy2015-11-061-0/+4
| | | | | | This attribute allows the compiler to assume that the function never recurses into itself, either directly or indirectly (transitively). This can be used among other things to demote global variables to locals. llvm-svn: 252282
* docs: Document function-attached metadata and IR changes from r252219.Peter Collingbourne2015-11-062-22/+37
| | | | llvm-svn: 252268
* CommandGuide/lit.rst: Document the new commandline option -aMatthias Braun2015-11-061-0/+5
| | | | llvm-svn: 252257
* Update tutorial for debug info IR change.Peter Collingbourne2015-11-051-1/+2
| | | | llvm-svn: 252226
* docs: document `x` mangling in LangRefSaleem Abdulrasool2015-10-251-0/+2
| | | | | | | Windows has two different mangling specifiers. `x` is used on x86 for the `_` UserLabelPrefix. Others use `w` for the no UserLabelPrefix. llvm-svn: 251260
* [libFuzzer] add -merge flag to merge corporaKostya Serebryany2015-10-241-0/+1
| | | | llvm-svn: 251168
* Fix another reference to in-source buildsJonathan Roelofs2015-10-231-9/+8
| | | | llvm-svn: 251127
* [LangRef] Fix the doc for operand bundlesSanjoy Das2015-10-231-8/+0
| | | | | | | I accidentally messed this up after a merge conflict in a previous commit. llvm-svn: 251089
* [OperandBundles] Make function attributes conservatively correctSanjoy Das2015-10-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This makes attribute accessors on `CallInst` and `InvokeInst` do the (conservatively) right thing. This essentially involves, in some cases, *not* falling back querying the attributes on the called `llvm::Function` when operand bundles are present. Attributes locally present on the `CallInst` or `InvokeInst` will still override operand bundle semantics. The LangRef has been amended to reflect this. Note: this change does not do anything prevent `-function-attrs` from inferring `CallSite` local attributes after inspecting the called function -- that will be done as a separate change. I've used `-adce` and `-early-cse` to test these changes. There is nothing special about these passes (and they did not require any changes) except that they seemed be the easiest way to write the tests. This change does not add deal with `argmemonly`. That's a later change because alias analysis requires a related fix before `argmemonly` can be tested. Reviewers: reames, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13961 llvm-svn: 250973
* Attempt to fix formatting for operand bundlesDavid Majnemer2015-10-221-10/+9
| | | | llvm-svn: 250968
* Update LangRef for changes to the alias textual IR format to support ↵David Blaikie2015-10-221-1/+1
| | | | | | typeless pointer work llvm-svn: 250967
* [CMake] Adding LLVM_CREATE_XCODE_TOOLCHAIN to the CMake documentation page.Chris Bieneman2015-10-151-0/+6
| | | | llvm-svn: 250451
OpenPOWER on IntegriCloud