Commit Graph

560 Commits

Author SHA1 Message Date
Devang Patel
f8b94812a1 Document function notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55808 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 23:05:13 +00:00
Gabor Greif
fb224a20bc use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54490 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07 21:46:00 +00:00
Bill Wendling
837f39b839 It's "a static", not "an static"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 22:29:16 +00:00
Chris Lattner
d3eda89f4c Expand acronyms, suggested by Walter Pawley
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 18:29:16 +00:00
Chris Lattner
ebec678055 Capitalize LLVM, suggested by Walt Pawley
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 18:21:08 +00:00
Mon P Wang
e3b3a7241c Added support for overloading intrinsics (atomics) based on pointers
to different address spaces.  This alters the naming scheme for those
intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54195 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-30 04:36:53 +00:00
Nate Begeman
5bc1ea0736 Add vector shifts to the IR, patch by Eli Friedman.
CodeGen & Clang work coming next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 15:49:41 +00:00
Duncan Sands
0789b8b518 Note that 'nest' only applies to pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 09:27:25 +00:00
Mon P Wang
2887310630 Added MemOperands to Atomic operations since Atomics touches memory.
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 08:15:39 +00:00
Dan Gohman
52bb2db709 Fix the syntax of insertvalue in the example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52623 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-23 15:26:37 +00:00
Chris Lattner
4eaac9b181 integer types are not primitive, they are derived.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52551 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-20 20:50:48 +00:00
Dan Gohman
0066db626f Fix a missing comma spotted by Bram Geron.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 18:42:13 +00:00
Dan Gohman
81a0c0b44e IR, bitcode reader, bitcode writer, and asmparser changes to
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.

