Commit Graph

613 Commits

Author SHA1 Message Date
Chris Lattner
c6f44369c3 document the forthcoming blockaddress constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:01:34 +00:00
Chris Lattner
5f75cf511b fix pasto pointed out by Rafael
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85294 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 20:27:24 +00:00
Chris Lattner
f9be95f867 add enough support for indirect branch for the feature test to pass
(assembler,asmprinter, bc reader+writer) and document it.  Codegen
currently aborts on it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 19:13:16 +00:00
Nick Lewycky
8d33659b93 Fix reversed logic spotted by Owen Anderson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 16:56:58 +00:00
Victor Hernandez
2fee294b3c Remove all references to MallocInst and FreeInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 23:44:29 +00:00
Dale Johannesen
8ba2d5befc Rename msasm to alignstack per review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:28:00 +00:00
Dale Johannesen
09fed25a07 Documentation for the new msasm flag, which is no
worse than the rest of the asm documentation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84037 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 21:56:55 +00:00
Nick Lewycky
321333e51e Force memory use markers to have a ConstantInt for the size argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:57:33 +00:00
Nick Lewycky
cc271861da Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
sections of memory objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:03:23 +00:00
Benjamin Kramer
8040cd3cfd Documentation: Perform automated correction of common typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 14:46:08 +00:00
Chris Lattner
5a2d87541f fix broken anchors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-10 18:26:06 +00:00
Nick Lewycky
c261df9fab Remove the "metadata*" type and simplify the code it complicated. This was only
used to support GlobalVariables storing MDNodes, back when they were derived
from Constant before the introduction of NamedMDNode, but never removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82943 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 23:27:42 +00:00
Nick Lewycky
513869453b Remove dead code from this function and optimize. Update its corresponding
LangRef entry too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 07:55:32 +00:00
Nick Lewycky
ec38da42c8 Move the integer type out of 'derived' and into 'primitive'. This permits us
to explain that derived types are all composed of other types, which primitive
types aren't. Without moving integer out of derived, this wouldn't be true.

Perform a few trivial cleanups; 'i1' went from a link to #t_primitive to
#t_integer (a holdover from when it was a bool type I suppose).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 00:45:11 +00:00
Dale Johannesen
9f8380b425 Revise C library functions description to be vaguer, per Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 17:04:42 +00:00
Dale Johannesen
07de8d1acf Clarify that llvm attaches C language semantics to
functions with names that match the C library.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82701 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24 18:38:21 +00:00
Chris Lattner
c608cb14a7 more typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81499 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 01:49:31 +00:00
Chris Lattner
8e371aa7b6 another typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 19:45:34 +00:00
Chris Lattner
349eb41af4 fix a couple typos pointed out by edwin and duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81219 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 15:13:16 +00:00
Chris Lattner
6e9057b0ef add some more notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07 23:33:52 +00:00
Chris Lattner
48a109c36c describe undef semantics in some more detail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07 22:52:39 +00:00
Dan Gohman
fdfca79de0 Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 17:31:42 +00:00
Dale Johannesen
de86d473fc Add an 'inline hint' attribute to represent source
code hints that it would be a good idea to inline
a function ("inline" keyword).  No functional change
yet; FEs do not emit this and inliner does not use it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 01:08:21 +00:00
Chris Lattner
e1eaf916f0 improve documentation for linker_private linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:32:16 +00:00
Dan Gohman
b255b88f06 Clarify a few things in the inbounds description.
Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 17:08:17 +00:00
Chris Lattner
cd81f5df27 common globals may also not be marked constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:41:44 +00:00
Chris Lattner
26d054d903 Clarify common linkage and the requirements on it. Enforce
them in the verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:21:07 +00:00
Dan Gohman
0a28d18cd4 Add one-past-the-end language to the inbounds keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 16:00:30 +00:00
Chris Lattner
c8eef440f6 some wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 06:44:13 +00:00
Andreas Bolka
55e459aa75 Fix a few typos and add links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77403 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 00:02:05 +00:00
Dan Gohman
dd8004dc73 Add a new keyword 'inbounds' for use with getelementptr. See the
LangRef.html changes for details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 21:53:46 +00:00
Andreas Bolka
99a8205ae3 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 20:37:10 +00:00
Dan Gohman
556ca272fb Following discussion on llvm-dev ("proposed new rule for getelementptr"),
add a new "Pointer Aliasing Rules" section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 18:07:55 +00:00
Dan Gohman
4df605ba46 Update to new syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77043 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 02:23:48 +00:00
Dan Gohman
08d012eba4 Rename the new unsigned and signed keywords to nuw and nsw,
which stand for no-unsigned-wrap and no-signed-wrap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76810 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 22:44:56 +00:00
Dan Gohman
9c5beed5f5 Misc. doc fixes following suggestions from Eli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:04:19 +00:00
Dan Gohman
cbb38f2f67 Documentation for the new non-overflow and exact keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 22:41:19 +00:00
Chris Lattner
401e10c4fb implement a new magic global "llvm.compiler.used" which is like llvm.used, but
doesn't cause ".no_dead_strip" to be emitted on darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76399 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 06:14:25 +00:00
Chris Lattner
857755c2a5 document llvm.used and llvm.metadata. Stub out llvm.global_[cd]tors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 05:55:19 +00:00
Bill Wendling
987e7eb59c Rename the index to linkage types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 02:41:50 +00:00
Bill Wendling
c39e3e0abc More reformatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76393 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 02:39:26 +00:00
Bill Wendling
d9fe298ccb Fix HTML violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76392 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 02:32:41 +00:00
Bill Wendling
e910b4cefe Obsessivly reformat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76391 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 02:29:24 +00:00
Bill Wendling
3d10a5a757 Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.

This is plumbing, so we don't have a use of it yet. More to come, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 01:03:30 +00:00
Chris Lattner
8ad2f98739 fix some typos pointed out by Hidenobu Seki
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76342 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 21:47:15 +00:00
Chris Lattner
0c542ff13f end sentence in period, draw attention to the fact that you should
only do this if you are a crazy russian hacker. ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:14:28 +00:00
Anton Korobeynikov
c5ec8a78ea Add support for naked functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:07:26 +00:00
Chris Lattner
eaff524670 remove llvm.part.set.* and llvm.part.select.*. They have never been
implemented in codegen, have no frontend to generate them, and are 
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).

PR4543



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-12 21:08:53 +00:00
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