Commit Graph

499 Commits

Author SHA1 Message Date
Christopher Lamb 308121c757 Add information on address space qualifiers for pointer types and global
declarations to the LangRef.

llvm-svn: 44860
2007-12-11 09:31:00 +00:00
Gordon Henriksen dc5cafb74e Fix a typo spotted by Nick Lewycky.
llvm-svn: 44774
2007-12-10 03:30:21 +00:00
Gordon Henriksen 71183b6739 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.

llvm-svn: 44769
2007-12-10 03:18:06 +00:00
Duncan Sands ad0ea2d430 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.

llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Duncan Sands a89a113a20 Rename the 'const' parameter attribute to 'readnone',
and the 'pure' parameter attribute to 'readonly'.
Names suggested by DannyB.

llvm-svn: 44273
2007-11-22 20:23:04 +00:00
Nate Begeman d4d45c268c Add support for vectors to int <-> float casts.
llvm-svn: 44204
2007-11-17 03:58:34 +00:00
Duncan Sands 730a32643f Tweak the descriptions of the new 'const' and 'pure' attributes.
llvm-svn: 44132
2007-11-14 21:14:02 +00:00
Anton Korobeynikov 46f4446bba Document pure/const parameter attributes
llvm-svn: 44111
2007-11-14 10:30:13 +00:00
Dan Gohman 08143e397d Add support for vector remainder operations.
llvm-svn: 43744
2007-11-05 23:35:22 +00:00
Bill Wendling 8830ffed4c Put correct link in example
llvm-svn: 43216
2007-10-22 05:10:05 +00:00
Dan Gohman d0806a0508 Don't mention -enable-unsafe-fp-math in LangRef.html, as that option is
assumed to globally mutate the spec.

llvm-svn: 43078
2007-10-17 18:05:13 +00:00
Dan Gohman b6324c1243 Document the new llvm.sin, llvm.cos, and llvm.pow intrinsics. Feedback
is welcome!

llvm-svn: 43007
2007-10-15 20:30:11 +00:00
Gordon Henriksen a699c4dc65 Fixing a typo. Found by Kevin André!
llvm-svn: 42956
2007-10-14 00:34:53 +00:00
Chris Lattner f0e5011d21 Clarify that shifts that are too large are undefined.
llvm-svn: 42588
2007-10-03 21:01:14 +00:00
Chris Lattner 87a3dbe743 remove extraneous tag
llvm-svn: 42581
2007-10-03 17:34:29 +00:00
Chris Lattner 6a6fb7f7b7 remove misleading documentation: LLVM has no atomic support yet.
llvm-svn: 42580
2007-10-03 17:33:51 +00:00
Dale Johannesen dd89d2758e Document new sqrt and powi handling.
llvm-svn: 42540
2007-10-02 17:47:38 +00:00
Bill Wendling 252570f0ad Validation fixes
llvm-svn: 42225
2007-09-22 09:23:55 +00:00
Chris Lattner 5b95a171e2 fix bugs in the manual
llvm-svn: 42221
2007-09-22 03:17:52 +00:00
Tanya Lattner cf3e26fff2 Correct names.
llvm-svn: 42219
2007-09-22 00:03:01 +00:00
Tanya Lattner 08abc81a44 Fix typo.
llvm-svn: 42217
2007-09-22 00:01:26 +00:00
Tanya Lattner 0186a65ac7 One last fix to get name correct.
llvm-svn: 42216
2007-09-21 23:57:59 +00:00
Tanya Lattner afcdaf58d4 Fix silly typo.
llvm-svn: 42215
2007-09-21 23:57:04 +00:00
Tanya Lattner 23dbd57214 Update annotation intrinsic with more details.
llvm-svn: 42214
2007-09-21 23:56:27 +00:00
Tanya Lattner 293c037336 Adding support for __builtin_annotation with an intrinsic called llvm.annotation. This is similar to llvm.var.annotation but is applied to expressions.
llvm-svn: 42211
2007-09-21 22:59:12 +00:00
Chris Lattner 12477735f9 gcroot must take concrete types, not arbitrary types.
clean up intrinsic descriptions in langref a bit.

llvm-svn: 42194
2007-09-21 17:30:40 +00:00
Duncan Sands 86e0119822 Fold the adjust_trampoline intrinsic into
init_trampoline.  There is now only one
trampoline intrinsic.

llvm-svn: 41841
2007-09-11 14:10:23 +00:00
Nick Lewycky a9b13d5cc1 Fix description of the call instruction. There are two types, with one being
optional.