There's definately more to come here, but I'm checking this 
basic support in now to make it available to people who are
interested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 00:58:22 +00:00
Dale Johannesen
2307a7f0cf Document common linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 23:13:41 +00:00
Dan Gohman
ade5faa83f label is a first-class type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51512 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:50:26 +00:00
Dan Gohman
c4b49eb985 Update the description of first-class types to reflect that
structs and arrays are now first-class. And fix a sentance
fragment in the insertvalue description. Thanks to Chris
for pointing these out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51506 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:53:15 +00:00
Chris Lattner
5568e94dbf Clarify that and/or/xor/sdiv etc all allow vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51335 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 20:48:21 +00:00
Arnold Schwaighofer
9097d14e57 Add documentation for tail call optimization to CodeGenerator.html. Add a link
referring to it to LangRef.html.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 09:17:12 +00:00
Dan Gohman
c3dac5cbfe s/indicies/indices/ and clarify the extractvalue and insertvalue are
working with struct field or array element values. Thanks Duncan!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51059 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 18:16:06 +00:00
Dan Gohman
a334d5f535 Initial documentation for first-class aggregates changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51013 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:51:09 +00:00
Dan Gohman
f3480b94b4 Fix a malformed %gt;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51011 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:38:42 +00:00
Nate Begeman
ac80ade158 Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
for details.  CodeGen support coming in a follow up patch


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:01:56 +00:00
Chris Lattner
05d670971e Doc updates/edits, contributed by Terence Parr!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50205 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-24 05:59:56 +00:00
Chris Lattner
f4cde4ec81 fix description of 'ret' to be more correct with multiple return
values.  Clarify that it is impossible to 'multiply return' a 
struct with zero elements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 04:59:35 +00:00
Chris Lattner
1c406d77a6 Allow undef as an operand to getresult.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 04:06:52 +00:00
Chris Lattner
e0db56db31 free(null) -> noop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 22:41:32 +00:00
Chris Lattner
72ed200a7e Some clarifications suggested by Jon Sargeant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 21:01:16 +00:00
Chris Lattner
4316dec10e more edits from Jon Sargeant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 00:38:26 +00:00
Chris Lattner
5a15814098 add a dropped hunk from Jon Sargeant's patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:47:32 +00:00
Chris Lattner
a73afe00b2 make langref more precise, wave 1, from Jon Sargeant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:45:27 +00:00
Devang Patel
7a3ad1a401 void type is also a valid function return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 20:52:42 +00:00
Devang Patel
3a5bff8d04 Fix typo. Clarify underlying message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48734 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 18:10:52 +00:00
Devang Patel
a582f404df Update Function type documentation to clarify how multiple return values are supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:35:41 +00:00
Anton Korobeynikov
726d45c548 Aliasing chains cleanups: update langref, add check into verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48685 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22 08:36:14 +00:00
Chris Lattner
772fccfe45 clean up and fix the call section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48651 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 17:24:17 +00:00
Chris Lattner
45c5e8b7dc cleanups for the getresult section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48650 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 17:20:51 +00:00
Duncan Sands
b7f0c082cb Clarify the unwind attribute. Add assumption
about sret made by the optimizers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-17 12:17:41 +00:00
Nick Lewycky
d703f65984 Commit works on regular functions too. Fix the syntax to allow @foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-16 07:18:12 +00:00
Devang Patel
0dbb4a1398 fix grammer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48211 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11 05:51:59 +00:00
Devang Patel
c3fc6dfa59 Document multiple return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 20:49:15 +00:00
Andrew Lenharth
ab0b949e0e Atomic op support. If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47430 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21 06:45:13 +00:00
Duncan Sands
e26dec68a1 Clarify that 'sret' only applies to pointers, and
only applies to the first parameter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47256 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 04:19:38 +00:00
Owen Anderson
117bbd37b8 Make the definition of the noalias attribute clearer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47255 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 04:09:01 +00:00
Andrew Lenharth
22c5c1b2df llvm.memory.barrier, and impl for x86 and alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47204 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16 01:24:58 +00:00
Gabor Greif
1acd2eed98 explain that NumElements in alloca and malloc defaults to one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 22:24:34 +00:00
Chris Lattner
103e2d760f llvm.sqrt(-0.0) is defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46500 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29 07:00:44 +00:00
Chris Lattner
5ec898399f make handling of overflow and undefined results much more clear.
Patch by Eli Friedman, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46428 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-28 00:36:27 +00:00
Anton Korobeynikov
4cb8618d7f Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 22:31:34 +00:00
Chris Lattner
0747baaf6a clarify that byval is valid for any pointer argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 04:34:22 +00:00
Chris Lattner
47507ded8c document the byval parameter attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45855 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-11 06:20:47 +00:00
Chris Lattner
a31d1d7aea improve description of alignment, patch by Alain Frisch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-06 21:04:43 +00:00
Chris Lattner
4b2cbcf4c2 Fix typo noticed by 'Danny' in PR1901
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45661 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-06 19:51:52 +00:00
Chris Lattner
8f8c7b7c26 fix nesting issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45566 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-04 04:34:14 +00:00
Chris Lattner
c7d3ab365f fix validation issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-04 04:33:49 +00:00
Chris Lattner
4f69f46d3d improve the description of types, patch by Alain Frisch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45564 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-04 04:32:38 +00:00
Chris Lattner
64910eeec4 update to llvm 2.0 syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45355 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-25 20:34:52 +00:00
Gordon Henriksen
e1433f24cf Noting and enforcing that GC intrinsics are valid only within a
function with GC.

This will catch the error when the inliner inlines a function with
GC into a caller with no GC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45350 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-25 02:31:26 +00:00
Chris Lattner
23ff1f910f fix more table abuses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45187 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-19 05:04:11 +00:00
Chris Lattner
b9488a6890 avoid confusing terminology (what is a "word"?), fix scary markup, add section to TOC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45150 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 06:18:21 +00:00
Christopher Lamb
303dae993a Make it clear in the LangRef that allocation instructions only operated on the generic address space. Implement support in the verifier for ensuring this is true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45080 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17 01:00:21 +00:00
Christopher Lamb
d49e18d29f Implement part of review feedback for address spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-12 08:44:39 +00:00
Christopher Lamb
284d992777 Add information on address space qualifiers for pointer types and global
declarations to the LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44860 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-11 09:31:00 +00:00
Gordon Henriksen
e754abea46 Fix a typo spotted by Nick Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44774 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:30:21 +00:00
Gordon Henriksen
80a75bfae9 Adding a collector name attribute to Function in the IR. These
methods are new to Function:

  bool hasCollector() const;
  const std::string &getCollector() const;
  void setCollector(const std::string &);
  void clearCollector();

