Commit Graph

273 Commits

Author SHA1 Message Date
Reid Spencer 403a1c4517 Fix some bswap typos that Chris noticed.
llvm-svn: 35564
2007-04-02 00:19:52 +00:00
Reid Spencer 8bc7d957cf Preview documentation for additional intrinsic functions.
llvm-svn: 35558
2007-04-01 19:00:37 +00:00
Reid Spencer 8a5799f558 For PR1297:
Preview documentation for the llvm.bit.concat intrinsic (yet to be
implemented).

llvm-svn: 35552
2007-04-01 08:27:01 +00:00
Reid Spencer 4eefaab3f6 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.

llvm-svn: 35550
2007-04-01 08:04:23 +00:00
Duncan Sands 3bf01520eb Remove reference to checkpoint.
llvm-svn: 35507
2007-03-30 16:09:58 +00:00
Duncan Sands 16f122e6ad Various hopefully correct easy fixes.
llvm-svn: 35506
2007-03-30 12:22:09 +00:00
Reid Spencer 15316f9568 Undocument the implementation keyword
Docuemnt the checkpoint keyword

llvm-svn: 35413
2007-03-28 02:46:29 +00:00
Reid Spencer db3b93bbb2 Fix a link.
llvm-svn: 35306
2007-03-24 22:40:44 +00:00
Reid Spencer 806ad6afb8 Correct the description of srem. remainder follows the dividend not the
divisor!

llvm-svn: 35303
2007-03-24 22:23:39 +00:00
Reid Spencer 9d1700e188 Add noreturn function attribute.
llvm-svn: 35262
2007-03-22 02:18:56 +00:00
Reid Spencer 05dbb9d002 Preview nounwind function attribute.
llvm-svn: 35256
2007-03-22 02:02:11 +00:00
Anton Korobeynikov be9c93c79c More LangRef fixes. Corrected names of intrinsics.
llvm-svn: 35249
2007-03-22 00:02:17 +00:00
Anton Korobeynikov 640bbe0a15 Fixed va_arg example. Reported by Roman Samoilov
llvm-svn: 35248
2007-03-21 23:58:04 +00:00
Jim Laskey 2211f496ff Add link to exception handling.
llvm-svn: 35102
2007-03-14 19:31:19 +00:00
Reid Spencer 50c723ae72 Add a section on the target datalayout syntax and describe the defaults
and rules used by LLVM to construct the target's layout rules.

llvm-svn: 34433
2007-02-19 23:54:10 +00:00
Reid Spencer 404a3259f9 For PR1195:
Packed -> Vector

llvm-svn: 34296
2007-02-15 03:07:05 +00:00
Reid Spencer 2ab0193da1 Put the Shift instructions in the right section.
llvm-svn: 33782
2007-02-02 13:57:07 +00:00
Reid Spencer 04e259be5c Preview of the shift instructions becoming Binary Operators.
llvm-svn: 33720
2007-01-31 21:39:12 +00:00
Anton Korobeynikov e93c6e8dca Grammar fix
llvm-svn: 33602
2007-01-28 15:27:21 +00:00
Anton Korobeynikov e816685bd5 Document 'inreg' & 'sret'
llvm-svn: 33600
2007-01-28 14:30:45 +00:00
Anton Korobeynikov c7f9f3df24 Updating documentation:
- Document visibility stuff
 - Fix gcc' supported attributes list
 - Document udis86 configure option

llvm-svn: 33462
2007-01-23 12:35:46 +00:00
Reid Spencer 2eadb5310d For PR970:
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!

llvm-svn: 33415
2007-01-21 00:29:26 +00:00
Reid Spencer 49c6e09c7c icmp doesn't support comparison of packed types.
llvm-svn: 33357
2007-01-19 17:11:12 +00:00
Reid Spencer e6a338d263 One more @ to remove.
llvm-svn: 33240
2007-01-15 18:28:34 +00:00
Reid Spencer cf7ebf5cef Update documentation for parameter attributes for the syntax change.
llvm-svn: 33238
2007-01-15 18:27:39 +00:00
Chris Lattner c0f423a452 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.

