summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.html
Commit message (Collapse)AuthorAgeFilesLines
...
* 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. llvm-svn: 153011
* Update the "hello world" example to resemble what we currently output.Bill Wendling2012-03-141-15/+15
| | | | | | Also do some minor reformatting. llvm-svn: 152707
* Add column width.Bill Wendling2012-03-061-0/+1
| | | | llvm-svn: 152115
* Fix validation errors.Bill Wendling2012-03-061-16/+24
| | | | llvm-svn: 152111
* 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. llvm-svn: 151710
* 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 llvm-svn: 150646
* Document the new module flags.Bill Wendling2012-02-111-0/+126
| | | | llvm-svn: 150301
* Added description of invariant.load metadata to LangRef. It was added to ↵Pete Cooper2012-02-101-1/+9
| | | | | | the compiler in r144100 llvm-svn: 150257
* [unwind removal] Remove any mention of the 'unwind' instruction. What was thatBill Wendling2012-02-061-51/+10
| | | | | | instruction anyway?! llvm-svn: 149913
* Mention that the 'unwind' instruction is now deprecated.Bill Wendling2012-02-061-0/+3
| | | | llvm-svn: 149876
* Fix broken link.Nick Lewycky2012-01-231-1/+1
| | | | llvm-svn: 148692
* 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. llvm-svn: 148553
* Try to clarify a little how exception handling works.Duncan Sands2012-01-131-4/+8
| | | | llvm-svn: 148136
* Revert accidental commit.Bill Wendling2012-01-121-137/+0
| | | | llvm-svn: 148065
* 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. llvm-svn: 148064
* Update the LangRef documentation: the codegen does support this instruction.Nadav Rotem2011-12-251-3/+0
| | | | llvm-svn: 147274
* 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). llvm-svn: 146786
* Vectors are not aggregate types (see isAggregateType).Duncan Sands2011-12-141-3/+3
| | | | llvm-svn: 146561
* Use the example from clang, not the GCC frontend, which doesn't exist anymore.Bill Wendling2011-12-131-24/+25
| | | | llvm-svn: 146461
* 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. llvm-svn: 146361
* Random cleanups. No description changes.Bill Wendling2011-12-091-14/+14
| | | | llvm-svn: 146288
* Typo.Chad Rosier2011-12-091-1/+1
| | | | llvm-svn: 146234
* 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. llvm-svn: 145913
* Line up the comments in a code example.Dan Gohman2011-12-061-19/+19
| | | | llvm-svn: 145908
* 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. llvm-svn: 145907
* Move 'returns_twice' definition into alphabetical place.Bill Wendling2011-12-051-6/+6
| | | | llvm-svn: 145854
* Add support for vectors of pointers.Nadav Rotem2011-12-051-15/+37
| | | | llvm-svn: 145801
* Fix table of contents.Jakub Staszak2011-12-041-4/+4
| | | | llvm-svn: 145793
* Add 'llvm.expect' intrinsic description.Jakub Staszak2011-12-041-0/+26
| | | | llvm-svn: 145792
* More cleanups. No content change.Bill Wendling2011-11-301-9/+13
| | | | llvm-svn: 145522
* Minor cleanup. No content change.Bill Wendling2011-11-301-7/+23
| | | | llvm-svn: 145521
* 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". llvm-svn: 145172
* Reformat the quote and tag the math stuff with <tt> tags.Bill Wendling2011-11-091-6/+9
| | | | llvm-svn: 144204
* Cleanup the formatting.Bill Wendling2011-11-081-22/+37
| | | | llvm-svn: 144053
* Fix some misplaced punctuation.Bill Wendling2011-11-041-2/+2
| | | | llvm-svn: 143737
* docs/*.html: Fix markups.NAKAMURA Takumi2011-10-311-7/+4
| | | | llvm-svn: 143349
* Close <div> that was indenting the rest of the page.Nick Lewycky2011-10-311-0/+3
| | | | llvm-svn: 143328
* Add a pinned metadata name for fpaccuracy, and document itPeter Collingbourne2011-10-271-0/+30
| | | | llvm-svn: 143135
* Document tbaa metadata in LangRef (documentation largely based onPeter Collingbourne2011-10-271-1/+52
| | | | | | comments at top of TypeBasedAliasAnalysis.cpp). llvm-svn: 143134
* Remove dead atomic intrinsics from LangRef.Eli Friedman2011-10-261-514/+0
| | | | llvm-svn: 142994
* Fixed typo.Lang Hames2011-10-131-1/+1
| | | | llvm-svn: 141906
* target data is a contract with the code generator, not the "processor"Chris Lattner2011-10-111-1/+1
| | | | llvm-svn: 141734
* improve some of the documentation around target data layout strings.Chris Lattner2011-10-111-0/+16
| | | | llvm-svn: 141733
* Fixed docs to reflect the proper default value and behaviour of the natural ↵Lang Hames2011-10-111-1/+2
| | | | | | stack alignment. llvm-svn: 141687
* Use the proper name for "externally visible" linkage -- 'external'. This is theBill Wendling2011-10-111-4/+4
| | | | | | | keyword in LLVM for externally visible linkage. PR10636 llvm-svn: 141649
* Add a natural stack alignment field to TargetData, and prevent InstCombine fromLang Hames2011-10-101-0/+6
| | | | | | | | | | | | | | promoting allocas to preferred alignments that exceed the natural alignment. This avoids some potentially expensive dynamic stack realignments. The natural stack alignment is set in target data strings via the "S<size>" option. Size is in bits and must be a multiple of 8. The natural stack alignment defaults to "unspecified" (represented by a zero value), and the "unspecified" value does not prevent any alignment promotions. Target maintainers that care about avoiding promotions should explicitly add the "S<size>" option to their target data strings. llvm-svn: 141599
* Remove last references to hotpatch.Rafael Espindola2011-10-041-8/+0
| | | | llvm-svn: 141057
* Add the returns_twice attribute to LLVM.Rafael Espindola2011-10-031-0/+5
| | | | llvm-svn: 141001
* Split the init.trampoline intrinsic, which currently combines GCC'sDuncan Sands2011-09-061-18/+53
| | | | | | | | | | | | | | | | | | | | init.trampoline and adjust.trampoline intrinsics, into two intrinsics like in GCC. While having one combined intrinsic is tempting, it is not natural because typically the trampoline initialization needs to be done in one function, and the result of adjust trampoline is needed in a different (nested) function. To get around this llvm-gcc hacks the nested function lowering code to insert an additional parent variable holding the adjust.trampoline result that can be accessed from the child function. Dragonegg doesn't have the luxury of tweaking GCC code, so it stored the result of adjust.trampoline in the memory GCC set aside for the trampoline itself (this is always available in the child function), and set up some new memory (using an alloca) to hold the trampoline. Unfortunately this breaks Go which allocates trampoline memory on the heap and wants to use it even after the parent has exited (!). Rather than doing even more hacks to get Go working, it seemed best to just use two intrinsics like in GCC. Patch mostly by Sanjoy Das. llvm-svn: 139140
* Some minor updates to atomic acquire/release docs in LangRef.Eli Friedman2011-08-241-7/+8
| | | | llvm-svn: 138472
OpenPOWER on IntegriCloud