aboutsummaryrefslogtreecommitdiffstats
path: root/docs/LangRef.html
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for the special 'fast' value for fpmath accuracy for the moment.Duncan Sands2012-04-161-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154850 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154822 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154744 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154387 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that fpaccuracy metadata is giving the compiler permission to use aDuncan Sands2012-04-091-2/+4
| | | | | | | less accurate method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154319 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/docs/*.html: Fix markups.NAKAMURA Takumi2012-03-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153508 91177308-0d34-0410-b5e6-96231b3b80d8
* First part of PR12251. Add documentation and verifier support for the rangeRafael Espindola2012-03-241-0/+34
| | | | | | metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153359 91177308-0d34-0410-b5e6-96231b3b80d8
* This clause (although matching parts of the implementation) can't be correct.Nick Lewycky2012-03-181-2/+1
| | | | | | | Thanks to Eli for noticing the discrepancy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153011 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the "hello world" example to resemble what we currently output.Bill Wendling2012-03-141-15/+15
| | | | | | | Also do some minor reformatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152707 91177308-0d34-0410-b5e6-96231b3b80d8
* Add column width.Bill Wendling2012-03-061-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152115 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix validation errors.Bill Wendling2012-03-061-16/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152111 91177308-0d34-0410-b5e6-96231b3b80d8
* Where the alloca'd space actually lives in ram is undefined, and attempting toNick Lewycky2012-02-291-1/+6
| | | | | | | pin it down is undefined behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151710 91177308-0d34-0410-b5e6-96231b3b80d8
* Give a description of the Objective-C garbage collection module flags.Bill Wendling2012-02-161-0/+73
| | | | | | | | | | | | | | The rule governing the flags is this: no-gc + no-gc = no-gc no-gc + gc = no-gc no-gc + gc-only = error gc + gc = gc gc + gc-only = gc-only gc-only + gc-only = gc-only git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150646 91177308-0d34-0410-b5e6-96231b3b80d8
* Document the new module flags.Bill Wendling2012-02-111-0/+126
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150301 91177308-0d34-0410-b5e6-96231b3b80d8
* Added description of invariant.load metadata to LangRef. It was added to ↵Pete Cooper2012-02-101-1/+9
| | | | | | the compiler in r144100 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150257 91177308-0d34-0410-b5e6-96231b3b80d8
* [unwind removal] Remove any mention of the 'unwind' instruction. What was thatBill Wendling2012-02-061-51/+10
| | | | | | | instruction anyway?! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149913 91177308-0d34-0410-b5e6-96231b3b80d8
* Mention that the 'unwind' instruction is now deprecated.Bill Wendling2012-02-061-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149876 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix broken link.Nick Lewycky2012-01-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148692 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend Attributes to 64 bitsKostya Serebryany2012-01-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: LLVM needs more function attributes than currently available (32 bits). One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc). Solution: - extend the Attributes from 32 bits to 64-bits - wrap the object into a class so that unsigned is never erroneously used instead - change "unsigned" to "Attributes" throughout the code, including one place in clang. - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking. - the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr); - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work. - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit. Tested: "make check" on Linux (32-bit and 64-bit) and Mac (10.6) built/run spec CPU 2006 on Linux with clang -O2. This change will break clang build in lib/CodeGen/CGCall.cpp. The following patch will fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148553 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to clarify a little how exception handling works.Duncan Sands2012-01-131-4/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148136 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert accidental commit.Bill Wendling2012-01-121-137/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148065 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the code that was WRONG.Bill Wendling2012-01-121-0/+137
| | | | | | | | The registers are placed into the saved registers list in the reverse order, which is why the original loop was written to loop backwards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148064 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the LangRef documentation: the codegen does support this instruction.Nadav Rotem2011-12-251-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147274 91177308-0d34-0410-b5e6-96231b3b80d8
* The powers that be have decided that LLVM IR should now support 16-bitDan Gohman2011-12-171-4/+6
| | | | | | | | | "half precision" floating-point with a first-class type. This patch adds basic IR support (but not codegen support). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
* Vectors are not aggregate types (see isAggregateType).Duncan Sands2011-12-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146561 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the example from clang, not the GCC frontend, which doesn't exist anymore.Bill Wendling2011-12-131-24/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146461 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the LangRef documentation for llvm.ctlz and llvm.cttz to specifyChandler Carruth2011-12-121-23/+37
| | | | | | | | | the behavior with the newly added flag for undefined results on a zero input. I'm terrible at documentation, so comments and suggestions welcome here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146361 91177308-0d34-0410-b5e6-96231b3b80d8
* Random cleanups. No description changes.Bill Wendling2011-12-091-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146288 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Chad Rosier2011-12-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146234 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a subtle semantic issue with poison values that came up inDan Gohman2011-12-061-14/+12
| | | | | | | | | | | recent discussions. Poison can't make every value that depends on it act in maximally undefined ways, because the optimizer may still hoist code following the usual rules for undef. Make Poison invoke its full undefined behavior only when it reaches an instruction with externally visible side effects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145913 91177308-0d34-0410-b5e6-96231b3b80d8
* Line up the comments in a code example.Dan Gohman2011-12-061-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145908 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename "Trap Values" to "Poison Values", to better reflect theirDan Gohman2011-12-061-29/+29
| | | | | | | | purpose, and to avoid ambiguity with other uses of the word "trap" in LangRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145907 91177308-0d34-0410-b5e6-96231b3b80d8
* Move 'returns_twice' definition into alphabetical place.Bill Wendling2011-12-051-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145854 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for vectors of pointers.Nadav Rotem2011-12-051-15/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145801 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix table of contents.Jakub Staszak2011-12-041-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145793 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 'llvm.expect' intrinsic description.Jakub Staszak2011-12-041-0/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145792 91177308-0d34-0410-b5e6-96231b3b80d8
* More cleanups. No content change.Bill Wendling2011-11-301-9/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145522 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanup. No content change.Bill Wendling2011-11-301-7/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145521 91177308-0d34-0410-b5e6-96231b3b80d8
* remove asmparsing and documentation support for "volatile load", which was ↵Chris Lattner2011-11-271-4/+4
| | | | | | only produced by LLVM 2.9 and earlier. LLVM 3.0 and later prefers "load volatile". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145172 91177308-0d34-0410-b5e6-96231b3b80d8
* Reformat the quote and tag the math stuff with <tt> tags.Bill Wendling2011-11-091-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144204 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup the formatting.Bill Wendling2011-11-081-22/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144053 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some misplaced punctuation.Bill Wendling2011-11-041-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143737 91177308-0d34-0410-b5e6-96231b3b80d8
* docs/*.html: Fix markups.NAKAMURA Takumi2011-10-311-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143349 91177308-0d34-0410-b5e6-96231b3b80d8
* Close <div> that was indenting the rest of the page.Nick Lewycky2011-10-311-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143328 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a pinned metadata name for fpaccuracy, and document itPeter Collingbourne2011-10-271-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143135 91177308-0d34-0410-b5e6-96231b3b80d8
* Document tbaa metadata in LangRef (documentation largely based onPeter Collingbourne2011-10-271-1/+52
| | | | | | comments at top of TypeBasedAliasAnalysis.cpp). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143134 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead atomic intrinsics from LangRef.Eli Friedman2011-10-261-514/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142994 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed typo.Lang Hames2011-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141906 91177308-0d34-0410-b5e6-96231b3b80d8
* target data is a contract with the code generator, not the "processor"Chris Lattner2011-10-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141734 91177308-0d34-0410-b5e6-96231b3b80d8
* improve some of the documentation around target data layout strings.Chris Lattner2011-10-111-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141733 91177308-0d34-0410-b5e6-96231b3b80d8