The assembly representation is as such:

  define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to 
collector names, such that there is no overhead. A StringPool is 
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:18:06 +00:00
Duncan Sands
dc024674ff Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls.  This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll).  Hopefully
a bitcode guru (who might that be? :) ) will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 13:23:08 +00:00
Duncan Sands
ed4a2f1688 Rename the 'const' parameter attribute to 'readnone',
and the 'pure' parameter attribute to 'readonly'.
Names suggested by DannyB.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44273 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22 20:23:04 +00:00
Nate Begeman
b348d18caf Add support for vectors to int <-> float casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44204 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17 03:58:34 +00:00
Duncan Sands
f04d584cae Tweak the descriptions of the new 'const' and 'pure' attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-14 21:14:02 +00:00
Anton Korobeynikov
e925df7f02 Document pure/const parameter attributes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-14 10:30:13 +00:00
Dan Gohman
80176319f3 Add support for vector remainder operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43744 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 23:35:22 +00:00
Bill Wendling
8c6c72d0ba Put correct link in example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43216 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-22 05:10:05 +00:00
Dan Gohman
ba83b7eb40 Don't mention -enable-unsafe-fp-math in LangRef.html, as that option is
assumed to globally mutate the spec.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43078 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 18:05:13 +00:00
Dan Gohman
91c284c0a6 Document the new llvm.sin, llvm.cos, and llvm.pow intrinsics. Feedback
is welcome!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43007 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-15 20:30:11 +00:00
Gordon Henriksen
8ac04ff5ac Fixing a typo. Found by Kevin André!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42956 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-14 00:34:53 +00:00
Chris Lattner
6ccc2d579e Clarify that shifts that are too large are undefined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42588 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-03 21:01:14 +00:00
Chris Lattner
cc68939ba6 remove extraneous tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-03 17:34:29 +00:00
Chris Lattner
4ef2b76cd1 remove misleading documentation: LLVM has no atomic support yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-03 17:33:51 +00:00
Dale Johannesen
408f9c1968 Document new sqrt and powi handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42540 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-02 17:47:38 +00:00
Bill Wendling
03295ca4e6 Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42225 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-22 09:23:55 +00:00
Chris Lattner
885190418f fix bugs in the manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42221 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-22 03:17:52 +00:00
Tanya Lattner
d3989a820c Correct names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42219 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-22 00:03:01 +00:00
Tanya Lattner
91d0b88f17 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42217 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-22 00:01:26 +00:00
Tanya Lattner
e1a8da08be One last fix to get name correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42216 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-21 23:57:59 +00:00
Tanya Lattner
0f5dbfbe14 Fix silly typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42215 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-21 23:57:04 +00:00
Tanya Lattner
39cfba629f Update annotation intrinsic with more details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42214 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-21 23:56:27 +00:00
Tanya Lattner
b636788914 Adding support for __builtin_annotation with an intrinsic called llvm.annotation. This is similar to llvm.var.annotation but is applied to expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42211 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-21 22:59:12 +00:00
Chris Lattner
1df4f752f8 gcroot must take concrete types, not arbitrary types.
clean up intrinsic descriptions in langref a bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42194 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-21 17:30:40 +00:00
Duncan Sands
f7331b3dd7 Fold the adjust_trampoline intrinsic into
init_trampoline.  There is now only one
trampoline intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41841 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-11 14:10:23 +00:00
Nick Lewycky
db7e3c9e99 Fix description of the call instruction. There are two types, with one being
optional.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41785 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-08 13:57:50 +00:00
Duncan Sands
c00c2baf48 Implement review feedback on trampoline documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41304 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 23:39:54 +00:00
Reid Spencer
2c45228651 Describe the global/local naming convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 14:34:28 +00:00
Chandler Carruth
6994040a95 This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:51:18 +00:00
Reid Spencer
1539a1cfc6 fp2uint -> fptoui
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40633 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:40:14 +00:00
Duncan Sands
50f19f5860 Forget to add 'nest' to the list of parameter
attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 19:57:41 +00:00
Duncan Sands
36397f5034 Support for trampolines, except for X86 codegen which is
still under discussion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 12:58:54 +00:00
Chandler Carruth
6813c15e1d No longer referencing "shared memory" as this can confuse people. The memory is
clearly shared between processors if these instructions are being used, no 
further specification of what type of memory is necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 20:14:52 +00:00
Reid Spencer
1cff40819c Silly HTML
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40117 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 20:03:33 +00:00
Reid Spencer
2067764e29 Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 19:59:11 +00:00
Chandler Carruth
2eb93b3f03 This introduces the atomic operation intrinsics into the documentation. This is
a preview for the intrinsics that are going to be implemented over the next few 
weeks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 19:34:37 +00:00
Reid Spencer
9445e9aaa0 For PR1553:
Change the keywords for the zext and sext parameter attributes to be 
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 23:13:04 +00:00
Dan Gohman
d6257fe581 Fix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
which appears to be the intent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 14:37:41 +00:00
Chris Lattner
744ff41e0e remove obsolete note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39825 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:08:19 +00:00
Chris Lattner
3e63a9d52c fix some bugs in the manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39822 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:01:46 +00:00
Gabor Greif
04367bfc20 first pass of nomenclature changes in .html files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37956 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 22:07:22 +00:00
Tanya Lattner
d2e8442a13 Update docs for llvm.var.annotation intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37635 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-18 23:42:37 +00:00
Tanya Lattner
6d806e93ce Add local var annotation intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37603 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-15 20:50:54 +00:00
Chris Lattner
6c0955b9cb one final bugfix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37558 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-12 17:01:15 +00:00
Chris Lattner
a89e5f1fd5 modernize example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37557 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-12 17:00:26 +00:00
Chris Lattner
4a3c901903 wording fix noticed by Ivan Novick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37519 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-08 16:52:14 +00:00
Chris Lattner
a18a424f98 update to match latest changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-06 18:28:13 +00:00
Zhou Sheng
febca3499e Commit first round work of PR1373. "noalias" is now fully supported in
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-05 05:28:26 +00:00
Chris Lattner
cabc8469f2 more fixes to C code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37339 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-29 15:43:56 +00:00
Bill Wendling
aac388b363 Fixed some formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37338 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-29 09:42:13 +00:00
Bill Wendling
2f7a8b091a Fix for PR1452. Removed "define" keyword from the C code. Added "<div
class="doc_code">" to code examples.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37335 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-29 09:04:49 +00:00
Chris Lattner
d1d25174cd remove contradiction owen noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37327 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-24 19:13:27 +00:00
Reid Spencer
2b91631e44 Update for arbitrary precision integer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37109 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-16 18:44:01 +00:00
Reid Spencer
c6749c42c3 The wrapping behavior of part_set is not desirable. Adjust the
documentation to describe the desired behavior.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37036 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 16:50:20 +00:00
Reid Spencer
d6a85b54de Revise definition of part_select. The wrapping behavior is not useful so
in the reverse case the only difference is that the bits are returned in
reverse order.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37035 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 16:14:57 +00:00
Anton Korobeynikov
6f9896fcc8 Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 18:35:00 +00:00
Anton Korobeynikov
c6c98af9e5 Implement review feedback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36564 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 18:02:48 +00:00
Jeff Cohen
b627eab040 Minor corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 01:07:00 +00:00
Anton Korobeynikov
a80e1181b7 Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36537 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 13:45:00 +00:00
Anton Korobeynikov
8b0a8c84da Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:27:10 +00:00
Jeff Cohen
cb75731bf4 Undo erroneous corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36340 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 14:56:37 +00:00
Jeff Cohen
6f1cc770e2 Minor corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36325 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 01:17:39 +00:00
Christopher Lamb
2330e4d4c4 add support for alignment attributes on load/store instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36301 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-21 08:16:25 +00:00
Lauro Ramos Venancio
a4563364d0 update documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35953 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-12 20:34:36 +00:00
Reid Spencer
f0dbf64d0c Fix extra argument in part_set examples. Thanks Zhiru.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35936 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-12 01:03:03 +00:00
Reid Spencer
c891084372 Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 23:49:50 +00:00
Reid Spencer
065cc7fa58 Missing end tag. Thanks, Nick.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35932 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 23:46:06 +00:00
Reid Spencer
e31a27d721 Put period inside the paragraph!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35930 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 23:26:07 +00:00
Reid Spencer
f86037f17d Document the part_set intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35929 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 23:23:49 +00:00
Reid Spencer
beacf66d3f Fix name of an intrinsic: bit.part_select -> part.select
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35853 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-10 02:51:31 +00:00
Reid Spencer
8d8e1eb284 Remove the part_set intrinsic. It won't get implemented as an intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35667 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 19:15:59 +00:00
Reid Spencer
771b675c51 Appease Chris' pedantic streak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35647 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 05:46:04 +00:00
Reid Spencer
a3e435fdfd Remove intrinsics that we will not be implementing.
Fix the anchor names of intrinsics to all be int_ so as to distinguish
them from the i_ prefix reserved for instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35645 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 02:42:35 +00:00
Reid Spencer
338ea097f2 bwsap -> bswap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 02:25:19 +00:00
Reid Spencer
543ab1d784 Fix some bswap typos that Chris noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35564 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 00:19:52 +00:00
Reid Spencer
a13ba7d597 Preview documentation for additional intrinsic functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35558 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 19:00:37 +00:00
Reid Spencer
497d93e61f For PR1297:
Preview documentation for the llvm.bit.concat intrinsic (yet to be
implemented).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 08:27:01 +00:00
Reid Spencer
409e28f9cc For PR1297:
Document changes to bswap and bit counting intrinsics. bswap's name now
requires two types in the suffix per overloaded intrinsic naming rules.
The ctpop, cttz, and ctlz intrinsics were changed to always return i32.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35550 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 08:04:23 +00:00
Duncan Sands
526cdf6b9e Remove reference to checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35507 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 16:09:58 +00:00
Duncan Sands
8036ca47e2 Various hopefully correct easy fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 12:22:09 +00:00
Reid Spencer
c10f0af135 Undocument the implementation keyword
Docuemnt the checkpoint keyword


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35413 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 02:46:29 +00:00
Reid Spencer
64f5c6c357 Fix a link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35306 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-24 22:40:44 +00:00
Reid Spencer
c9fdfc8e9f Correct the description of srem. remainder follows the dividend not the
divisor!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35303 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-24 22:23:39 +00:00
Reid Spencer
2dc5201eae Add noreturn function attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35262 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 02:18:56 +00:00
Reid Spencer
67606125f6 Preview nounwind function attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35256 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 02:02:11 +00:00
Anton Korobeynikov
ec43a0662a More LangRef fixes. Corrected names of intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35249 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 00:02:17 +00:00
Anton Korobeynikov
5d522f36ca Fixed va_arg example. Reported by Roman Samoilov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35248 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 23:58:04 +00:00
Jim Laskey
dd4ef1b540 Add link to exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35102 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-14 19:31:19 +00:00
Reid Spencer
de15194839 Add a section on the target datalayout syntax and describe the defaults
and rules used by LLVM to construct the target's layout rules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 23:54:10 +00:00
Reid Spencer
485bad1a09 For PR1195:
Packed -> Vector


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34296 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 03:07:05 +00:00
Reid Spencer
8e11bf8508 Put the Shift instructions in the right section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33782 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 13:57:07 +00:00
Reid Spencer
569f2fa7f1 Preview of the shift instructions becoming Binary Operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31 21:39:12 +00:00
Anton Korobeynikov
66a8c8ccb8 Grammar fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33602 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 15:27:21 +00:00
Anton Korobeynikov
34d6dea849 Document 'inreg' & 'sret'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33600 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 14:30:45 +00:00
Anton Korobeynikov
8cea37b79a Updating documentation:
- Document visibility stuff
 - Fix gcc' supported attributes list
 - Document udis86 configure option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 12:35:46 +00:00