llvm-svn: 33217
2007-01-15 01:54:13 +00:00
Chris Lattner e20b4707c6 clarify linkonce/weak linkage
llvm-svn: 33201
2007-01-14 06:51:48 +00:00
Reid Spencer 69240dfa72 Fix an incorrect conversion of int -> i32
llvm-svn: 33199
2007-01-14 06:29:54 +00:00
Chris Lattner 5760c5042c add a global variable example
llvm-svn: 33190
2007-01-14 00:27:09 +00:00
Anton Korobeynikov a0554d90e8 * 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)

llvm-svn: 33136
2007-01-12 19:20:47 +00:00
Reid Spencer 07c9c68825 Fix a typo.
llvm-svn: 33118
2007-01-12 15:46:11 +00:00
Reid Spencer 36a1542bcb Update for changes in the assembly syntax. bool is replaced with i1.
llvm-svn: 33106
2007-01-12 03:35:51 +00:00
Reid Spencer e3db84c6c2 Explain that bitcast can only cast a pointer to another pointer.
llvm-svn: 33041
2007-01-09 20:08:58 +00:00
Chris Lattner db0790c2fd Fully specify the type of the llvm.va* intrinsics. This helps resolve
Pr1093

llvm-svn: 33009
2007-01-08 07:55:15 +00:00
Chris Lattner 65842fe4cd llvm.isunordered is no longer alive.
llvm-svn: 32995
2007-01-07 08:53:26 +00:00
Reid Spencer db94353bff Add an example to the trunc instruction to clarify trunc to bool.
Example provided by Baptiste Lepilleur.

llvm-svn: 32931
2007-01-05 21:33:08 +00:00
Reid Spencer 92c671e77e Correct the documentation for function declarations. They can have dllimport
or extern_weak linkage as well as "externally visible".

llvm-svn: 32887
2007-01-05 00:59:10 +00:00
Reid Spencer 3e628eb989 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.

llvm-svn: 32874
2007-01-04 16:43:23 +00:00
Reid Spencer 784ef79b55 icmp and fcmp do not take packed type operands.
llvm-svn: 32864
2007-01-04 05:19:58 +00:00
Reid Spencer 72ba499004 Remove documentation of non-existent cextcc and csretextcc calling
conventions as these have been replaced with parameter attributes.

llvm-svn: 32797
2006-12-31 21:30:18 +00:00
Reid Spencer 655dcc6fce One more try on the table formatting.
llvm-svn: 32793
2006-12-31 07:20:23 +00:00
Reid Spencer 58c08716af Clean up some typos and formatting.
llvm-svn: 32792
2006-12-31 07:18:34 +00:00
Reid Spencer b5ebf3d667 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.

llvm-svn: 32791
2006-12-31 07:07:53 +00:00
Reid Spencer c329a4e9cc Preview of new calling conventions: cextcc and csretextcc to handle explicit
sign and zero extension in function calls.

llvm-svn: 32764
2006-12-28 16:55:55 +00:00
Andrew Lenharth 8df88e2cc9 Packed Structure Definitions (docs)
llvm-svn: 32357
2006-12-08 17:13:00 +00:00
Reid Spencer 02e0d1de90 Tie the ordered/unordered predicate descriptions to their meaning wrt
to QNAN values.

llvm-svn: 32272
2006-12-06 07:08:07 +00:00
Reid Spencer cee005cbf2 We only support 32-bit or 64-bit sequential type indices for GEP. Document
it as so.