llvm-svn: 41785
2007-09-08 13:57:50 +00:00
Duncan Sands f2bcd37083 Implement review feedback on trampoline documentation.
llvm-svn: 41304
2007-08-22 23:39:54 +00:00
Reid Spencer b23b65f1ba Describe the global/local naming convention.
llvm-svn: 40890
2007-08-07 14:34:28 +00:00
Chandler Carruth 7132e00de7 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.

llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Reid Spencer 753163d95f fp2uint -> fptoui
llvm-svn: 40633
2007-07-31 14:40:14 +00:00
Duncan Sands 27e9159c00 Forget to add 'nest' to the list of parameter
attributes.

llvm-svn: 40565
2007-07-27 19:57:41 +00:00
Duncan Sands 644f917358 Support for trampolines, except for X86 codegen which is
still under discussion.

llvm-svn: 40549
2007-07-27 12:58:54 +00:00
Chandler Carruth fd418435be 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.

llvm-svn: 40118
2007-07-20 20:14:52 +00:00
Reid Spencer 65a72e3775 Silly HTML
llvm-svn: 40117
2007-07-20 20:03:33 +00:00
Reid Spencer 5b2cb0f88c Fix validation errors.
llvm-svn: 40116
2007-07-20 19:59:11 +00:00
Chandler Carruth 6a5f6bf685 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.

llvm-svn: 40115
2007-07-20 19:34:37 +00:00
Reid Spencer 314e1cb7ee 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.

llvm-svn: 40069
2007-07-19 23:13:04 +00:00
Dan Gohman 33988db5d5 Fix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
which appears to be the intent.

llvm-svn: 39922
2007-07-16 14:37:41 +00:00
Chris Lattner 0946f04236 remove obsolete note
llvm-svn: 39825
2007-07-13 20:08:19 +00:00
Chris Lattner 0a2d099792 fix some bugs in the manual
llvm-svn: 39822
2007-07-13 20:01:46 +00:00
Gabor Greif a54634adef first pass of nomenclature changes in .html files
llvm-svn: 37956
2007-07-06 22:07:22 +00:00
Tanya Lattner bed1d4d877 Update docs for llvm.var.annotation intrinsic.
llvm-svn: 37635
2007-06-18 23:42:37 +00:00
Tanya Lattner cb1b96047d Add local var annotation intrinsic.
llvm-svn: 37603
2007-06-15 20:50:54 +00:00
Chris Lattner 2150cde0e4 one final bugfix
llvm-svn: 37558
2007-06-12 17:01:15 +00:00
Chris Lattner 2b0bf4fc3b modernize example
llvm-svn: 37557
2007-06-12 17:00:26 +00:00
Chris Lattner a59fb10de8 wording fix noticed by Ivan Novick
llvm-svn: 37519
2007-06-08 16:52:14 +00:00
Chris Lattner 00538a1931 update to match latest changes
llvm-svn: 37474
2007-06-06 18:28:13 +00:00
Zhou Sheng 2444a9adeb Commit first round work of PR1373. "noalias" is now fully supported in
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.

llvm-svn: 37432
2007-06-05 05:28:26 +00:00
Chris Lattner a446f1b46b more fixes to C code.
llvm-svn: 37339
2007-05-29 15:43:56 +00:00
Bill Wendling 2d8b9a8834 Fixed some formatting.
llvm-svn: 37338
2007-05-29 09:42:13 +00:00
Bill Wendling 3716c5df29 Fix for PR1452. Removed "define" keyword from the C code. Added "<div
class="doc_code">" to code examples.

llvm-svn: 37335
2007-05-29 09:04:49 +00:00
Chris Lattner c87f3dff51 remove contradiction owen noticed
llvm-svn: 37327
2007-05-24 19:13:27 +00:00
Reid Spencer 138249b8ca Update for arbitrary precision integer types.
llvm-svn: 37109
2007-05-16 18:44:01 +00:00
Reid Spencer 146281ce1a The wrapping behavior of part_set is not desirable. Adjust the
documentation to describe the desired behavior.

llvm-svn: 37036
2007-05-14 16:50:20 +00:00
Reid Spencer 70845c05e4 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.

llvm-svn: 37035
2007-05-14 16:14:57 +00:00
Anton Korobeynikov 39f3cffbe3 Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.

llvm-svn: 36565
2007-04-29 18:35:00 +00:00
Anton Korobeynikov 546ea7ea88 Implement review feedback
llvm-svn: 36564
2007-04-29 18:02:48 +00:00
Jeff Cohen 222a8a4311 Minor corrections.
llvm-svn: 36548
2007-04-29 01:07:00 +00:00
Anton Korobeynikov b18f8f85e9 Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.

