Commit Graph

320 Commits

Author SHA1 Message Date
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