summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* [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
* docs: Stop using DEBUG() without DEBUG_TYPE in the ProgrammersManualJustin Bogner2015-10-151-18/+10
| | | | | | | | The DEBUG() macro has required that a DEBUG_TYPE be set since r206822. Update the programmers manual to reflect that, and also update the wording to point out that DEBUG_TYPE should be defined after #includes. llvm-svn: 250436
* Add 'other' in description of extractvalue operands.Arch D. Robison2015-10-141-1/+1
| | | | llvm-svn: 250314
* [CMake] LLVM_PROFDATA_FILE only works if you're using clang, so we should ↵Chris Bieneman2015-10-131-0/+4
| | | | | | | | | | error out if it is specified when not using clang. Also updated the CMake docs. Based on post-commit review of r250108 from Sean Silvas. llvm-svn: 250150
* [llvm-symbolizer] Add -print-address optionHemant Kulkarni2015-10-121-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D13518 llvm-svn: 250086
* [libFuzzer] mention more trophies and improve the link formattingKostya Serebryany2015-10-121-5/+8
| | | | llvm-svn: 250076
* [llvm-symbolizer] Reverting r250067Colin LeMahieu2015-10-121-2/+0
| | | | llvm-svn: 250072
* [llvm-symbolizer] Add -print-address optionHemant Kulkarni2015-10-121-0/+2
| | | | | | Differential Revision http://reviews.llvm.org/D13518 llvm-svn: 250067
* [libFuzzer] document more trophiesKostya Serebryany2015-10-101-1/+4
| | | | llvm-svn: 249933
* Refine the definition of convergent to only disallow the addition of new ↵Owen Anderson2015-10-091-4/+2
| | | | | | | | | | control dependencies. This covers the common case of operations that cannot be sunk. Operations that cannot be hoisted should already be handled properly via the safe-to-speculate rules and mechanisms. llvm-svn: 249865
* [libFuzzer] add -artifact_prefix flagKostya Serebryany2015-10-091-1/+1
| | | | llvm-svn: 249807
* ReleaseNotes: note the new Windows version requirementHans Wennborg2015-10-051-0/+3
| | | | llvm-svn: 249332
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-021-5/+9
| | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214
* [libFuzzer] add a flag -max_total_timeKostya Serebryany2015-10-021-0/+1
| | | | llvm-svn: 249181
* [LibFuzzer] test_single_input option to run a single test case.Ivan Krasin2015-10-011-0/+1
| | | | | | | | | | -test_single_input flag specifies a file name with test data. Review URL: http://reviews.llvm.org/D13359 Patch by Mike Aizatsky! llvm-svn: 249096
* Kill another reference to in-source buildsJonathan Roelofs2015-10-011-8/+5
| | | | llvm-svn: 249067
* Introduce !align metadata for load instructionArtur Pilipenko2015-09-281-1/+10
| | | | | | | | Reviewed By: hfinkel Differential Revision: http://reviews.llvm.org/D12853 llvm-svn: 248721
* [llvm-mc-fuzzer] Fix -jobs option.Daniel Sanders2015-09-261-4/+5
| | | | | | | | | The fuzzer argument parser will ignore all options starting with '--' so operation mode options should begin with '--' and fuzzer options should begin with '-'. Fuzzer arguments must still follow --fuzzer-args so that they escape the parsing performed by the CommandLine library. llvm-svn: 248671
* [LangRef] Unbreak the docs Sphinx build.Sanjoy Das2015-09-251-2/+2
| | | | | | | r248551 introduced some breakage due to incorrectly terminated ``literals`` s. llvm-svn: 248552
* [Bitcode][Asm] Teach LLVM to read and write operand bundles.Sanjoy Das2015-09-241-1/+51
| | | | | | | | | | | | | | | | | | Summary: This also adds the first set of tests for operand bundles. The optimizer has not been audited to ensure that it does the right thing with operand bundles. Depends on D12456. Reviewers: reames, chandlerc, majnemer, dexonsmith, kmod, JosephTremoulet, rnk, bogner Subscribers: maksfb, llvm-commits Differential Revision: http://reviews.llvm.org/D12457 llvm-svn: 248551
OpenPOWER on IntegriCloud