Reid Spencer
24d6da5fed For PR970:
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 00:29:26 +00:00
Reid Spencer
03c056a617 icmp doesn't support comparison of packed types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 17:11:12 +00:00
Reid Spencer
7bf214d8d0 One more @ to remove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33240 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 18:28:34 +00:00
Reid Spencer
950e9f83ea Update documentation for parameter attributes for the syntax change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33238 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 18:27:39 +00:00
Chris Lattner
3b19d65897 Terminology change: drop 'integral' completely. Now we just have integer,
which includes i1.  Change the semantics of the various instructions to
support i1 where they didn't before: for example, it is now legal [though
not terribly useful, as it is the same as xor] to add two i1 values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33217 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 01:54:13 +00:00
Chris Lattner
4887bd8f8e clarify linkonce/weak linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33201 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-14 06:51:48 +00:00
Reid Spencer
4580e529f9 Fix an incorrect conversion of int -> i32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33199 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-14 06:29:54 +00:00
Chris Lattner
68027ea618 add a global variable example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33190 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-14 00:27:09 +00:00
Anton Korobeynikov
7f70559bc4 * PIC codegen for X86/Linux has been implemented
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33136 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 19:20:47 +00:00
Reid Spencer
b592952fe9 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 15:46:11 +00:00
Reid Spencer
c78f33757d Update for changes in the assembly syntax. bool is replaced with i1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 03:35:51 +00:00
Reid Spencer
19b569fc08 Explain that bitcast can only cast a pointer to another pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33041 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-09 20:08:58 +00:00
Chris Lattner
b75137d1f4 Fully specify the type of the llvm.va* intrinsics. This helps resolve
Pr1093


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33009 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-08 07:55:15 +00:00
Chris Lattner
30ade26ef7 llvm.isunordered is no longer alive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32995 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-07 08:53:26 +00:00
Reid Spencer
5cf0fe40d0 Add an example to the trunc instruction to clarify trunc to bool.
Example provided by Baptiste Lepilleur.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32931 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:33:08 +00:00
Reid Spencer
ac8d27686d Correct the documentation for function declarations. They can have dllimport
or extern_weak linkage as well as "externally visible".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32887 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 00:59:10 +00:00
Reid Spencer
a5173381e9 Clean up usage of "unsigned" and "signed" in the documentation to indicate
only that specific instructions regard their operands as signed and
unsigned not that the operands *are* signed or unsigned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32874 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 16:43:23 +00:00
Reid Spencer
350f8aa72d icmp and fcmp do not take packed type operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32864 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 05:19:58 +00:00
Reid Spencer
c28d2bc476 Remove documentation of non-existent cextcc and csretextcc calling
conventions as these have been replaced with parameter attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32797 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 21:30:18 +00:00
Reid Spencer
f17a0b7117 One more try on the table formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 07:20:23 +00:00
Reid Spencer
92f8230f01 Clean up some typos and formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32792 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 07:18:34 +00:00
Reid Spencer
ca86e16032 For PR950:
Update for signless integer types:
1. Replace [us]byte with i8
2. Replace [u]short with i16
3. Replace [u]int   with i32
4. Replace [u]long  with i64
5. Document the "define" keyword and use it in all examples.
6. Document parameter attributes and how they affect function types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 07:07:53 +00:00
Reid Spencer
6f85b9d743 Preview of new calling conventions: cextcc and csretextcc to handle explicit
sign and zero extension in function calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32764 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-28 16:55:55 +00:00
Andrew Lenharth
75e1068c60 Packed Structure Definitions (docs)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32357 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 17:13:00 +00:00
Reid Spencer
93a498566a Tie the ordered/unordered predicate descriptions to their meaning wrt
to QNAN values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32272 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 07:08:07 +00:00
Reid Spencer
85f5b5b9dc We only support 32-bit or 64-bit sequential type indices for GEP. Document
it as so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-04 21:29:24 +00:00
Reid Spencer
01c4259d41 Document the icmp and fcmp constant expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32188 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-04 19:23:19 +00:00
Reid Spencer
42ddd84add Update for signless GEP semantics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-03 16:53:48 +00:00
Chris Lattner
722a0cafbd remove dead tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31944 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-27 21:53:28 +00:00
Reid Spencer
b7f26289b1 Corrections from review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31865 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-19 03:00:14 +00:00
Reid Spencer
36d68e418d Update a reference to the old setcc instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31860 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:55:45 +00:00
Reid Spencer
f3a70a6cd9 For PR950:
Documentation preview of the upcoming icmp and fcmp instructions that
will replace the various setcc instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31859 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:50:54 +00:00
Reid Spencer
5c0ef47d83 Document new constant expr operators, rename bitconvert as bitcast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31693 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 23:08:07 +00:00
Reid Spencer
72679258ff Add a preview of two new conversion operators: ptrtoint and inttoptr. Update
the defintion of bitconvert correspondingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31688 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 21:00:47 +00:00
Reid Spencer
d4448796cf Post-review changes on conversion instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31607 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 23:03:26 +00:00
Reid Spencer
3fa91b08a4 Fix runaway <tt> element and section ordering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31606 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:48:10 +00:00
Reid Spencer
16c469e660 Remove futurisms that won't be in our future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31605 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:42:14 +00:00
Reid Spencer
035ab57f4a One more time for indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31604 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:18:01 +00:00
Reid Spencer
47ce179995 Fix indentation problem starting at GEP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31603 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:15:49 +00:00
Reid Spencer
3822ff5c71 For PR950:
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 06:47:33 +00:00
Reid Spencer
2fd21e6e4e Fix the section headings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31532 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 01:18:52 +00:00
Reid Spencer
9dee3acd91 For PR950:
Early commit of the documentation for new conversion instructions for
easier review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31531 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 01:11:31 +00:00
Reid Spencer
0a783f783c For PR950:
Replace the REM instruction with UREM, SREM and FREM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 01:53:59 +00:00
Reid Spencer
1628cec4d7 For PR950:
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 06:15:43 +00:00
Chris Lattner
32b5d717ce clarify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30966 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15 20:05:59 +00:00
Anton Korobeynikov
b74ed07bfd Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 18:23:27 +00:00
Chris Lattner
f4d252dc3a new powi intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30175 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-08 06:34:02 +00:00
Chris Lattner
884a9702bb Add a link to the GEP faq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29690 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 00:45:58 +00:00
Chris Lattner
81c01f0d2c Decribe the "implementation" keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28762 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-13 03:05:47 +00:00
Chris Lattner
5710ce915e New calling convention I will be adding shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28403 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-19 21:15:36 +00:00
Chris Lattner
374ab3016e Update dox, patch by Vladimir Prus!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28306 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-15 17:26:46 +00:00
Chris Lattner
76b8a33f4a Change token to match asmprinter output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28285 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 18:23:06 +00:00
Chris Lattner
99d3c276cc typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27936 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-21 21:37:40 +00:00
Tanya Lattner
0947429538 Adding back vector instructions to keep in mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27704 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-14 19:24:33 +00:00
Tanya Lattner
36ba6d4d53 Removing unimplemented vector instructions from language referrence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27703 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-14 19:07:42 +00:00
Chris Lattner
3df241e4b2 Move the vector instructions to their own subsection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27545 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 23:07:04 +00:00
Chris Lattner
1eeeb0cce3 Wrap long lines, fix verification error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27531 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 04:40:53 +00:00
Chris Lattner
1bb8d30018 use the right escapes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27530 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 04:39:19 +00:00
Chris Lattner
c1989542eb Description for the new shufflevector instruction I'm adding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27502 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 00:13:41 +00:00
Chris Lattner
b3e7afd9ee Fix a typo, thanks to Gabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27054 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 07:16:10 +00:00
Robert Bocchino
230bd09aed Fixed a typo in the vsetfp examples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 23:22:57 +00:00
Robert Bocchino
8949de2588 Split the 'vset' instruction into two instructions, 'vsetint' and
'vsetfp', to reflect the fact that the semantics are different for
integer and fp values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26767 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 20:55:28 +00:00
Chris Lattner
80626e947f Update this to match the documentation in the GC doc and to match actual
practice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26766 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 20:02:51 +00:00
Reid Spencer
05fe4b0256 Changes docs for llvm.cs.uiuc.edu -> llvm.org
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26746 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:39:39 +00:00
Chris Lattner
f0afc2cda2 Spec change: the size of a memset/memcpy/memmove is not required to be aligned
to the alignment argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26510 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-04 00:02:10 +00:00
Chris Lattner
41edaa0529 remove the read/write port/io intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 00:19:58 +00:00
Chris Lattner
5b310c3c8b Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26477 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 00:07:20 +00:00
Robert Bocchino
7b81c758ab Added documentation for vset and vselect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26264 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-17 21:18:08 +00:00
Chris Lattner
e87d653da6 document the syntax of inline asm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 23:47:57 +00:00
Chris Lattner
52599e17b1 minor syntax change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25566 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 00:37:20 +00:00
Chris Lattner
4e9aba7c12 document module-level inline asm support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25561 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 23:23:47 +00:00
Chris Lattner
ec6cb6115f like bswap, the ct* intrinsics require unsigned operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25373 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 22:38:59 +00:00
Chris Lattner
8a886be335 Consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25372 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 22:34:14 +00:00
Reid Spencer
7c898553b6 There is no llvm.bswap.i8, need at least 2 bytes to swap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25367 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 21:14:01 +00:00
Reid Spencer
0b118206bf For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 21:12:35 +00:00
Robert Bocchino
05ccd70396 Added spec for insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25342 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-15 20:48:27 +00:00
Nate Begeman
7e36c47307 Make the bswap documentation more to sabre's liking!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25302 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13 23:26:38 +00:00
Chris Lattner
fb6977de4f fix some minor errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25301 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13 23:26:01 +00:00
Nate Begeman
ed4ac951e5 Add documentation for the upcoming bswap intrinsics!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25300 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13 23:02:51 +00:00
Chris Lattner
57e1f39713 Add llvm.stacksave and llvm.stackrestore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25264 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13 02:03:13 +00:00
Chris Lattner
fcf39d4589 void* is not legal in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25262 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-13 01:20:27 +00:00
Robert Bocchino
9fbe14586d Expanded the documentation for constant expressions to cover select
and extractelement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25183 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-10 19:31:34 +00:00
Robert Bocchino
3a55866622 Added the spec for the new "extractelement" instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25113 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-05 17:37:02 +00:00
Chris Lattner
d07c3f4279 Fix some typos noticed by Gabor Greif!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24364 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-15 06:07:55 +00:00
Chris Lattner
88f6c46cb9 document sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24317 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-12 00:45:07 +00:00
Andrew Lenharth
51b8d54922 continued readcyclecounter support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11 16:47:30 +00:00
Jeff Cohen
25d4f7e67b Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24298 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11 02:15:27 +00:00
Chris Lattner
b8d172f800 Packed elements must be a power of two in size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24266 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-10 01:44:22 +00:00
Chris Lattner
2cbdc45f35 document alignment on globals, functions, and allocation instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24221 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-06 08:02:57 +00:00
John Criswell
0ec250ca8f Grammar and punctuation fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23965 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 16:17:18 +00:00
Chris Lattner
a4d7414a59 llvm.sqrt somehow escaped documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22490 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-21 01:29:16 +00:00
Chris Lattner
e67a951720 add a note about variable length array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22278 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-24 17:22:57 +00:00