Chris Lattner
2bfd320226
fix things pointed out by Dan!
...
llvm-svn: 85310
2009-10-27 21:19:13 +00:00
Chris Lattner
e4801f7844
document the forthcoming blockaddress constant.
...
llvm-svn: 85306
2009-10-27 21:01:34 +00:00
Chris Lattner
6506d6c3d7
fix pasto pointed out by Rafael
...
llvm-svn: 85294
2009-10-27 20:27:24 +00:00
Chris Lattner
3ed871fe62
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.
llvm-svn: 85274
2009-10-27 19:13:16 +00:00
Nick Lewycky
d20fd59e29
Fix reversed logic spotted by Owen Anderson.
...
llvm-svn: 85251
2009-10-27 16:56:58 +00:00
Victor Hernandez
a70c6dff97
Remove all references to MallocInst and FreeInst
...
llvm-svn: 85177
2009-10-26 23:44:29 +00:00
Dale Johannesen
1cfb958b00
Rename msasm to alignstack per review.
...
llvm-svn: 84795
2009-10-21 23:28:00 +00:00
Dale Johannesen
63c94fe1e2
Documentation for the new msasm flag, which is no
...
worse than the rest of the asm documentation.
llvm-svn: 84037
2009-10-13 21:56:55 +00:00
Nick Lewycky
9bc890425a
Force memory use markers to have a ConstantInt for the size argument.
...
llvm-svn: 83960
2009-10-13 07:57:33 +00:00
Nick Lewycky
6f7d8347c1
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
...
sections of memory objects.
llvm-svn: 83953
2009-10-13 07:03:23 +00:00
Benjamin Kramer
0f4203861f
Documentation: Perform automated correction of common typos.
...
llvm-svn: 83849
2009-10-12 14:46:08 +00:00
Chris Lattner
80d73c7ee7
fix broken anchors.
...
llvm-svn: 83715
2009-10-10 18:26:06 +00:00
Nick Lewycky
93e06a57c9
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.
llvm-svn: 82943
2009-09-27 23:27:42 +00:00
Nick Lewycky
14d1cccc2b
Remove dead code from this function and optimize. Update its corresponding
...
LangRef entry too.
llvm-svn: 82890
2009-09-27 07:55:32 +00:00
Nick Lewycky
84a1eeb7ed
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).
llvm-svn: 82884
2009-09-27 00:45:11 +00:00
Dale Johannesen
722212d1a0
Revise C library functions description to be vaguer, per Chris.
...
llvm-svn: 82776
2009-09-25 17:04:42 +00:00
Dale Johannesen
68f971b1d6
Clarify that llvm attaches C language semantics to
...
functions with names that match the C library.
llvm-svn: 82701
2009-09-24 18:38:21 +00:00
Chris Lattner
92ada5dc52
more typos
...
llvm-svn: 81499
2009-09-11 01:49:31 +00:00
Chris Lattner
10ff0c1862
another typo
...
llvm-svn: 81243
2009-09-08 19:45:34 +00:00
Chris Lattner
6760e54c92
fix a couple typos pointed out by edwin and duncan
...
llvm-svn: 81219
2009-09-08 15:13:16 +00:00
Chris Lattner
a34a718c4b
add some more notes.
...
llvm-svn: 81170
2009-09-07 23:33:52 +00:00
Chris Lattner
ec72b9bbcf
describe undef semantics in some more detail.
...
llvm-svn: 81167
2009-09-07 22:52:39 +00:00
Dan Gohman
957b1316e6
Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.
...
llvm-svn: 80805
2009-09-02 17:31:42 +00:00
Dale Johannesen
2aaf539564
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.
llvm-svn: 80063
2009-08-26 01:08:21 +00:00
Chris Lattner
e7f064ed2b
improve documentation for linker_private linkage.
...
llvm-svn: 79893
2009-08-24 04:32:16 +00:00
Dan Gohman
2de532c132
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.
llvm-svn: 79538
2009-08-20 17:08:17 +00:00
Chris Lattner
0aff0b2b58
common globals may also not be marked constant.
...
llvm-svn: 78169
2009-08-05 05:41:44 +00:00
Chris Lattner
d055488c72
Clarify common linkage and the requirements on it. Enforce
...
them in the verifier.
llvm-svn: 78160
2009-08-05 05:21:07 +00:00
Dan Gohman
61acaaa0f0
Add one-past-the-end language to the inbounds keyword.
...
llvm-svn: 77460
2009-07-29 16:00:30 +00:00
Chris Lattner
a40b912352
some wording changes.
...
llvm-svn: 77443
2009-07-29 06:44:13 +00:00
Andreas Bolka
8ae4e24c67
Fix a few typos and add links.
...
llvm-svn: 77403
2009-07-29 00:02:05 +00:00
Dan Gohman
1639c3905e
Add a new keyword 'inbounds' for use with getelementptr. See the
...
LangRef.html changes for details.
llvm-svn: 77259
2009-07-27 21:53:46 +00:00
Andreas Bolka
e39f03351d
Fix typo.
...
llvm-svn: 77244
2009-07-27 20:37:10 +00:00
Dan Gohman
6154a01cee
Following discussion on llvm-dev ("proposed new rule for getelementptr"),
...
add a new "Pointer Aliasing Rules" section.
llvm-svn: 77216
2009-07-27 18:07:55 +00:00
Dan Gohman
6b8677015d
Update to new syntax.
...
llvm-svn: 77043
2009-07-25 02:23:48 +00:00
Dan Gohman
902dfff8b6
Rename the new unsigned and signed keywords to nuw and nsw,
...
which stand for no-unsigned-wrap and no-signed-wrap.
llvm-svn: 76810
2009-07-22 22:44:56 +00:00
Dan Gohman
71dfd782ce
Misc. doc fixes following suggestions from Eli.
...
llvm-svn: 76699
2009-07-22 00:04:19 +00:00
Dan Gohman
b07de44d5a
Documentation for the new non-overflow and exact keywords.
...
llvm-svn: 76495
2009-07-20 22:41:19 +00:00
Chris Lattner
58f9bb2ccd
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.
llvm-svn: 76399
2009-07-20 06:14:25 +00:00
Chris Lattner
ae76db5edd
document llvm.used and llvm.metadata. Stub out llvm.global_[cd]tors
...
llvm-svn: 76396
2009-07-20 05:55:19 +00:00
Bill Wendling
8693ef8558
Rename the index to linkage types.
...
llvm-svn: 76394
2009-07-20 02:41:50 +00:00
Bill Wendling
3023511345
More reformatting.
...
llvm-svn: 76393
2009-07-20 02:39:26 +00:00
Bill Wendling
972b720cc1
Fix HTML violations.
...
llvm-svn: 76392
2009-07-20 02:32:41 +00:00
Bill Wendling
d9a66f73c8
Obsessivly reformat.
...
llvm-svn: 76391
2009-07-20 02:29:24 +00:00
Bill Wendling
a3c6f6bffa
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.
llvm-svn: 76385
2009-07-20 01:03:30 +00:00
Chris Lattner
cb3f64f945
fix some typos pointed out by Hidenobu Seki
...
llvm-svn: 76342
2009-07-18 21:47:15 +00:00
Chris Lattner
fd8dea4c47
end sentence in period, draw attention to the fact that you should
...
only do this if you are a crazy russian hacker. ;-)
llvm-svn: 76241
2009-07-17 21:14:28 +00:00
Anton Korobeynikov
c8ce7b08ba
Add support for naked functions
...
llvm-svn: 76198
2009-07-17 18:07:26 +00:00
Chris Lattner
7b9d6ebb9c
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
llvm-svn: 75430
2009-07-12 21:08:53 +00:00
Nick Lewycky
a21d3daadc
Remove the vicmp and vfcmp instructions. Because we never had a release with
...
these instructions, no autoupgrade or backwards compatibility support is
provided.
llvm-svn: 74991
2009-07-08 03:04:38 +00:00
Duncan Sands
2ae473f739
Clarify that if the alignment is zero then an alignment
...
compatible with the type will be used (at least the ABI
alignment).
llvm-svn: 73827
2009-06-20 13:26:06 +00:00
Eli Friedman
8bc032c97c
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.
llvm-svn: 73484
2009-06-16 10:24:13 +00:00
Dan Gohman
405cf6c282
Rewrite the noredzone description, attempting to avoid confusing language.
...
llvm-svn: 73421
2009-06-15 21:18:01 +00:00
Dan Gohman
1b1b7e1fbd
Reword the description of the noredzone attribute.
...
llvm-svn: 73394
2009-06-15 17:37:09 +00:00
Devang Patel
310fd4ad03
Document noredzone and noimplicitfloat function attributes.
...
llvm-svn: 73246
2009-06-12 19:45:19 +00:00
Daniel Dunbar
7921a59462
Document the stack alignment part of target data description.
...
llvm-svn: 73089
2009-06-08 22:17:53 +00:00
Dan Gohman
a5b9645c4b
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
llvm-svn: 72897
2009-06-04 22:49:04 +00:00
Jay Foad
1a4eea5ad6
Document how phi and invoke instructions interact with SSA form.
...
llvm-svn: 72762
2009-06-03 10:20:10 +00:00
Nick Lewycky
8e2c4f4716
Metadata uses metadata type not empty struct.
...
llvm-svn: 72623
2009-05-30 16:08:30 +00:00
Nick Lewycky
adbc284666
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
llvm-svn: 72610
2009-05-30 05:06:04 +00:00
Nick Lewycky
aab930a5db
Remove border around table used for layout.
...
llvm-svn: 72357
2009-05-24 02:46:06 +00:00
Dan Gohman
9069d890e8
Add a note mentioning that uses of the return value of an invoke
...
must be dominated by the normal label.
llvm-svn: 72285
2009-05-22 21:47:08 +00:00
Nick Lewycky
b8f9b7a965
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.
llvm-svn: 71407
2009-05-10 20:57:05 +00:00
Chris Lattner
e648c28e73
fix typo
...
llvm-svn: 71362
2009-05-09 18:11:50 +00:00
Bill Wendling
9ee6a31bb8
Fix typo.
...
llvm-svn: 71260
2009-05-08 20:49:29 +00:00
Duncan Sands
1efabaaa2a
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.
llvm-svn: 71071
2009-05-06 06:49:50 +00:00
Chris Lattner
680ae74885
Remove obsolete wording, the only exception a readnone function can throw
...
is the empty set. :) Thanks to Fritz for pointing this out.
llvm-svn: 70790
2009-05-03 19:06:00 +00:00
Chris Lattner
f031421afe
be very explicit that readnone/readonly functions can't
...
throw exceptions.
llvm-svn: 70788
2009-05-03 18:49:37 +00:00
Sanjiv Gupta
1f8555a07f
Now that any size of integer indices are allowed for sequential types, remove the unneccessary gyan about promoting them.
...
llvm-svn: 70181
2009-04-27 03:21:00 +00:00
Sanjiv Gupta
8d319047c5
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.
...
llvm-svn: 70134
2009-04-26 17:14:35 +00:00
Sanjiv Gupta
0c155e6dbe
Fixed the gep example for i16 type indices.
...
llvm-svn: 70019
2009-04-25 07:27:44 +00:00
Sanjiv Gupta
77abea0d6a
Fixed spaces and the getelementpointer example with i16 type indices.
...
llvm-svn: 69971
2009-04-24 16:38:13 +00:00
Sanjiv Gupta
46c97e626f
Allow i16 type indices to gep.
...
llvm-svn: 69946
2009-04-24 02:37:54 +00:00
Chris Lattner
184f1be4a8
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.
llvm-svn: 68940
2009-04-13 05:44:34 +00:00
Nick Lewycky
49f891958f
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.
llvm-svn: 68420
2009-04-04 07:22:01 +00:00
Duncan Sands
b1656c1e1f
Add some explanations of how apint loads and stores
...
work.
llvm-svn: 67471
2009-03-22 11:33:16 +00:00
Duncan Sands
4581bebf2a
It makes no sense to have a ODR version of common
...
linkage, so remove it.
llvm-svn: 66690
2009-03-11 20:14:15 +00:00
Duncan Sands
e2881053c9
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.
llvm-svn: 66650
2009-03-11 08:08:06 +00:00
Chris Lattner
dd282825a8
Clarify wording, patch by Stefanus Du Toit!
...
llvm-svn: 66458
2009-03-09 20:55:18 +00:00
Duncan Sands
12da8ce3d2
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.
llvm-svn: 66339
2009-03-07 15:45:40 +00:00
Bill Wendling
050ee8fb8d
Fix grammaro.
...
llvm-svn: 65727
2009-02-28 22:12:54 +00:00
Chris Lattner
361bfcd932
don't use the word 'aggregate' with constants, it is confusing.
...
llvm-svn: 65702
2009-02-28 18:32:25 +00:00
Chris Lattner
789dee38a5
don't redescribe bitcast constraints in two places. It is not valid to
...
bitcast from one aggregate to another.
llvm-svn: 65700
2009-02-28 18:27:03 +00:00
Nick Lewycky
cd5b1443bb
Update this text for first-class aggregates.
...
llvm-svn: 65697
2009-02-28 17:30:06 +00:00
Nick Lewycky
dac78d87cb
Demonstrate the act of including multiple space-separated parameter attributes,
...
by request on IRC.
llvm-svn: 64619
2009-02-15 23:06:14 +00:00
Dale Johannesen
cd4a301a1a
Edit description of floating point constants to
...
reflect reality. Acknowledgements to John Clements
for prodding me into this.
llvm-svn: 64332
2009-02-11 22:14:51 +00:00
Chris Lattner
bf1d5458ad
fix typo, patch by Jonathan Brandmeyer!
...
llvm-svn: 64132
2009-02-09 10:00:56 +00:00
Bill Wendling
b9a7327006
Document llvm.umul.with.overflow indicating that it's badly broken and not intended for use.
...
llvm-svn: 64104
2009-02-08 23:00:09 +00:00
Chris Lattner
d1d4cffae9
I can't type today apparently.
...
llvm-svn: 64097
2009-02-08 22:21:28 +00:00
Chris Lattner
04c57c5bae
fix typo
...
llvm-svn: 64090
2009-02-08 19:59:51 +00:00
Chris Lattner
4a67c91d0b
document pointer type constraints, PR3513
...
llvm-svn: 64088
2009-02-08 19:53:29 +00:00
Bill Wendling
fd2bd720da
Fixes from feedback.
...
llvm-svn: 64070
2009-02-08 04:04:40 +00:00
Bill Wendling
f4d70628a3
Document the 'llvm.OP.with.overflow' intrinsics.
...
llvm-svn: 64066
2009-02-08 01:40:31 +00:00
Chris Lattner
08aa90643e
PR3485, document alignment on byref.
...
llvm-svn: 63836
2009-02-05 05:42:28 +00:00
Chris Lattner
5e66858152
validation error fix.
...
llvm-svn: 63503
2009-02-02 07:33:15 +00:00
Chris Lattner
cf7a584341
Document type upreferences (PR3380), patch by Stein Roger Skafløtten
...
with enhancements and corrections by me.
llvm-svn: 63502
2009-02-02 07:32:36 +00:00
Dan Gohman
142ccc0e15
Add more documentation mentioning the limitations due to PR2660.
...
llvm-svn: 62919
2009-01-24 15:58:40 +00:00
Dan Gohman
a5127abeec
Add a few more notes about LLVM IR features that codegen doesn't
...
yet support.
llvm-svn: 62739
2009-01-22 01:39:38 +00:00
Duncan Sands
35e43c12f1
Grammar fix.
...
llvm-svn: 62319
2009-01-16 09:29:46 +00:00
Rafael Espindola
6de96a1b5d
Add the private linkage.
...
llvm-svn: 62279
2009-01-15 20:18:42 +00:00