llvm-svn: 36537
2007-04-28 13:45:00 +00:00
Anton Korobeynikov a97b694c82 Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.

llvm-svn: 36435
2007-04-25 14:27:10 +00:00
Jeff Cohen beccb74eec Undo erroneous corrections.
llvm-svn: 36340
2007-04-22 14:56:37 +00:00
Jeff Cohen 5819f185a7 Minor corrections.
llvm-svn: 36325
2007-04-22 01:17:39 +00:00
Christopher Lamb bff50208c8 add support for alignment attributes on load/store instructions
llvm-svn: 36301
2007-04-21 08:16:25 +00:00
Lauro Ramos Venancio c451ec635f update documentation
llvm-svn: 35953
2007-04-12 20:34:36 +00:00
Reid Spencer c70afc3818 Fix extra argument in part_set examples. Thanks Zhiru.
llvm-svn: 35936
2007-04-12 01:03:03 +00:00
Reid Spencer 7972c4758c Fix validation errors.
llvm-svn: 35933
2007-04-11 23:49:50 +00:00
Reid Spencer 14194dc054 Missing end tag. Thanks, Nick.
llvm-svn: 35932
2007-04-11 23:46:06 +00:00
Reid Spencer 3b5856151b Put period inside the paragraph!
llvm-svn: 35930
2007-04-11 23:26:07 +00:00
Reid Spencer 5bf54c868b Document the part_set intrinsic.
llvm-svn: 35929
2007-04-11 23:23:49 +00:00
Reid Spencer ea2945e8e2 Fix name of an intrinsic: bit.part_select -> part.select
llvm-svn: 35853
2007-04-10 02:51:31 +00:00
Reid Spencer edf61160b1 Remove the part_set intrinsic. It won't get implemented as an intrinsic.
llvm-svn: 35667
2007-04-04 19:15:59 +00:00
Reid Spencer 91fd109d6b Appease Chris' pedantic streak.
llvm-svn: 35647
2007-04-04 05:46:04 +00:00
Reid Spencer 96a5f02392 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.

llvm-svn: 35645
2007-04-04 02:42:35 +00:00
Reid Spencer f361c4f4f8 bwsap -> bswap
llvm-svn: 35580
2007-04-02 02:25:19 +00:00
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
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
Chris Lattner 330ce692a2 Packed elements must be a power of two in size
llvm-svn: 24266
2005-11-10 01:44:22 +00:00
Chris Lattner 54611b4af1 document alignment on globals, functions, and allocation instructions.
llvm-svn: 24221
2005-11-06 08:02:57 +00:00
John Criswell 4c0cf7f205 Grammar and punctuation fixes.
llvm-svn: 23965
2005-10-24 16:17:18 +00:00
Chris Lattner 8a8f2e5a01 llvm.sqrt somehow escaped documentation.
llvm-svn: 22490
2005-07-21 01:29:16 +00:00
Chris Lattner c0ad71edd4 add a note about variable length array
llvm-svn: 22278
2005-06-24 17:22:57 +00:00
Andrew Lenharth 5305ea5c86 SelectionDAG is very unhappy when the argument to an intrinsic is a struct
llvm-svn: 22272
2005-06-22 20:38:11 +00:00
Andrew Lenharth 5fb787c619 OK, after checking the backwards compatibility code on X86 and the new code
path on alpha, now has come the time for new vararg support.  So, with out
further ado, I revert behavior back a couple of years!

Well, ok, I lied.  A few more notes.

First, the Simple ISels cannot be expected to work any longer, but they
should still compile

Second, there are likely some bugs to track down once the nightly testers
start with this.

Third, the initial patch doesn't include sparcv9, but I'll do that today.

Forth, subsequent patches won't bother being long winded.

llvm-svn: 22251
2005-06-18 18:28:17 +00:00
John Criswell 88190562e6 Added a note about how the type can be omitted in call instructions.
Added a note about how getelementptr can be used to index into structures
or arrays.
Fixed some typos, spelling, etc.

llvm-svn: 22083
2005-05-16 16:17:45 +00:00
Chris Lattner efa20fab2d ctlz = most signficant bits, cttz = least sig
llvm-svn: 22061
2005-05-15 19:39:26 +00:00
John Criswell 4a3327eead Minor fixup of typos.
llvm-svn: 21990
2005-05-13 22:25:59 +00:00
John Criswell c932bef114 Correct a detail with the alloca instruction.
Functions do not exit with invoke; they exit with unwind.

