summaryrefslogtreecommitdiff
path: root/docs/LangRef.html
Commit message (Collapse)AuthorAge
...
* Use add instead of accumulate.Cameron Zwarich2011-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134752 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an intrinsic and codegen support for fused multiply-accumulate. The intentCameron Zwarich2011-07-08
| | | | | | is to use this for architectures that have a native FMA instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134742 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of ↵Owen Anderson2011-07-01
| | | | | | integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134265 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing operand. rdar://9694169Evan Cheng2011-06-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134078 91177308-0d34-0410-b5e6-96231b3b80d8
* Document nonlazybind.Dan Gohman2011-06-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133160 91177308-0d34-0410-b5e6-96231b3b80d8
* Add one more argument to the prefetch intrinsic to indicate whether it's a dataBruno Cardoso Lopes2011-06-14
| | | | | | | or instruction cache access. Update the targets to match it and also teach autoupgrade. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132976 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix copy+pastos.Dan Gohman2011-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132168 91177308-0d34-0410-b5e6-96231b3b80d8
* Document llvm.exp and llvm.pow. Dan Gohman2011-05-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131921 91177308-0d34-0410-b5e6-96231b3b80d8
* insertvalue takes a variable number of arguments, document this, fixing PR9935.Chris Lattner2011-05-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131850 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix errors in this llvm ir example.Nick Lewycky2011-05-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131416 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Introduce cascading style <div> and <p> continued on <h[2-5]>.NAKAMURA Takumi2011-04-23
| | | | | | | | | | | | | | | | | | <h2>Section Example</h2> <div> <!-- h2+div is applied --> <p>Section preamble.</p> <h3>Subsection Example</h3> <p> <!-- h3+p is applied --> Subsection body </p> <!-- End of section body --> </div> FIXME: Care H5 better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130040 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.NAKAMURA Takumi2011-04-18
| | | | | | | | | H1 ... doc_title H2 ... doc_section H3 ... doc_subsection H4 ... doc_subsubsection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129736 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-15
| | | | | | | | Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a hole in the definition of "dependence" used by trap values. TrapDan Gohman2011-04-12
| | | | | | | | values are also transmitted through branches which cause side effects to be skipped altogether. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129404 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Canonicalize URLs.NAKAMURA Takumi2011-04-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129181 91177308-0d34-0410-b5e6-96231b3b80d8
* Pick better examples. "fpext float 3.1415 to double" won't parse because 3.1415Nick Lewycky2011-03-31
| | | | | | | | isn't an exact float. Also "fpext float 1.0 to float" is invalid IR because it's not performing an extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128647 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the signext language in LangRef to closer match zeroext.Cameron Zwarich2011-03-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127808 91177308-0d34-0410-b5e6-96231b3b80d8
* The x86-64 ABI says that a bool is only guaranteed to be sign-extended to a byteCameron Zwarich2011-03-16
| | | | | | | | | | | rather than an int. Thankfully, this only causes LLVM to miss optimizations, not generate incorrect code. This just fixes the zext at the return. We still insert an i32 ZextAssert when reading a function's arguments, but it is followed by a truncate and another i8 ZextAssert so it is not optimized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127766 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that the result of an srem is only guaranteed to have the same sign ↵Duncan Sands2011-03-07
| | | | | | | | | as the left-hand-side if the result is non-zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127156 91177308-0d34-0410-b5e6-96231b3b80d8
* Small cleanup.Bill Wendling2011-03-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126821 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable support for vector sext and trunc:Nadav Rotem2011-02-24
| | | | | | | | | | | | Limit the folding of any_ext and sext into the load operation to scalars. Limit the active-bits trunc optimization to scalars. Document vector trunc and vector sext in LangRef. Similar to commit 126080 (for enabling zext). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126424 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 9267; Add vector zext support.Nadav Rotem2011-02-20
| | | | | | | | | | The DAGCombiner folds the zext into complex load instructions. This patch prevents this optimization on vectors since none of the supported targets knows how to perform load+vector_zext in one instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126080 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoChris Lattner2011-02-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125192 91177308-0d34-0410-b5e6-96231b3b80d8
* implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.Chris Lattner2011-02-07
| | | | | | | Factor some code better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125006 91177308-0d34-0410-b5e6-96231b3b80d8
* enhance vmcore to know that udiv's can be exact, and add a trivialChris Lattner2011-02-06
| | | | | | | | | | instcombine xform to exercise this. Nothing forms exact udivs yet though. This is progress on PR8862 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124992 91177308-0d34-0410-b5e6-96231b3b80d8
* Most browsers eliminate whitespace between anchor tags. Force whitespace withNick Lewycky2011-01-29
| | | | | | | &nbsp; so that the code reads properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124514 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a clarification about merging constants with and without unnamed_addr.Rafael Espindola2011-01-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123530 91177308-0d34-0410-b5e6-96231b3b80d8
* First step in fixing PR8927:Rafael Espindola2011-01-08
| | | | | | | | | | | | | | | | | | | Add a unnamed_addr bit to global variables and functions. This will be used to indicate that the address is not significant and therefore the constant or function can be merged with others. If an optimization pass can show that an address is not used, it can set this. Examples of things that can have this set by the FE are globals created to hold string literals and C++ constructors. Adding unnamed_addr to a non-const global should have no effect unless an optimization can transform that global into a constant. Aliases are not allowed to have unnamed_addr since I couldn't figure out any use for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8
* Integers are primitive types. Update the documentation to state thisTobias Grosser2010-12-28
| | | | | | | This was done for label, void, floating point, x86mmx, metadata, just not integer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122606 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify some of the differences between indexing with getelementptr and ↵Frits van Bommel2010-12-05
| | | | | | indexing with insertvalue/extractvalue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120957 91177308-0d34-0410-b5e6-96231b3b80d8
* Make @llvm.invariant.start not be readonly, so that it has side-effects. ThisNick Lewycky2010-11-30
| | | | | | | | unbreaks test/Transforms/InstCombine/invariant.ll which was broken by r120382. This is a fix-forward to do what I think Chris intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120388 91177308-0d34-0410-b5e6-96231b3b80d8
* a byval argument without an align can have an arbitrary alignmentChris Lattner2010-11-20
| | | | | | | requirement on the input pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119914 91177308-0d34-0410-b5e6-96231b3b80d8
* With the newly simplified SourceMgr interfaces and the generalizedChris Lattner2010-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SrcMgrDiagHandler, we can improve clang diagnostics for inline asm: instead of reporting them on a source line of the original line, we can report it on the correct line wherever the string literal came from. For something like this: void foo() { asm("push %rax\n" ".code32\n"); } we used to get this: (note that the line in t.c isn't helpful) t.c:4:7: error: warning: ignoring directive for now asm("push %rax\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ now we get: t.c:5:8: error: warning: ignoring directive for now ".code32\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ Note that we're pointing to line 5 properly now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119488 91177308-0d34-0410-b5e6-96231b3b80d8
* Random cleanups and format changes.Bill Wendling2010-10-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117428 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the description of the hotpatch attribute even more generic. Spotted byCharles Davis2010-10-25
| | | | | | | Michael Spencer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117286 91177308-0d34-0410-b5e6-96231b3b80d8
* Make hotpatch attribute description a little less Wintel-specific.Charles Davis2010-10-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117267 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-opCharles Davis2010-10-25
| | | | | | | | instruction at the beginning of each function that has the attribute, allowing the function to be easily hooked and/or patched. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264 91177308-0d34-0410-b5e6-96231b3b80d8
* clarify that zero sized vectors are illegal, PR8340Chris Lattner2010-10-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116167 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pasto.Dale Johannesen2010-10-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115261 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some doc for the x86mmx type.Dale Johannesen2010-10-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115255 91177308-0d34-0410-b5e6-96231b3b80d8
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-28
| | | | | | | being actively maintained, improved, or extended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-20
| | | | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a broken linkChris Lattner2010-08-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111326 91177308-0d34-0410-b5e6-96231b3b80d8
* add some &nbsp;'s to a pre to avoid newlines being eaten Chris Lattner2010-08-17
| | | | | | | | and the formatting being thrown off. I admit to not knowing what is going on here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111249 91177308-0d34-0410-b5e6-96231b3b80d8
* Grammar cop pullover: Corrected and improved some grammar in the description ofJohn Criswell2010-07-30
| | | | | | | | the llvm.memset() intrinsic family. No content changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109863 91177308-0d34-0410-b5e6-96231b3b80d8
* Disallow null as a named metadata operand.Dan Gohman2010-07-21
| | | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the Named Metadata example to make it clear which specificDan Gohman2010-07-13
| | | | | | | construct is the named metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263 91177308-0d34-0410-b5e6-96231b3b80d8
* HTML cleanup and validation.Benjamin Kramer2010-07-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108239 91177308-0d34-0410-b5e6-96231b3b80d8
* When doing sext/zext of constants, the target type must be strictlyDuncan Sands2010-07-13
| | | | | | | wider than the source type. Correct LangRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108238 91177308-0d34-0410-b5e6-96231b3b80d8
* sdiv overflow is outright undefined behavior, with or without theDan Gohman2010-07-11
| | | | | | | 'exact' keyword. Thanks to nlewycky for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108064 91177308-0d34-0410-b5e6-96231b3b80d8