Commit Graph

265 Commits

Author SHA1 Message Date
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
Chris Lattner 2f0f001dab Add llvm.stacksave and llvm.stackrestore.
llvm-svn: 25264
2006-01-13 02:03:13 +00:00
Chris Lattner b3d430e393 void* is not legal in LLVM.
llvm-svn: 25262
2006-01-13 01:20:27 +00:00
Robert Bocchino 7e97a6dc59 Expanded the documentation for constant expressions to cover select
and extractelement.

llvm-svn: 25183
2006-01-10 19:31:34 +00:00
Robert Bocchino b5f210f3f2 Added the spec for the new "extractelement" instruction.
llvm-svn: 25113
2006-01-05 17:37:02 +00:00
Chris Lattner e64d41def3 Fix some typos noticed by Gabor Greif!
llvm-svn: 24364
2005-11-15 06:07:55 +00:00
Chris Lattner 662c8726b8 document sections
llvm-svn: 24317
2005-11-12 00:45:07 +00:00
Andrew Lenharth 01aa56397d continued readcyclecounter support
llvm-svn: 24300
2005-11-11 16:47:30 +00:00
Jeff Cohen dc6bfeae26 Fix some typos.
llvm-svn: 24298
2005-11-11 02:15:27 +00:00