llvm-svn: 21893
2005-05-12 16:55:34 +00:00
John Criswell 02fdc6fab4 Fixed some typos.
llvm-svn: 21891
2005-05-12 16:52:32 +00:00
Chris Lattner 90391c1899 don't duplicate information, particularly when it's out of date!
llvm-svn: 21852
2005-05-11 03:35:57 +00:00
Chris Lattner 573f64ecb5 fix bugs in my previous commit clarify the return type of the bit ops
llvm-svn: 21755
2005-05-07 01:46:40 +00:00
Chris Lattner c792eb342c add a couple of notes
llvm-svn: 21754
2005-05-06 23:08:23 +00:00
Chris Lattner 0132affa89 document calling convention extensions
llvm-svn: 21753
2005-05-06 22:57:40 +00:00
Chris Lattner e23c139836 Add info on new 'tail' marker
llvm-svn: 21721
2005-05-06 05:47:36 +00:00
Andrew Lenharth 5be6f131e6 fixup argument
llvm-svn: 21680
2005-05-04 14:58:31 +00:00
Andrew Lenharth 1d463526b4 initial descriptions of count intrinsics
llvm-svn: 21677
2005-05-03 18:01:48 +00:00
Reid Spencer d845d160f6 Mention that arguments to functions must be first class types.
llvm-svn: 21650
2005-05-01 22:22:57 +00:00
Reid Spencer 7821d06c24 Convert the remainder of the intrinsic function prototypes to "declare"
form from the "call" form.

llvm-svn: 21573
2005-04-26 20:50:44 +00:00
Reid Spencer cf669d87d0 Use the declare syntax not the call syntax for intrinsic prototypes so
the uninitiated reader is not confused.

