summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.html
Commit message (Collapse)AuthorAgeFilesLines
* docs: Convert LangRef to reST.Sean Silva2012-12-071-9099/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: If you have any patches in the works that modify LangRef, you will need to rewrite the changes to LangRef.html to their equivalents in LangRef.rst. If you need assistance feel free to contact me. Since LangRef is mission-critical for the project and "normative", I have taken extra care to ensure that no content was lost or altered in the conversion. The content was converted with a tool called `pandoc`, so there is no chance for a human error like accidentally forgetting a sentence or whatever. After the initial conversion by `pandoc`, only changes to the markup were done. This is just the most literal conversion of the HTML document as possible. It might be worth exploring some way to chop up this massive document into separate pages, e.g. something like `docs/LangRef/Instructions.rst`, `docs/LangRef/Intrinsics.rst`, etc. with `docs/LangRef.rst` being an "intro/navigation page" of sorts. On the other hand, that loses the ability to {Ctrl,Cmd}-F for a given term right from your browser. IMO, I think our stylesheet needs some work because I find it hard to tell what level of nesting some of the headings are at (e.g. "is this a new section or is it a subsection?"). The issue is present on other pages, but the sheer size and deep section structure of LangRef really brings this issue out. If there are any web designers out there in the community it would be awesome if you tried to come up with something nicer. llvm-svn: 169596
* Removed redundancy in wordingMichael Ilseman2012-11-301-1/+1
| | | | llvm-svn: 169053
* Clean up the documentation to have a common description area for fast-math ↵Michael Ilseman2012-11-301-115/+67
| | | | | | flags. llvm-svn: 169052
* Fast-math flags documentation added to LangRefMichael Ilseman2012-11-271-11/+123
| | | | llvm-svn: 168652
* Correct copy-pasto where we're talking about function attributes and not ↵Bill Wendling2012-11-261-1/+1
| | | | | | parameter attributes. llvm-svn: 168619
* Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.Duncan Sands2012-11-161-6/+21
| | | | llvm-svn: 168166
* Remove trailing whitespaceMichael Ilseman2012-11-161-28/+28
| | | | llvm-svn: 168121
* Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.Craig Topper2012-11-151-0/+102
| | | | llvm-svn: 168026
* Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.Craig Topper2012-11-151-0/+141
| | | | llvm-svn: 168025
* Relax the restrictions on vector of pointer types, and vector getelementptr.Duncan Sands2012-11-131-6/+7
| | | | | | | | | | | | | | | Previously in a vector of pointers, the pointer couldn't be any pointer type, it had to be a pointer to an integer or floating point type. This is a hassle for dragonegg because the GCC vectorizer happily produces vectors of pointers where the pointer is a pointer to a struct or whatever. Vector getelementptr was restricted to just one index, but now that vectors of pointers can have any pointer type it is more natural to allow arbitrary vector getelementptrs. There is however the issue of struct GEPs, where if each lane chose different struct fields then from that point on each lane will be working down into unrelated types. This seems like too much pain for too little gain, so when you have a vector struct index all the elements are required to be the same. llvm-svn: 167828
* Loads and stores without an explicit alignment use the abi alignment not theDuncan Sands2012-10-291-2/+2
| | | | | | preferred alignment. Correct the documentation. llvm-svn: 166925
* Update the LangRef documentation for the per pointer address space support.Micah Villmow2012-10-181-4/+10
| | | | llvm-svn: 166201
* Move TargetData to DataLayout.Micah Villmow2012-10-081-1/+1
| | | | llvm-svn: 165403
* The alignment of an sret parameter is known: it must be at least theDuncan Sands2012-10-041-3/+3
| | | | | | alignment of the return type. Teach the optimizers this. llvm-svn: 165226
* Say "bytes" instead of "address units", since that's what theDan Gohman2012-09-211-5/+5
| | | | | | rest of LangRef uses. llvm-svn: 164402
* Document the new !tbaa.struct metadata.Dan Gohman2012-09-211-0/+39
| | | | llvm-svn: 164398
* [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect toChad Rosier2012-09-051-7/+6
| | | | | | inteldialect. llvm-svn: 163231
* [ms-inline asm] Emit the (new) inline asm Non-Standard Dialect attribute.Chad Rosier2012-09-051-2/+13
| | | | llvm-svn: 163181
* [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. ThisChad Rosier2012-09-041-7/+0
| | | | | | | implementation does not co-exist well with how the sideeffect and alignstack attributes are handled. The reverts r161641. llvm-svn: 163174
* Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' toBill Wendling2012-08-171-10/+9
| | | | | | | | | | | | | | | | | | | | make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> llvm-svn: 162114
* [ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute.Chad Rosier2012-08-101-0/+7
| | | | | | | | | | | | | | This new attribute is intended to be used by the backend to determine how the inline asm string should be parsed/printed. This patch adds the ia_nsdialect attribute and also adds a test case to ensure the IR is correctly parsed, but there is no functional change at this time. The standard dialect is assumed to be AT&T. Therefore, this attribute should only be added to MS-style inline assembly statements, which use the Intel dialect. If we ever support more dialects we'll need to add additional state to the attribute. llvm-svn: 161641
* Add a floor intrinsic.Dan Gohman2012-07-261-0/+35
| | | | llvm-svn: 160791
* Fix two typos in the docSylvestre Ledru2012-07-251-1/+1
| | | | llvm-svn: 160762
* Fix a typo (the the => the)Sylvestre Ledru2012-07-231-1/+1
| | | | llvm-svn: 160621
* Apparently it's possible to do an 'invoke asm'.Nuno Lopes2012-07-171-2/+3
| | | | | | Update the language reference to reflect that. llvm-svn: 160408
* add @llvm.donothingNuno Lopes2012-07-051-2/+28
| | | | llvm-svn: 159758
* Document the llvm.fabs intrinsic.Peter Collingbourne2012-07-031-0/+35
| | | | llvm-svn: 159657
* Extend the IL for selecting TLS models (PR9788)Hans Wennborg2012-06-231-2/+32
| | | | | | | | | | | | | | | This allows the user/front-end to specify a model that is better than what LLVM would choose by default. For example, a variable might be declared as @x = thread_local(initialexec) global i32 42 if it will not be used in a shared library that is dlopen'ed. If the specified model isn't supported by the target, or if LLVM can make a better choice, a different model may be used. llvm-svn: 159077
* revert r158660, since Chris has some issues with this patch (namely using ↵Nuno Lopes2012-06-181-44/+0
| | | | | | | | | | code to reprent information only used by the compiler) Original commit msg: add the 'alloc' metadata node to represent the size of offset of buffers pointed to by pointers. This metadata can be attached to any instruction returning a pointer llvm-svn: 158688
* add the 'alloc' metadata node to represent the size of offset of buffers ↵Nuno Lopes2012-06-181-0/+44
| | | | | | | | pointed to by pointers. This metadata can be attached to any instruction returning a pointer llvm-svn: 158660
* Clarify a bit that the types have to be the same. Came up on IRC.Duncan Sands2012-06-141-1/+1
| | | | llvm-svn: 158453
* Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-addLang Hames2012-06-051-0/+51
| | | | | | | | | | | | expression (a * b + c) that can be implemented as a fused multiply-add (fma) if the target determines that this will be more efficient. This intrinsic will be used to implement FP_CONTRACT support and an aggressive FMA formation mode. If your target has a fast FMA instruction you should override the isFMAFasterThanMulAndAdd method in TargetLowering to return true. llvm-svn: 158014
* Fix typos noticed by Benjamin Kramer.Rafael Espindola2012-05-311-2/+2
| | | | | | | Also make the checks stronger and test that we reject ranges that overlap a previous wrapped range. llvm-svn: 157749
* Require intervals in the range metadata to be in a canonical form: They mustRafael Espindola2012-05-311-0/+4
| | | | | | | | | | | be non contiguous, non overlapping and sorted by the lower end. While this is technically a backward incompatibility, every frontent currently produces range metadata with a single interval and we don't have any pass that merges intervals yet, so no existing bitcode files should be rejected by this. llvm-svn: 157741
* typo fixChris Lattner2012-05-301-1/+1
| | | | llvm-svn: 157661
* rdar://11542750 - llvm.trap should be marked no return.Chris Lattner2012-05-271-2/+2
| | | | llvm-svn: 157551
* Add half support to LLVM (for OpenCL)Tobias Grosser2012-05-241-3/+5
| | | | | | | | | | Submitted by: Anton Lokhmotov <Anton.Lokhmotov@arm.com> Approved by: o Anton Korobeynikov o Micah Villmow o David Neto llvm-svn: 157393
* revert my previous patches that introduced an additional parameter to the ↵Nuno Lopes2012-05-221-12/+8
| | | | | | | | objectsize intrinsic. After a lot of discussion, we realized it's not the best option for run-time bounds checking llvm-svn: 157255
* Fixed grammar for the llvm.trap intrinsic description.John Criswell2012-05-161-2/+2
| | | | llvm-svn: 156881
* Rename @llvm.debugger to @llvm.debugtrap.Dan Gohman2012-05-141-5/+5
| | | | llvm-svn: 156774
* Define a new intrinsic, @llvm.debugger. It will be similar to __builtin_trap(),Dan Gohman2012-05-111-0/+26
| | | | | | but it generates int3 on x86 instead of ud2. llvm-svn: 156593
* change the objectsize intrinsic signature: add a 3rd parameter to denote the ↵Nuno Lopes2012-05-091-10/+14
| | | | | | | | maximum runtime performance penalty that the user is willing to accept. This commit only adds the parameter. Code taking advantage of it will follow. llvm-svn: 156473
* [docs] Update HTML pages to refer to CSS in a way that works locally and ↵Daniel Dunbar2012-04-191-1/+1
| | | | | | with Sphinx. llvm-svn: 155153
* Remove support for the special 'fast' value for fpmath accuracy for the moment.Duncan Sands2012-04-161-7/+3
| | | | llvm-svn: 154850
* Make it possible to indicate relaxed floating point requirements at the IR levelDuncan Sands2012-04-161-8/+11
| | | | | | | | | through the use of 'fpmath' metadata. Currently this only provides a 'fpaccuracy' value, which may be a number in ULPs or the keyword 'fast', however the intent is that this will be extended with additional information about NaN's, infinities etc later. No optimizations have been hooked up to this so far. llvm-svn: 154822
* Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'mDuncan Sands2012-04-141-6/+6
| | | | | | | | | thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2. llvm-svn: 154744
* Express the number of ULPs in fpaccuracy metadata as a real rather than aDuncan Sands2012-04-101-4/+4
| | | | | | rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne. llvm-svn: 154387
* Clarify that fpaccuracy metadata is giving the compiler permission to use aDuncan Sands2012-04-091-2/+4
| | | | | | less accurate method. llvm-svn: 154319
* llvm/docs/*.html: Fix markups.NAKAMURA Takumi2012-03-271-2/+2
| | | | llvm-svn: 153508
* First part of PR12251. Add documentation and verifier support for the rangeRafael Espindola2012-03-241-0/+34
| | | | | | metadata. llvm-svn: 153359
OpenPOWER on IntegriCloud