summaryrefslogtreecommitdiff
path: root/docs/LangRef.rst
Commit message (Collapse)AuthorAge
...
* Fix anachronism/typo in syntax of declaration of llvm.va_start.Nick Lewycky2013-09-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190552 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Fix Sphinx warning.Sean Silva2013-09-09
| | | | | | Adornments need to be at least as long as the thing they adorn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190327 91177308-0d34-0410-b5e6-96231b3b80d8
* Add function attribute 'optnone'.Andrea Di Biagio2013-08-23
| | | | | | | | | | This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a llvm.copysign intrinsicHal Finkel2013-08-19
| | | | | | | | | | | | | | | | | | | | | This adds a llvm.copysign intrinsic; We already have Libfunc recognition for copysign (which is turned into the FCOPYSIGN SDAG node). In order to autovectorize calls to copysign in the loop vectorizer, we need a corresponding intrinsic as well. In addition to the expected changes to the language reference, the loop vectorizer, BasicTTI, and the SDAG builder (the intrinsic is transformed into an FCOPYSIGN node, just like the function call), this also adds FCOPYSIGN to a few lists in LegalizeVector{Ops,Types} so that vector copysigns can be expanded. In TargetLoweringBase::initActions, I've made the default action for FCOPYSIGN be Expand for vector types. This seems correct for all in-tree targets, and I think is the right thing to do because, previously, there was no way to generate vector-values FCOPYSIGN nodes (and most targets don't specify an action for vector-typed FCOPYSIGN). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188728 91177308-0d34-0410-b5e6-96231b3b80d8
* [stack protector] Fixed typo.Michael Gottesman2013-08-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188195 91177308-0d34-0410-b5e6-96231b3b80d8
* [stackprotector] Added intrinsic llvm.stackprotectorcheck.Michael Gottesman2013-08-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188191 91177308-0d34-0410-b5e6-96231b3b80d8
* Add description of function attribute 'minsize' in LangRef.rst.Andrea Di Biagio2013-08-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188091 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ISD::FROUND for libm round()Hal Finkel2013-08-07
| | | | | | | | | | | | | | | All libm floating-point rounding functions, except for round(), had their own ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm adding ISD::FROUND so that round() can be custom lowered as well. For the most part, this is straightforward. I've added an intrinsic and a matching ISD node just like those for nearbyint() and friends. The SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed fround). This will be used by the PowerPC backend in a follow-up commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187926 91177308-0d34-0410-b5e6-96231b3b80d8
* [LangRef] Alphabetize function attribute listing.Sean Silva2013-08-06
| | | | | | | | No content change. Patch by Andrea Di Biagio! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187811 91177308-0d34-0410-b5e6-96231b3b80d8
* Reject bitcasts between address spaces with different sizesMatt Arsenault2013-07-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187506 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix language.Nick Lewycky2013-07-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185739 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend 'readonly' and 'readnone' to work on function arguments as well asNick Lewycky2013-07-06
| | | | | | | | functions. Make the function attributes pass add it to known library functions and when it can deduce it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed typo in LangRef where we were using _'' to quote instead of the correct _.Michael Gottesman2013-07-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185479 91177308-0d34-0410-b5e6-96231b3b80d8
* At the request of Richard Smith, swapped the order of cold/builtin so it is ↵Michael Gottesman2013-06-27
| | | | | | in alphabetical order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185113 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for the Builtin attribute.Michael Gottesman2013-06-27
| | | | | | | | The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin, rdar://problem/13727199 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185049 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor grammar and word usage fix to 'returned' parameter attribute section ↵Stephen Lin2013-06-20
| | | | | | of LangRef git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184479 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos "metatadata" -> "metadata" in the LangRef.Stefanus Du Toit2013-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184426 91177308-0d34-0410-b5e6-96231b3b80d8
* Require members of llvm.used to be named.Rafael Espindola2013-06-11
| | | | | | | | The effect of llvm.used is to introduce an invisible reference, so this seems a reasonable restriction. It will be used to provide an easy ordering of the entries in llvm.used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183743 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more explicit link targets to headers in LangRef.rstEli Bendersky2013-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183555 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit link targets to some headers in LangRef.rstEli Bendersky2013-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183548 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix link.Richard Smith2013-06-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183248 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning and resulting formatting issue.Paul Redmond2013-05-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182939 91177308-0d34-0410-b5e6-96231b3b80d8
* Revise llvm.vectorizer.width documentationPaul Redmond2013-05-30
| | | | | | | | - clarify that vectorizer.width only applies if the vectorizer decides to vectorize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182938 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for llvm.vectorizer metadataPaul Redmond2013-05-28
| | | | | | | | | | | | | | | | | | | | - llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic by making the root of additional loop metadata. - Loop::isAnnotatedParallel now looks for llvm.loop and associated llvm.mem.parallel_loop_access - document llvm.loop and update llvm.mem.parallel_loop_access - add support for llvm.vectorizer.width and llvm.vectorizer.unroll - document llvm.vectorizer.* metadata - add utility class LoopVectorizerHints for getting/setting loop metadata - use llvm.vectorizer.width=1 to indicate already vectorized instead of already_vectorized - update existing tests that used llvm.loop.parallel and llvm.vectorizer.already_vectorized Reviewed by: Nadav Rotem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182802 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new function attribute 'cold' to functions.Diego Novillo2013-05-24
| | | | | | | | | | | Other than recognizing the attribute, the patch does little else. It changes the branch probability analyzer so that edges into blocks postdominated by a cold function are given low weight. Added analysis and code generation tests. Added documentation for the new attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: implement @llvm.readcyclecounter intrinsicTim Northover2013-05-23
| | | | | | | | | | | | | This implements the @llvm.readcyclecounter intrinsic as the specific MRC instruction specified in the ARM manuals for CPUs with the Power Management extensions. Older CPUs had slightly different methods which may also have to be implemented eventually, but this should cover all v7 cases. rdar://problem/13939186 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182603 91177308-0d34-0410-b5e6-96231b3b80d8
* LangRef.rst: Clarify how basic blocks without named label are handled.Sean Silva2013-05-20
| | | | | | | | | | | | Describe that they are assigned numbered label using the same counter as for unnamed temporaries. Based on http://llvm.org/bugs/show_bug.cgi?id=16043 and mailing list discussion. Patch by Paul Sokolovsky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182332 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct logical shift documentationTim Northover2013-05-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181290 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove comment that no target supports 128-bit IEEE floatsRichard Sandiford2013-05-03
| | | | | | | | The soon-to-be-committed SystemZ port uses 128-bit IEEE floats. MIPS64 GNU/Linux does too (albeit with unusual NaNs). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181016 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that llvm.used can contain aliases.Rafael Espindola2013-04-22
| | | | | | | Also add a check for llvm.used in the verifier and simplify clients now that they can assume they have a ConstantArray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180019 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CodeGen support for functions that always return arguments via a new ↵Stephen Lin2013-04-20
| | | | | | parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes to LangRef.rst: incorrect attributes syntax and misplaced 'nobuiltin'Eli Bendersky2013-04-18
| | | | | | | Patch by Stephen Lin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179763 91177308-0d34-0410-b5e6-96231b3b80d8
* More consistent formatting and tidying-upEli Bendersky2013-04-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179716 91177308-0d34-0410-b5e6-96231b3b80d8
* Make formatting more consistent and tidy-up.Eli Bendersky2013-04-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179689 91177308-0d34-0410-b5e6-96231b3b80d8
* Added documentation to LangRef for the intrinsic llvm.ptr.annotation.* which ↵Michael Gottesman2013-03-26
| | | | | | for some reason was never written. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177950 91177308-0d34-0410-b5e6-96231b3b80d8
* Missing period in docEli Bendersky2013-03-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176809 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tailing whitespacesMichael Liao2013-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176570 91177308-0d34-0410-b5e6-96231b3b80d8
* Unify clang/llvm attributes for asan/tsan/msan (LLVM part)Kostya Serebryany2013-02-26
| | | | | | | | | | | | | | | | | | | | These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
* Made it more explicit that the self-referential llvm.loop identifier metadata Pekka Jaaskelainen2013-02-22
| | | | | | | | should be unique for each loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175888 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the NoBuiltin attribute.Bill Wendling2013-02-22
| | | | | | | | | The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175835 91177308-0d34-0410-b5e6-96231b3b80d8
* add missing space which prevented the llvm.loop code-block from appearing in thePaul Redmond2013-02-21
| | | | | | | generated html. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175769 91177308-0d34-0410-b5e6-96231b3b80d8
* Metadata for annotating loops as parallel. The first consumer for this Pekka Jaaskelainen2013-02-13
| | | | | | | | | | metadata is the loop vectorizer. See the documentation update for more info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8
* [tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany2013-02-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial submission for the attribute group feature.Bill Wendling2013-02-06
| | | | | | | | | | | | | | | | | | Attribute groups are of the form: #0 = attributes { noinline "no-sse" "cpu"="cortex-a8" alignstack=4 } Target-dependent attributes are represented as strings. Attributes can have optional values associated with them. E.g., the "cpu" attribute has the value "cortex-a8". Target-independent attributes are listed as enums inside the attribute classes. Multiple attribute groups can be referenced by the same object. In that case, the attributes are merged together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174493 91177308-0d34-0410-b5e6-96231b3b80d8
* Alphabetize the function attributes.Bill Wendling2013-02-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174490 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed reference to LLVM as a project (since in LangRef it is used solely ↵Michael Gottesman2013-02-04
| | | | | | as a reference to the IR). Thanks silvas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174301 91177308-0d34-0410-b5e6-96231b3b80d8
* Added new Global Variable marker ``externally_initialized'' to LangRef.Michael Gottesman2013-02-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174270 91177308-0d34-0410-b5e6-96231b3b80d8
* Added clarification paragraph to LangRef's documentation ofMichael Gottesman2013-02-03
| | | | | | | | | | | | | | | GlobalVariable about LLVM's assumptions vis-a-vis Global Variable initial values and Global Variable initializers. This is in preparation for adding the new keyword externally_initialized. Specifically, the patch explains how LLVM optimizes global initializers by assumign that global variables defined within the module are not modified from their initial values before the start of the global initializer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174269 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a mistake in my previous commit where I changed the wording slightly ↵Michael Gottesman2013-01-31
| | | | | | and forgot to undo the change after changing my mind and deciding to only commit the style changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174041 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting Fix. Changed " to `` around the word 'constant' in the Lang RefMichael Gottesman2013-01-31
| | | | | | | section Global Variable so that the style matches the other keywords in said section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174040 91177308-0d34-0410-b5e6-96231b3b80d8