llvm-svn: 32197
2006-12-04 21:29:24 +00:00
Reid Spencer 9965ee72f5 Document the icmp and fcmp constant expressions.
llvm-svn: 32188
2006-12-04 19:23:19 +00:00
Reid Spencer c031269ee3 Update for signless GEP semantics.
llvm-svn: 32159
2006-12-03 16:53:48 +00:00
Chris Lattner 5230e9175a remove dead tag
llvm-svn: 31944
2006-11-27 21:53:28 +00:00
Reid Spencer f69acf3e26 Corrections from review.
llvm-svn: 31865
2006-11-19 03:00:14 +00:00
Reid Spencer e008326b86 Update a reference to the old setcc instruction.
llvm-svn: 31860
2006-11-18 21:55:45 +00:00
Reid Spencer c828a0e3fe For PR950:
Documentation preview of the upcoming icmp and fcmp instructions that
will replace the various setcc instructions.

llvm-svn: 31859
2006-11-18 21:50:54 +00:00
Reid Spencer 5b9506439a Document new constant expr operators, rename bitconvert as bitcast.
llvm-svn: 31693
2006-11-11 23:08:07 +00:00
Reid Spencer b7344ff025 Add a preview of two new conversion operators: ptrtoint and inttoptr. Update
the defintion of bitconvert correspondingly.

llvm-svn: 31688
2006-11-11 21:00:47 +00:00
Reid Spencer 51b07256a3 Post-review changes on conversion instructions.
llvm-svn: 31607
2006-11-09 23:03:26 +00:00
Reid Spencer 2e2740d46a Fix runaway <tt> element and section ordering.
llvm-svn: 31606
2006-11-09 21:48:10 +00:00
Reid Spencer 8a82cc6304 Remove futurisms that won't be in our future.
llvm-svn: 31605
2006-11-09 21:42:14 +00:00
Reid Spencer a89fb18c98 One more time for indentation.
llvm-svn: 31604
2006-11-09 21:18:01 +00:00
Reid Spencer 443460a318 Fix indentation problem starting at GEP.
llvm-svn: 31603
2006-11-09 21:15:49 +00:00
Reid Spencer fdff938a7e 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.

llvm-svn: 31542
2006-11-08 06:47:33 +00:00
Reid Spencer 97c5fa4607 Fix the section headings.
llvm-svn: 31532
2006-11-08 01:18:52 +00:00
Reid Spencer 59b6b7d9e4 For PR950:
Early commit of the documentation for new conversion instructions for
easier review.

llvm-svn: 31531
2006-11-08 01:11:31 +00:00
Reid Spencer 7eb55b395f For PR950:
Replace the REM instruction with UREM, SREM and FREM.

llvm-svn: 31369
2006-11-02 01:53:59 +00:00
Reid Spencer 7e80b0b31e 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.

llvm-svn: 31195
2006-10-26 06:15:43 +00:00
Chris Lattner c1fb4264f5 clarify
llvm-svn: 30966
2006-10-15 20:05:59 +00:00
Anton Korobeynikov d61d39ec53 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.

