Commit Graph

337 Commits

Author SHA1 Message Date
Chris Lattner
da508ac5d8 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.

llvm-svn: 50131
2008-04-23 04:59:35 +00:00
Chris Lattner
1a640a6491 Allow undef as an operand to getresult.
llvm-svn: 50130
2008-04-23 04:06:52 +00:00
Chris Lattner
0f103e1304 free(null) -> noop
llvm-svn: 49972
2008-04-19 22:41:32 +00:00
Chris Lattner
fe8519c818 Some clarifications suggested by Jon Sargeant
llvm-svn: 49963
2008-04-19 21:01:16 +00:00
Chris Lattner
1f17cce2eb more edits from Jon Sargeant
llvm-svn: 49065
2008-04-02 00:38:26 +00:00
Chris Lattner
81f929763c add a dropped hunk from Jon Sargeant's patch.
llvm-svn: 49045
2008-04-01 18:47:32 +00:00
Chris Lattner
1429e6fb29 make langref more precise, wave 1, from Jon Sargeant
llvm-svn: 49044
2008-04-01 18:45:27 +00:00
Devang Patel
9c1f8b1d55 void type is also a valid function return type.
llvm-svn: 48740
2008-03-24 20:52:42 +00:00
Devang Patel
8dec6c27b8 Fix typo. Clarify underlying message.
llvm-svn: 48734
2008-03-24 18:10:52 +00:00
Devang Patel
e3dfc1cbf1 Update Function type documentation to clarify how multiple return values are supported.
llvm-svn: 48721
2008-03-24 05:35:41 +00:00
Anton Korobeynikov
25b2e8203a Aliasing chains cleanups: update langref, add check into verifier
llvm-svn: 48685
2008-03-22 08:36:14 +00:00
Chris Lattner
fb7c88de77 clean up and fix the call section.
llvm-svn: 48651
2008-03-21 17:24:17 +00:00
Chris Lattner
141b613b32 cleanups for the getresult section.
llvm-svn: 48650
2008-03-21 17:20:51 +00:00
Duncan Sands
c572c1e487 Clarify the unwind attribute. Add assumption
about sret made by the optimizers.

llvm-svn: 48452
2008-03-17 12:17:41 +00:00
Nick Lewycky
084ab471fe Commit works on regular functions too. Fix the syntax to allow @foo.
llvm-svn: 48414
2008-03-16 07:18:12 +00:00
Devang Patel
d0f476471d fix grammer
llvm-svn: 48211
2008-03-11 05:51:59 +00:00
Devang Patel
d6cff517d6 Document multiple return values.
llvm-svn: 48173
2008-03-10 20:49:15 +00:00
Andrew Lenharth
95528943e9 Atomic op support. If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet
llvm-svn: 47430
2008-02-21 06:45:13 +00:00
Duncan Sands
fa4b673eac Clarify that 'sret' only applies to pointers, and
only applies to the first parameter.

llvm-svn: 47256
2008-02-18 04:19:38 +00:00
Owen Anderson
6110128ed5 Make the definition of the noalias attribute clearer.
llvm-svn: 47255
2008-02-18 04:09:01 +00:00
Andrew Lenharth
9b254eed32 llvm.memory.barrier, and impl for x86 and alpha
llvm-svn: 47204
2008-02-16 01:24:58 +00:00
Gabor Greif
dd1fc981b5 explain that NumElements in alloca and malloc defaults to one
llvm-svn: 46912
2008-02-09 22:24:34 +00:00
Chris Lattner
00d7cb9942 llvm.sqrt(-0.0) is defined.
llvm-svn: 46500
2008-01-29 07:00:44 +00:00
Chris Lattner
2f2427e5aa make handling of overflow and undefined results much more clear.
Patch by Eli Friedman, thanks!

llvm-svn: 46428
2008-01-28 00:36:27 +00:00
Anton Korobeynikov
06cbb65cb0 Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting.
llvm-svn: 46024
2008-01-15 22:31:34 +00:00
Chris Lattner
352ab9b4a2 clarify that byval is valid for any pointer argument.
llvm-svn: 45998
2008-01-15 04:34:22 +00:00
Chris Lattner
5cee13f1df document the byval parameter attribute.
llvm-svn: 45855
2008-01-11 06:20:47 +00:00
Chris Lattner
2a1993fb2c improve description of alignment, patch by Alain Frisch.
llvm-svn: 45662
2008-01-06 21:04:43 +00:00
Chris Lattner
ec56402557 Fix typo noticed by 'Danny' in PR1901
llvm-svn: 45661
2008-01-06 19:51:52 +00:00
Chris Lattner
43542b3a93 fix nesting issues.
llvm-svn: 45566
2008-01-04 04:34:14 +00:00
Chris Lattner
b8f816e90d fix validation issues.
llvm-svn: 45565
2008-01-04 04:33:49 +00:00
Chris Lattner
7824d182da improve the description of types, patch by Alain Frisch
llvm-svn: 45564
2008-01-04 04:32:38 +00:00
Chris Lattner
bea11173f5 update to llvm 2.0 syntax.
llvm-svn: 45355
2007-12-25 20:34:52 +00:00
Gordon Henriksen
fb56bde933 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.

llvm-svn: 45350
2007-12-25 02:31:26 +00:00
Chris Lattner
747359f973 fix more table abuses.
llvm-svn: 45187
2007-12-19 05:04:11 +00:00
Chris Lattner
9a2e3cb48d avoid confusing terminology (what is a "word"?), fix scary markup, add section to TOC.
llvm-svn: 45150
2007-12-18 06:18:21 +00:00
Christopher Lamb
55c6d4f22f 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.
llvm-svn: 45080
2007-12-17 01:00:21 +00:00
Christopher Lamb
25f5076612 Implement part of review feedback for address spaces.
llvm-svn: 44933
2007-12-12 08:44:39 +00:00
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