llvm-svn: 21572
2005-04-26 20:41:16 +00:00
Chris Lattner 37b6b097ff document 'opaque' types
llvm-svn: 21535
2005-04-25 17:34:15 +00:00
Misha Brukman 36c6bc1bf4 Hyphenate the adjective `n-bit' when used to describe values and processors
llvm-svn: 21456
2005-04-22 18:02:52 +00:00
Andrew Lenharth b442791124 First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.
llvm-svn: 20900
2005-03-28 20:05:49 +00:00
Chris Lattner 455fc8c917 Various cleanups and clarifications, thanks to Gabor Greif for contributing this patch!
llvm-svn: 20514
2005-03-07 22:13:59 +00:00
Chris Lattner d3e641c2ab fix another typo
llvm-svn: 20512
2005-03-07 20:31:38 +00:00
Chris Lattner 2e6eb5f40d fix typeo that Gabor Greif noticed!
llvm-svn: 20511
2005-03-07 20:30:51 +00:00
Chris Lattner ff851073f6 cleanup my miswording
llvm-svn: 20381
2005-02-28 19:47:14 +00:00
Chris Lattner c8a2c22f36 Document llvm.prefetch, patch contributed by Justin Wick!
llvm-svn: 20373
2005-02-28 19:24:19 +00:00
Chris Lattner 16fb0037c4 Fix a bug.
llvm-svn: 20242
2005-02-19 02:22:14 +00:00
Chris Lattner 5d5aede33b Document the newly generalized model for constant globals.
llvm-svn: 20136
2005-02-12 19:30:21 +00:00
John Criswell dfe6a86b0b Merged in RELEASE_14 changes.
llvm-svn: 18763
2004-12-10 15:51:16 +00:00
Reid Spencer 641f5c9878 More grammaro's fixed.
llvm-svn: 18708
2004-12-09 18:13:12 +00:00
Reid Spencer 8f08d805d4 Clean up some grammaro's.
llvm-svn: 18705
2004-12-09 18:02:53 +00:00
Chris Lattner 74d3f82b6e Fully document the LLVM constants. This should go into LLVM 1.4
llvm-svn: 18701
2004-12-09 17:30:23 +00:00
Chris Lattner d79749a110 Reflow and clean up some of the HTML in the initial section, split linkage
types into its own section.

llvm-svn: 18697
2004-12-09 16:36:40 +00:00
Chris Lattner 6af02f3961 Move the "High Level Structure" to before "Type System"
llvm-svn: 18695
2004-12-09 16:11:40 +00:00
Reid Spencer c3c4c4f843 Minor format tweask for tables.
llvm-svn: 17394
2004-11-01 08:19:36 +00:00
Chris Lattner 08b7d5b032 Document unreachable instruction
llvm-svn: 17033
2004-10-16 18:04:13 +00:00
Chris Lattner 6a4a0492f8 Patch contributed by Patrick Meredith:
added notes on the fact that the current implementation uses
sbyte* for va_list.  Updated all occurances of valist to va_list (it was
inconsistant and find/replace is so easy ;-) ).  Added <...> around all
occurances of va_list in the intrinsic functions to match the vaarg and
vanext instructions and to further show that va_list is a variable type.

llvm-svn: 16530
2004-09-27 21:51:25 +00:00
Reid Spencer cb84e4351d Provide some meta tags for this document.
llvm-svn: 16058
2004-08-26 20:44:00 +00:00
Misha Brukman 20f9a62596 Wrap long lines and try to fill the 80 chars per line so that we don't have too
many short lines.

llvm-svn: 15706
2004-08-12 20:16:08 +00:00
Chris Lattner c8cb695f83 Add description of packed type support.
Patch contributed by Brad Jones!

llvm-svn: 15704
2004-08-12 19:12:28 +00:00
Brian Gaeke 317ef96a3a Modernize example, so that you can paste it right into llvm-as
llvm-svn: 14583
2004-07-02 21:08:14 +00:00
John Criswell 726de6f9b0 Removed the interrupt_handler instrinsic section that I accidently added
in my previous commits.  It's not implemented and is out of date.

llvm-svn: 14410
2004-06-25 16:42:50 +00:00
John Criswell bcbb18c7a0 Grammar and punctuation fixes.
llvm-svn: 14409
2004-06-25 16:05:06 +00:00
John Criswell 40db33f642 Added missing quote.
llvm-svn: 14407
2004-06-25 15:16:57 +00:00
Chris Lattner 53e5e2accc Fix some broken links
llvm-svn: 14306
2004-06-21 22:52:48 +00:00
Chris Lattner f64f794cad llvm.isnan is dead, long live llvm.isunordered!
llvm-svn: 14190
2004-06-15 21:50:46 +00:00
Alkis Evlogimenos 0fa392310a Really add the docs this time :-)
llvm-svn: 14167
2004-06-13 01:16:15 +00:00
Alkis Evlogimenos 9d740629a0 Add the isunordered intrinsic.
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Chris Lattner 3b4f437526 Document the llvm.isnan intrinsic
llvm-svn: 14131
2004-06-11 02:28:03 +00:00
Chris Lattner 10ee9654c9 Fix some broken links
llvm-svn: 13997
2004-06-03 22:57:15 +00:00
Chris Lattner 757528b0b6 Describe the new garbage collector intrinsics
llvm-svn: 13672
2004-05-23 21:06:01 +00:00
John Criswell 7a57647f97 Corrected the descriptions of the llvm.writeport and llvm.writeio
intrinsics.

Modified llvm.readio and llvm.writeio to use pointers to memory instead
of integers.  This should take care of problems such as different pointer
sizes, casting integers to pointers, weird architectural pointer types, etc.

Re-worded the description of llvm.readio and llvm.writeio so that it should
be more clear as to why they should be used over regular loads/stores for
I/O.

llvm-svn: 12867
2004-04-12 16:33:19 +00:00
John Criswell a450122ebf Added initial design for the llvm.readio and llvm.writeio intrinsics.
llvm-svn: 12864
2004-04-12 15:02:16 +00:00
John Criswell 417228d00a Fixed some spelling.
llvm-svn: 12790
2004-04-09 16:48:45 +00:00
John Criswell aa1c3c1f23 Modified the prototypes of the llvm.readport and llvm.writeport intrinsics
so that they do not specify specific integer sizes (as those are
constrained by the code generator, not the intrinsic itself).

Also put these intrinsics into their own "Operating System" section.

llvm-svn: 12789
2004-04-09 16:43:20 +00:00
John Criswell 508b93c569 Added the llvm.readport and llvm.writeport intrinsics.
llvm-svn: 12788
2004-04-09 15:23:37 +00:00
Chris Lattner 33fd702590 Update getelementptr instruction description
llvm-svn: 12654
2004-04-05 01:30:49 +00:00
John Criswell eb55b52a58 Fixed grammar typo.
llvm-svn: 12343
2004-03-12 21:19:06 +00:00
Chris Lattner b53c28d6ca Cleanup the cast section, add the select instruction
llvm-svn: 12307
2004-03-12 05:50:16 +00:00
Chris Lattner b16526108c Remove the comment "Constants must always have an initial value.", which
is incorrect.  Fix some formatting nastiness.

llvm-svn: 12223
2004-03-08 16:49:10 +00:00
Misha Brukman c501f5530b HTML 4.01 Strict compliance.
llvm-svn: 12050
2004-03-01 17:47:27 +00:00
John Criswell a92e58610d Fixed minor typos.
llvm-svn: 11800
2004-02-24 16:13:56 +00:00