llvm-svn: 30374
2006-09-14 18:23:27 +00:00
Chris Lattner 33b73f9cfc new powi intrinsic
llvm-svn: 30175
2006-09-08 06:34:02 +00:00
Chris Lattner 6ab6672cac Add a link to the GEP faq.
llvm-svn: 29690
2006-08-15 00:45:58 +00:00
Chris Lattner d2d29a088e Decribe the "implementation" keyword.
llvm-svn: 28762
2006-06-13 03:05:47 +00:00
Chris Lattner 95ff1953f5 New calling convention I will be adding shortly.
llvm-svn: 28403
2006-05-19 21:15:36 +00:00
Chris Lattner 30b868d697 Update dox, patch by Vladimir Prus!
llvm-svn: 28306
2006-05-15 17:26:46 +00:00
Chris Lattner 6b7a00869a Change token to match asmprinter output
llvm-svn: 28285
2006-05-14 18:23:06 +00:00
Chris Lattner 905bd17dc7 typo
llvm-svn: 27936
2006-04-21 21:37:40 +00:00
Tanya Lattner b138bbe85b Adding back vector instructions to keep in mainline.
llvm-svn: 27704
2006-04-14 19:24:33 +00:00
Tanya Lattner 8333c7d736 Removing unimplemented vector instructions from language referrence.
llvm-svn: 27703
2006-04-14 19:07:42 +00:00
Chris Lattner ce83bff178 Move the vector instructions to their own subsection.
llvm-svn: 27545
2006-04-08 23:07:04 +00:00
Chris Lattner 9356489266 Wrap long lines, fix verification error
llvm-svn: 27531
2006-04-08 04:40:53 +00:00
Chris Lattner 24229d487a use the right escapes
llvm-svn: 27530
2006-04-08 04:39:19 +00:00
Chris Lattner 016a0e50a5 Description for the new shufflevector instruction I'm adding.
llvm-svn: 27502
2006-04-08 00:13:41 +00:00
Chris Lattner b40261ea2d Fix a typo, thanks to Gabor Greif
llvm-svn: 27054
2006-03-24 07:16:10 +00:00
Robert Bocchino 2923bd009f Fixed a typo in the vsetfp examples.
llvm-svn: 26768
2006-03-14 23:22:57 +00:00
Robert Bocchino 81e95ba849 Split the 'vset' instruction into two instructions, 'vsetint' and
'vsetfp', to reflect the fact that the semantics are different for
integer and fp values.

llvm-svn: 26767
2006-03-14 20:55:28 +00:00
Chris Lattner f922807640 Update this to match the documentation in the GC doc and to match actual
practice.

llvm-svn: 26766
2006-03-14 20:02:51 +00:00
Reid Spencer ca05854a71 Changes docs for llvm.cs.uiuc.edu -> llvm.org
llvm-svn: 26746
2006-03-14 05:39:39 +00:00
Chris Lattner 5316e5d6ff Spec change: the size of a memset/memcpy/memmove is not required to be aligned
to the alignment argument.

llvm-svn: 26510
2006-03-04 00:02:10 +00:00
Chris Lattner ad3c974a77 remove the read/write port/io intrinsics.
llvm-svn: 26479
2006-03-03 00:19:58 +00:00
Chris Lattner 0c8b259e5a Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.

llvm-svn: 26477
2006-03-03 00:07:20 +00:00
Robert Bocchino 820bc75b8b Added documentation for vset and vselect.
llvm-svn: 26264
2006-02-17 21:18:08 +00:00
Chris Lattner 98f013cb0f document the syntax of inline asm
llvm-svn: 25624
2006-01-25 23:47:57 +00:00
Chris Lattner a1280ad4d9 minor syntax change
llvm-svn: 25566
2006-01-24 00:37:20 +00:00
Chris Lattner 91c15c40a7 document module-level inline asm support.
llvm-svn: 25561
2006-01-23 23:23:47 +00:00
Chris Lattner 069b5bda5a like bswap, the ct* intrinsics require unsigned operands
llvm-svn: 25373
2006-01-16 22:38:59 +00:00
Chris Lattner b748c674a9 Consistency
llvm-svn: 25372
2006-01-16 22:34:14 +00:00
Reid Spencer 2a9012b17e There is no llvm.bswap.i8, need at least 2 bytes to swap.
llvm-svn: 25367
2006-01-16 21:14:01 +00:00
Reid Spencer b4f9a6f110 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.

llvm-svn: 25366
2006-01-16 21:12:35 +00:00
Robert Bocchino f72fdfe252 Added spec for insertelement operation.
llvm-svn: 25342
2006-01-15 20:48:27 +00:00
Nate Begeman 0f223bbce2 Make the bswap documentation more to sabre's liking!
llvm-svn: 25302
2006-01-13 23:26:38 +00:00
Chris Lattner 333374713d fix some minor errors
llvm-svn: 25301
2006-01-13 23:26:01 +00:00
Nate Begeman 611ecc07b6 Add documentation for the upcoming bswap intrinsics!
llvm-svn: 25300
2006-01-13 23:02:51 +00:00