Nick Lewycky
7f6aa2b162
Remove the vicmp and vfcmp instructions. Because we never had a release with
...
these instructions, no autoupgrade or backwards compatibility support is
provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08 03:04:38 +00:00
Duncan Sands
434ca80b31
Clarify that if the alignment is zero then an alignment
...
compatible with the type will be used (at least the ABI
alignment).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20 13:26:06 +00:00
Eli Friedman
7ed5d56541
Remove the "llvm.umul.with.overflow is broken" warning; it should be
...
essentially working now, at least for common cases, and it shouldn't
silently generate bad code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73484 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 10:24:13 +00:00
Dan Gohman
125473b84c
Rewrite the noredzone description, attempting to avoid confusing language.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73421 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-15 21:18:01 +00:00
Dan Gohman
2185f9e1eb
Reword the description of the noredzone attribute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-15 17:37:09 +00:00
Devang Patel
5d96fdac41
Document noredzone and noimplicitfloat function attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-12 19:45:19 +00:00
Daniel Dunbar
87bde0b7d3
Document the stack alignment part of target data description.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08 22:17:53 +00:00
Dan Gohman
ae3a0be92e
Split the Add, Sub, and Mul instruction opcodes into separate
...
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 22:49:04 +00:00
Jay Foad
d244909b76
Document how phi and invoke instructions interact with SSA form.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72762 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 10:20:10 +00:00
Nick Lewycky
1e8c7a687d
Metadata uses metadata type not empty struct.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72623 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 16:08:30 +00:00
Nick Lewycky
7a0370f66a
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 05:06:04 +00:00
Nick Lewycky
86c48647f3
Remove border around table used for layout.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 02:46:06 +00:00
Dan Gohman
f96a499535
Add a note mentioning that uses of the return value of an invoke
...
must be dominated by the normal label.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-22 21:47:08 +00:00
Nick Lewycky
cb33799b9f
Make MDNode use CallbackVH. Also change MDNode to store Value* instead of
...
Constant* in preperation of a future change to support holding non-Constants
in an MDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71407 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 20:57:05 +00:00
Chris Lattner
60150a3dc4
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71362 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09 18:11:50 +00:00
Bill Wendling
871eb0ab23
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08 20:49:29 +00:00
Duncan Sands
7af1c78b98
Allow readonly functions to unwind exceptions. Teach
...
the optimizers about this. For example, a readonly
function with no uses cannot be removed unless it is
also marked nounwind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06 06:49:50 +00:00
Chris Lattner
bdd73290a5
Remove obsolete wording, the only exception a readnone function can throw
...
is the empty set. :) Thanks to Fritz for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03 19:06:00 +00:00
Chris Lattner
7a57c5bb08
be very explicit that readnone/readonly functions can't
...
throw exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03 18:49:37 +00:00
Sanjiv Gupta
23c70f44e4
Now that any size of integer indices are allowed for sequential types, remove the unneccessary gyan about promoting them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 03:21:00 +00:00
Sanjiv Gupta
9341c808ae
Any size of integral indices are allowed in gep for indexing into sequential types. Also adding a test case to check the indices type allowed into struct.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 17:14:35 +00:00
Sanjiv Gupta
9f805c206e
Fixed the gep example for i16 type indices.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-25 07:27:44 +00:00
Sanjiv Gupta
16ffa807fc
Fixed spaces and the getelementpointer example with i16 type indices.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-24 16:38:13 +00:00
Sanjiv Gupta
7787d4a34b
Allow i16 type indices to gep.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69946 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-24 02:37:54 +00:00
Chris Lattner
266c7bbbbc
Add a new "available_externally" linkage type. This is intended
...
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13 05:44:34 +00:00
Nick Lewycky
21cc4460ef
Add support for embedded metadata to LLVM. This introduces two new types of
...
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04 07:22:01 +00:00
Duncan Sands
19527c6ef3
Add some explanations of how apint loads and stores
...
work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22 11:33:16 +00:00
Duncan Sands
4dc2b39bf8
It makes no sense to have a ODR version of common
...
linkage, so remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 20:14:15 +00:00
Duncan Sands
5f4ee1fc5d
Remove the one-definition-rule version of extern_weak
...
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 08:08:06 +00:00
Chris Lattner
8c0e62cdb2
Clarify wording, patch by Stefanus Du Toit!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 20:55:18 +00:00
Duncan Sands
667d4b8de6
Introduce new linkage types linkonce_odr, weak_odr, common_odr
...
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07 15:45:40 +00:00
Bill Wendling
0a4bbbf62f
Fix grammaro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:12:54 +00:00
Chris Lattner
7088279597
don't use the word 'aggregate' with constants, it is confusing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:32:25 +00:00
Chris Lattner
03bbad6410
don't redescribe bitcast constraints in two places. It is not valid to
...
bitcast from one aggregate to another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:27:03 +00:00
Nick Lewycky
6cd74989b9
Update this text for first-class aggregates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 17:30:06 +00:00
Nick Lewycky
b6a7d2565b
Demonstrate the act of including multiple space-separated parameter attributes,
...
by request on IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64619 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-15 23:06:14 +00:00
Dale Johannesen
bd5e5a8669
Edit description of floating point constants to
...
reflect reality. Acknowledgements to John Clements
for prodding me into this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64332 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11 22:14:51 +00:00
Chris Lattner
3060f5bbf7
fix typo, patch by Jonathan Brandmeyer!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64132 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 10:00:56 +00:00
Bill Wendling
41b485c9c3
Document llvm.umul.with.overflow indicating that it's badly broken and not intended for use.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64104 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 23:00:09 +00:00
Chris Lattner
e220e8cc07
I can't type today apparently.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 22:21:28 +00:00
Chris Lattner
056202961d
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64090 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 19:59:51 +00:00
Chris Lattner
0fd4a27ec0
document pointer type constraints, PR3513
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64088 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 19:53:29 +00:00
Bill Wendling
da01af7667
Fixes from feedback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 04:04:40 +00:00
Bill Wendling
ac1df8ef33
Document the 'llvm.OP.with.overflow' intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 01:40:31 +00:00
Chris Lattner
ce459b1e28
PR3485, document alignment on byref.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63836 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 05:42:28 +00:00
Chris Lattner
ef56ce18b8
validation error fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63503 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 07:33:15 +00:00
Chris Lattner
242d61d1c9
Document type upreferences (PR3380), patch by Stein Roger Skafløtten
...
with enhancements and corrections by me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63502 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 07:32:36 +00:00
Dan Gohman
d8791e5ed7
Add more documentation mentioning the limitations due to PR2660.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24 15:58:40 +00:00
Dan Gohman
c766f7234a
Add a few more notes about LLVM IR features that codegen doesn't
...
yet support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 01:39:38 +00:00
Duncan Sands
81d05c2ae2
Grammar fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62319 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 09:29:46 +00:00
Rafael Espindola
bb46f52027
Add the private linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 20:18:42 +00:00
Dan Gohman
f3e60bd8ee
Document several current CodeGen limitations in LangRef.html.
...
Patches for any of these are welcome!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 23:12:39 +00:00
Dan Gohman
7956412470
The LLVM Assembly Language Reference incorrectly stated that the
...
prefix used for dll{import,export} is _imp__; it is actually __imp_.
Patch by Mahadevan R!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 21:35:55 +00:00
Chris Lattner
e7886e461b
Implement PR3313, and while I'm at it address a very FAQ.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 20:53:49 +00:00
Dan Gohman
398873c032
Fix the example syntax for named sections.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 00:40:00 +00:00
Dan Gohman
81e21674a6
A few more whitespace tidyments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:49:44 +00:00
Dan Gohman
2a08c53238
Tidy whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:44:43 +00:00
Chris Lattner
0c7b39fb56
new non-ambiguous syntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:02:56 +00:00
Nick Lewycky
f23d0d392a
Resubmit support for the 'nocapture' attribute.
...
The problematic part of this patch is that we were out of attribute bits,
requiring some fancy bit hacking to make it fit (by shrinking alignment)
without breaking existing users or the file format.
This change will require users to rebuild llvm-gcc to match llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 06:39:12 +00:00
Bill Wendling
6fa311c233
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
...
builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 19:06:48 +00:00
Nick Lewycky
e642658480
Introducing nocapture, a parameter attribute for pointers to indicate that the
...
callee will not introduce any new aliases of that pointer.
The attributes had all bits allocated already, so I decided to collapse
alignment. Alignment was previously stored as a 16-bit integer from bits 16 to
32 of the attribute, but it was required to be a power of 2. Now it's stored in
log2 encoded form in five bits from 16 to 21. That gives us 11 more bits of
space.
You may have already noticed that you only need four bits to encode a 16-bit
power of two, so why five bits? Because the AsmParser accepted 32-bit
alignments, even though we couldn't store them (they were silently discarded).
Now we can store them in memory, but not in the bitcode.
The bitcode format was already storing these as 64-bit VBR integers. So, the
bitcode format stays the same, keeping the alignment values stored as 16 bit
raw values. There's some hideous code in the reader and writer that deals with
this, waiting to be ripped out the moment we run out of bits again and have to
replace the parameter attributes table encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-15 01:34:58 +00:00
Misha Brukman
444087057a
Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:34:48 +00:00
Mon P Wang
01f8d09dd3
Added a little more information that vector shifts require vector shift amount.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60831 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 08:55:09 +00:00
Mon P Wang
e9f1015d1f
Fix getNode to allow a vector for the shift amount for shifts of vectors.
...
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 05:46:39 +00:00
Misha Brukman
b0a57aa893
Fixed HTML closing tag, cleaned up some spacing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60153 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-27 06:41:20 +00:00
Bill Wendling
baa39d8664
Small formatting change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 19:19:05 +00:00
Bill Wendling
fbaa7edf93
Update to explain how ssp and sspreq attributes override each other.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60112 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 19:07:40 +00:00
Dan Gohman
f003276ee6
Fix a few HTML tidiness issues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59966 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 17:18:39 +00:00
Torok Edwin
9682607ad6
NULL, unique pointers from malloc(0), and freed pointers are legal values for
...
noalias attribute parameters/return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 08:02:24 +00:00
Nick Lewycky
b2b32fd3fe
Seriously strengthen the guarantee offered by noalias on a function's return
...
value. It must now be as if the pointer were allocated and has not escaped to
the caller. Thanks to Dan Gohman for pointing out the error in the original
and helping devise this definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59940 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 05:00:44 +00:00
Nick Lewycky
02ff308aa1
Extend the 'noalias' attribute to function return values. This is intended to
...
indicate functions that allocate, such as operator new, or list::insert. The
actual definition is slightly less strict (for now).
No changes to the bitcode reader/writer, asm printer or verifier were needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59934 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 03:41:24 +00:00
Misha Brukman
dccb025768
Fixed named anchor for llvm.stackprotector intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-22 23:55:29 +00:00
Chris Lattner
824b958e6f
reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
...
arbitrary integer width for the count.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59823 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-21 16:42:48 +00:00
Bill Wendling
dc770929cb
Revert r59802. It was breaking the build of llvm-gcc:
...
g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic'
make[3]: *** [llvm-convert.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59809 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-21 09:09:41 +00:00
Sanjiv Gupta
219ab405e6
Make mem[cpy,move,set] intrinsics overloaded.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59802 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-21 07:49:09 +00:00
Bill Wendling
69e4adb22e
- Move the stackprotector intrinsic to the general section.
...
- Rewrite the sentence to make it look as if English is my first language.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59592 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 05:56:17 +00:00
Bill Wendling
3c44f5bec9
Documentation for the llvm.stackprotector intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59557 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 22:10:53 +00:00
Bill Wendling
31359bab86
Update docs for ssp and sspreq function attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:02:51 +00:00
Mon P Wang
aeb06d2462
Added support for the following definition of shufflevector
...
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 04:46:22 +00:00
Daniel Dunbar
76dea9547d
Prevent assert when using '"' in names (via hexadecimal).
...
Update LangRef to mention \xx quoting in names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57538 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:51:43 +00:00
Dan Gohman
0e451ceee3
Fix missing end tags and invalid HTML entity syntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57500 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 16:51:45 +00:00
Dan Gohman
01ac10142e
Add a missing close-tag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57497 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 16:32:04 +00:00
Chris Lattner
50ad45c2fb
fix some crazily long lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57444 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-13 16:55:18 +00:00
Matthijs Kooijman
e49d0bc946
Improve the description on the getelementptr instruction. It should now better
...
define what the instruction does. This also makes it clear that getelementptr
can index into a vector type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57440 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-13 13:44:15 +00:00
Chris Lattner
85a350f1d5
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-08 06:26:11 +00:00
Devang Patel
307e8ab581
Improve function definition, call and invoke instruction docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57253 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 17:48:33 +00:00
Matthijs Kooijman
cb73d19a4c
Add two forgotten </i>'s.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07 10:03:45 +00:00
Devang Patel
f642f4707f
Update function attributes docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57197 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 18:50:38 +00:00
Duncan Sands
edb05dfe48
Clarify the relationship between byval and readonly/
...
readnone. Make clearer that readnone functions do not
dereference pointer arguments. Do not use the highly
ambiguous "side-effects" in the readonly description
(since such functions can have control flow side-effects,
such as throwing an exception, or looping for ever).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57166 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06 08:14:18 +00:00
Chris Lattner
94b5f7dc78
A word got optimized out, thanks to Duncan for pointing this out
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57116 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05 17:14:59 +00:00
Dan Gohman
b1e6b969fe
Update the documentation for first-class aggregates changes,
...
and remove getresult and references thereto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57064 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 19:00:07 +00:00
Chris Lattner
4f993352ea
add a note about inline asm
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57062 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 18:36:02 +00:00
Chris Lattner
66d922c909
improve description of param/ret attrs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57061 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 18:33:34 +00:00
Chris Lattner
88d4b597ba
improve descriptions of function attrs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57060 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 18:23:17 +00:00
Chris Lattner
0c46a7d666
notes are gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57059 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 18:10:21 +00:00
Devang Patel
66c6c65de2
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56796 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 18:34:44 +00:00
Devang Patel
12602059a1
Fix sentence.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56794 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 18:16:09 +00:00
Devang Patel
2c9c3e7368
Implement function notes as function attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56716 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 23:51:19 +00:00
Dale Johannesen
c9c6da61ac
Accept 'inreg' attribute on x86 functions as
...
meaning sse_regparm (i.e. float/double values go
in XMM0 instead of ST0). Update documentation
to reflect reality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56619 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 20:47:45 +00:00
Duncan Sands
0b23ac1fcf
The "alias" keyword comes first.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56170 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12 20:48:21 +00:00
Dan Gohman
f72fb679ef
Extend the vcmp/fcmp LLVM IR instructions to take vectors as arguments
...
and, if so, to return a vector of boolean as a result;
Extend the select LLVM IR instruction to allow you to specify a result
type which is a vector of boolean, in which case the result will be an
element-wise selection instead of choosing one vector or the other; and
Update LangRef.html to describe these changes.
This patch was contributed by Preston Gurd!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55969 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09 01:02:47 +00:00
Dan Gohman
500233aef9
Bitcasting two or from aggregate types is not permitted. Update
...
LangRef.html, and teach the verifier to check bitcast instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55921 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08 16:45:59 +00:00
Bill Wendling
c7e4c4dd3a
Clean up CSS validator errors: 'Property align doesn't exist : center'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-07 10:29:20 +00:00
Bill Wendling
e36dccc9b5
Formatting changes. to make the information cleaner.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-07 10:26:33 +00:00
Devang Patel
cdc0669c73
update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55809 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 23:10:26 +00:00
Devang Patel
f8b94812a1
Document function notes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55808 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 23:05:13 +00:00
Gabor Greif
fb224a20bc
use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54490 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07 21:46:00 +00:00
Bill Wendling
837f39b839
It's "a static", not "an static"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 22:29:16 +00:00
Chris Lattner
d3eda89f4c
Expand acronyms, suggested by Walter Pawley
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 18:29:16 +00:00
Chris Lattner
ebec678055
Capitalize LLVM, suggested by Walt Pawley
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05 18:21:08 +00:00
Mon P Wang
e3b3a7241c
Added support for overloading intrinsics (atomics) based on pointers
...
to different address spaces. This alters the naming scheme for those
intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54195 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-30 04:36:53 +00:00
Nate Begeman
5bc1ea0736
Add vector shifts to the IR, patch by Eli Friedman.
...
CodeGen & Clang work coming next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 15:49:41 +00:00
Duncan Sands
0789b8b518
Note that 'nest' only applies to pointers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 09:27:25 +00:00
Mon P Wang
2887310630
Added MemOperands to Atomic operations since Atomics touches memory.
...
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 08:15:39 +00:00
Dan Gohman
52bb2db709
Fix the syntax of insertvalue in the example.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52623 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-23 15:26:37 +00:00
Chris Lattner
4eaac9b181
integer types are not primitive, they are derived.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52551 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-20 20:50:48 +00:00
Dan Gohman
0066db626f
Fix a missing comma spotted by Bram Geron.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 18:42:13 +00:00
Dan Gohman
81a0c0b44e
IR, bitcode reader, bitcode writer, and asmparser changes to
...
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.
There's definately more to come here, but I'm checking this
basic support in now to make it available to people who are
interested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 00:58:22 +00:00
Dale Johannesen
2307a7f0cf
Document common linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 23:13:41 +00:00
Dan Gohman
ade5faa83f
label is a first-class type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51512 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:50:26 +00:00
Dan Gohman
c4b49eb985
Update the description of first-class types to reflect that
...
structs and arrays are now first-class. And fix a sentance
fragment in the insertvalue description. Thanks to Chris
for pointing these out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51506 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:53:15 +00:00
Chris Lattner
5568e94dbf
Clarify that and/or/xor/sdiv etc all allow vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51335 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 20:48:21 +00:00
Arnold Schwaighofer
9097d14e57
Add documentation for tail call optimization to CodeGenerator.html. Add a link
...
referring to it to LangRef.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 09:17:12 +00:00
Dan Gohman
c3dac5cbfe
s/indicies/indices/ and clarify the extractvalue and insertvalue are
...
working with struct field or array element values. Thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51059 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 18:16:06 +00:00
Dan Gohman
a334d5f535
Initial documentation for first-class aggregates changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51013 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:51:09 +00:00
Dan Gohman
f3480b94b4
Fix a malformed %gt;
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51011 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:38:42 +00:00
Nate Begeman
ac80ade158
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:01:56 +00:00
Chris Lattner
05d670971e
Doc updates/edits, contributed by Terence Parr!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50205 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-24 05:59:56 +00:00
Chris Lattner
f4cde4ec81
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 04:59:35 +00:00
Chris Lattner
1c406d77a6
Allow undef as an operand to getresult.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 04:06:52 +00:00
Chris Lattner
e0db56db31
free(null) -> noop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 22:41:32 +00:00
Chris Lattner
72ed200a7e
Some clarifications suggested by Jon Sargeant
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 21:01:16 +00:00
Chris Lattner
4316dec10e
more edits from Jon Sargeant
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 00:38:26 +00:00
Chris Lattner
5a15814098
add a dropped hunk from Jon Sargeant's patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:47:32 +00:00
Chris Lattner
a73afe00b2
make langref more precise, wave 1, from Jon Sargeant
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:45:27 +00:00
Devang Patel
7a3ad1a401
void type is also a valid function return type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 20:52:42 +00:00
Devang Patel
3a5bff8d04
Fix typo. Clarify underlying message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48734 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 18:10:52 +00:00
Devang Patel
a582f404df
Update Function type documentation to clarify how multiple return values are supported.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:35:41 +00:00
Anton Korobeynikov
726d45c548
Aliasing chains cleanups: update langref, add check into verifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48685 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22 08:36:14 +00:00
Chris Lattner
772fccfe45
clean up and fix the call section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48651 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 17:24:17 +00:00
Chris Lattner
45c5e8b7dc
cleanups for the getresult section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48650 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 17:20:51 +00:00
Duncan Sands
b7f0c082cb
Clarify the unwind attribute. Add assumption
...
about sret made by the optimizers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-17 12:17:41 +00:00
Nick Lewycky
d703f65984
Commit works on regular functions too. Fix the syntax to allow @foo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-16 07:18:12 +00:00
Devang Patel
0dbb4a1398
fix grammer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48211 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11 05:51:59 +00:00
Devang Patel
c3fc6dfa59
Document multiple return values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 20:49:15 +00:00
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
Reid Spencer
2c45228651
Describe the global/local naming convention.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 14:34:28 +00:00
Chandler Carruth
6994040a95
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:51:18 +00:00
Reid Spencer
1539a1cfc6
fp2uint -> fptoui
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40633 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:40:14 +00:00
Duncan Sands
50f19f5860
Forget to add 'nest' to the list of parameter
...
attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 19:57:41 +00:00
Duncan Sands
36397f5034
Support for trampolines, except for X86 codegen which is
...
still under discussion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 12:58:54 +00:00