Commit Graph

6336 Commits

Author SHA1 Message Date
Lang Hames
f267cd71cb [docs] Fix indentation bug in LangRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283624 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-08 00:20:42 +00:00
Brian Gesiak
b3f94cd3e0 [docs] Add PR to Lexicon
Summary:
The acronym PR could be ambiguous to some users, especially those who
are used to interpreting it as GitHub's "pull request".

Reviewers: ddunbar, jordan_rose, void, beanz

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D25331

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283465 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-06 16:39:22 +00:00
Mike Aizatsky
e4bd610ba8 [libfuzzer] sancov documentation update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282953 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-30 21:07:04 +00:00
Dylan McKay
2551268cb5 [docs] Fix a broken URL in 'HowToAddABuilder'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282718 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 13:29:49 +00:00
Dylan McKay
267c7c00cb [docs] Fix typo in 'How to add a builder'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282713 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 12:51:26 +00:00
Michal Gorny
5b0f4e96ec [cmake] Support overriding remaining HTML doc install directories
Support overriding the Doxygen & OCamldoc install directories,
and provide a more FHS-compliant defaults for both of them. This extends
r282240 that added this override for Sphinx-built documentation.

LLVM_INSTALL_DOXYGEN_HTML_DIR and LLVM_INSTALL_OCAMLDOC_HTML_DIR are
added, to control the location where Doxygen-generated and
OCamldoc-generated HTML docs are installed appropriately. They both
specify CMake-style install paths, and therefore can either by relative
to the install prefix or absolute.

The new defaults are subdirectories of share/doc/llvm, and replace
the previous directories of 'docs/html' and 'docs/ocaml/html' that
resulted in creating invalid '/usr/docs' that furthermore lacked proper
namespacing for the LLVM package. The new defaults are consistent with
the ones used for Sphinx HTML documentation, differing only in the last
component. Since the 'html' subdirectory is already used for Sphinx
docs, the 'doxygen-html' and 'ocaml-html' directories are used instead.

Differential Revision: https://reviews.llvm.org/D24935

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282536 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27 19:52:29 +00:00
Alexander Kornienko
e9029b173c [docs] Fix naming style in the example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282490 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27 14:49:45 +00:00
Andrey Bokhanko
3a76c9a75b [docs] Make WritingAnLLVMPass.rst up-to-date with current state of things
This patch updates WritingAnLLVMPass.rst to make it in line with current state of things.

Specifically:

* Makefile instructions replaced with CMake ones
* Filenames replaced with correct ones
* Example reformatted a bit to make it less confusing and more conforming to LLVM Coding Standards
* opt tool output updated with what it actually prints nowdays
* "gcse" (which doesn't exist anymore) replaced with "gvn" (which still does)

Differential Revision: https://reviews.llvm.org/D24233


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282482 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27 12:07:21 +00:00
Michal Gorny
91fdd2b663 cmake: Support overriding Sphinx HTML doc install directory
Provide ${PROJECT}_INSTALL_SPHINX_HTML_DIR variables (e.g.
LLVM_INSTALL_SPHINX_HTML_DIR) to override Sphinx HTML doc install
directory.

Bug: https://llvm.org/bugs/show_bug.cgi?id=23780

Differential Revision: https://reviews.llvm.org/D23757

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282240 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-23 11:09:33 +00:00
Nikolay Haustov
2a3c739021 AMDGPU: Improve documentation.
Summary:
Add links to ISA manuals and ABI.
Add text about assembler syntax.
Add info about instructions operands.
Add instruction examples for each encoding.
Update directives section, add missing .amdgpu_hsa_kernel.

Reviewers: tstellarAMD, SamWot, vpykhtin

Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, artem.tamazov, llvm-commits

Differential Revision: https://reviews.llvm.org/D24724

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281962 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-20 09:04:51 +00:00
Xinliang David Li
178b58d881 Extend title underline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281869 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-18 22:10:19 +00:00
Xinliang David Li
ab430229ee [Profile] Implement select instruction instrumentation in IR PGO
Differential Revision: http://reviews.llvm.org/D23727


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281858 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-18 18:34:07 +00:00
Justin Lebar
c53e38407d [CUDA] [doc] Note that you can use std::min/max from device code with C++14.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281702 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-16 04:14:02 +00:00
Reid Kleckner
0863eca1d3 Document our extension to the COFF .section directive flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281616 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-15 15:11:49 +00:00
Justin Lebar
4574c11309 [doc] [CUDA] Add sections about STL support and differences between nvcc and clang to CompileCudaWithLLVM.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281573 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-15 02:04:32 +00:00
Sanjoy Das
81598633a4 [LangRef] Add a clarifying example for undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281570 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-15 01:56:58 +00:00
Sanjoy Das
9becdeed48 [Stackmap] Added callsite counts to emitted function information.
Summary:
It was previously not possible for tools to use solely the stackmap
information emitted to reconstruct the return addresses of callsites in
the map, which is necessary to use the information to walk a stack. This
patch adds per-function callsite counts when emitting the stackmap
section in order to resolve the problem. Note that this slightly alters
the stackmap format, so external tools parsing these maps will need to
be updated.

**Problem Details:**
Records only store their offset from the beginning of the function they
belong to. While these records and the functions are output in program
order, it is not possible to determine where the end of one function's
records are without the callsite count when processing the records to
compute return addresses.

Patch by Kavon Farvardin!

Reviewers: atrick, ributzka, sanjoy

Subscribers: nemanjai

Differential Revision: https://reviews.llvm.org/D23487

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281532 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 20:22:03 +00:00
Davide Italiano
6a92b76991 [Docs] Fix a broken link in the Kaleidoscope tutorial.
Patch by:	Alfred Perlstein <alfred@FreeBSD.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281297 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-13 06:31:37 +00:00
Arnold Schwaighofer
10c97f029a It should also be legal to pass a swifterror parameter to a call as a swifterror
argument.

rdar://28233388

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281147 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-10 19:42:53 +00:00
Kostya Serebryany
05e1dea79e [libFuzzer] remove use_traces=1 since use_value_profile seems to be strictly better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281007 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-09 01:17:03 +00:00
Kostya Serebryany
10c8c3c91f [libFuzzer] add missing docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280996 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-08 22:21:13 +00:00
Reid Kleckner
88e07a9d10 Remove restriction that 'sret' must be on the first parameter
On Windows, it is often applied to the second parameter, and the x86
backend is prepared to deal with sret appearing on any parameter.

Other backends assume it only appears on parameter zero, but those are
target-specific requirements, and not an IR-level rule.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280951 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-08 15:45:27 +00:00
Justin Lebar
f0bb43fb8e [CUDA] Rework "optimizations" and "publication" section in CompileCudaWithLLVM.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280869 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 21:46:53 +00:00
Justin Lebar
667609507f [CUDA] Clarify that -l and -L only need to be passed when linking, in CompileCudaWithLLVM.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280868 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 21:46:49 +00:00
Justin Lebar
70425af25f [CUDA] Further reformat "invoking clang" section of CompileCudaWithLLVM.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280867 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 21:46:21 +00:00
Justin Lebar
5b033da95a [CUDA] Fix typo in link in CompileCudaWithLLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280859 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 20:42:24 +00:00
Justin Lebar
e61b182c68 [CUDA] Move AXPY example into gist.
No need to have a long inline code snippet in this doc.

Also move "flags that control numerical code" underneath the "invoking
clang" section, and reformat things a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280857 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 20:37:41 +00:00
Justin Lebar
f1708bca49 [CUDA] Simplify build/install instructions in CompileCudaWithLLVM.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280850 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 20:09:53 +00:00
Justin Lebar
188c78b94e [CUDA] Call it "CUDA", not "CUDA C/C++" in our docs.
CUDA is an extension to C++ -- there is no such thing as "CUDA C".  But
also, the language is much more commonly called "CUDA" than "CUDA C++".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280849 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 20:09:50 +00:00
Justin Lebar
78e95faf4b [CUDA] Expand upon --cuda-gpu-arch flag in CompileCudaWithLLVM doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280848 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 20:09:46 +00:00
Andrey Bokhanko
0c18303d8a Fixed a typo (LLVM/Support/CFG.h -> LLVM/IR/CFG.h)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280481 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-02 11:13:35 +00:00
Lang Hames
08f7f18b9f [Docs] Fix another typo in the Error/Expected docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280461 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-02 03:50:50 +00:00
Lang Hames
8ebfd86577 [Docs] Fix a couple of typos in the Error/Expected docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280460 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-02 03:46:08 +00:00
Chandler Carruth
2c8b23f86f Make the coding standards a bit more clear that we prefer the fancy new
auto-brief format for doxygen comments. Most notable is switching to
that in the example doxygen comment. I've also tweaked the wording but
am happy to tweak it further if others have suggestions here.

Mostly doing this to capture something I and others have been writing
consistently and repeatedly in code reviews.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280419 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-01 22:18:25 +00:00
Chris Bieneman
51d3515b04 [CMake] Revive LLVM_*_DIRS variables
This is a partial revert of r280013. Brad King pointed out these variable names are matching CMake conventions, so we should preserve them.

I've also added a direct mapping of the LLVM_*_DIR variables which we need to make projects support building in and out of tree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280380 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-01 16:43:39 +00:00
Geoff Berry
eb8a4ab881 [LangRef] Clarify !invariant.load semantics.
Based on discussion on llvm-dev.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280262 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-31 17:39:21 +00:00
Aaron Ballman
da4a9a639e Changing a code block to text because Sphinx does not like it on the builder (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12517/steps/docs-llvm-html/logs/stdio)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280247 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-31 14:37:20 +00:00
Aaron Ballman
1012af3602 Changing a code block to text because Sphinx does not like it on the builder (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12516/steps/docs-llvm-html/logs/stdio)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280238 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-31 13:29:23 +00:00
Peter Zotov
eaff23d7dc docs: mention that clobbering output regs in inline asm is illegal.
I've found this out the hard way; LLVM will not normally catch this
error (unless -verify-machineinstrs is passed), and under certain
very specific circumstances (such as register scavenger running
under pressure) this would result in an opaque crash in codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280071 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-30 10:48:31 +00:00
Chris Bieneman
684477bf40 [CMake] Make LLVMConfig.cmake variable names match in-tree names
With the runtimes build we're trying to use LLVMConfig.cmake as a way of providing LLVM_* variables that are needed to behave as if the project is building in tree. To make this work we need to rename two variables by dropping the "S" from the end. This makes the variables match the in-tree names.

This renames:
LLVM_INCLUDE_DIRS -> LLVM_INCLUDE_DIR
LLVM_LIBRARY_DIRS -> LLVM_LIBRARY_DIR

The versions ending in S are not used in-tree anywhere. This also cleans up LLVM_LIBRARY_DIR being set to the same value with and without the "S".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280013 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-29 21:26:32 +00:00
Gor Nishanov
bce16c69f0 [Coroutines] Part 9: Add cleanup subfunction.
Summary:
[Coroutines] Part 9: Add cleanup subfunction.

This patch completes coroutine heap allocation elision. Now, the heap elision example from docs\Coroutines.rst compiles and produces expected result (see test/Transform/Coroutines/ex3.ll)

Intrinsic Changes:
* coro.free gets a token parameter tying it to coro.id to allow reliably discovering all coro.frees associated with a particular coroutine.
* coro.id gets an extra parameter that points back to a coroutine function. This allows to check whether a coro.id describes the enclosing function or it belongs to a different function that was later inlined.

CoroSplit now creates three subfunctions:
# f$resume - resume logic
# f$destroy - cleanup logic, followed by a deallocation code
# f$cleanup - just the cleanup code

CoroElide pass during devirtualization replaces coro.destroy with either f$destroy or f$cleanup depending whether heap elision is performed or not.

Other fixes, improvements:
* Fixed buglet in Shape::buildFrame that was not creating coro.save properly if coroutine has more than one suspend point.

* Switched to using variable width suspend index field (no longer limited to 32 bit index field can be as little as i1 or as large as i<whatever-size_t-is>)

Reviewers: majnemer

Subscribers: llvm-commits, mehdi_amini

Differential Revision: https://reviews.llvm.org/D23844

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279971 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-29 14:34:12 +00:00
Sylvestre Ledru
297f179ffa Fix some typos in the doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279943 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-28 20:29:18 +00:00
Andrew Kaylor
bc94acefe6 Adding document describing the use of the -opt-bisect-limit option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279881 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-26 23:11:48 +00:00
Kostya Serebryany
7750b380af [libFizzer] rename -print_new_cov_pcs=1 into -print_pcs=1 and make it more useful: print PCs only after the initial corpus has been read and symbolize them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279787 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-25 22:35:08 +00:00
Kostya Serebryany
5c091363f7 [libFuzzer] fix link in docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279589 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23 23:43:08 +00:00
Kostya Serebryany
94041883a5 [libFuzzer] docs on value profile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279587 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23 23:36:21 +00:00
Zachary Turner
f99445facd Update coding standards for include style.
Reviewed By: lattner
Differential Revision: https://reviews.llvm.org/D23591

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279560 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23 20:07:32 +00:00
Peter Zotov
29a5291c40 [CMake] [OCaml] Add -DLLVM_ENABLE_OCAMLDOC switch
Patch by Michael Gorny.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279544 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23 18:07:16 +00:00
Jacques Pienaar
e4c3ea0900 Fix link quotes on AArch64's CompilerWriterInfo section.
Reviewers: t.p.northover

Subscribers: t.p.northover, aemerson, rengolin

Differential Revision: https://reviews.llvm.org/D23697

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279169 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-18 22:10:06 +00:00
Jacques Pienaar
56ae20aeb9 [lanai] Add ISA document to CompilerWritersInfo
Summary: Add Lanai ISA document to CompilerWritersInfo.

Reviewers: eliben

Subscribers: aemerson, llvm-commits

Differential Revision: https://reviews.llvm.org/D23693

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279149 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-18 21:25:17 +00:00