Eric Christopher
3c5d9dc0e3
Remove the InlineHint attribute. There are no current or planned
...
users.
llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Chris Lattner
c282e8bbaf
mention that unwind isn't to be trusted, patch by Dustin Laurence
...
llvm-svn: 93518
2010-01-15 18:08:37 +00:00
Devang Patel
245046024d
Add top level section for named metadata.
...
llvm-svn: 93172
2010-01-11 19:35:55 +00:00
Jeffrey Yasskin
42686afc01
Improve unclear bits and inaccuracies in structure and insertvalue
...
documentation.
Patch by Dustin Laurence!
llvm-svn: 93170
2010-01-11 19:19:26 +00:00
Jeffrey Yasskin
c514410b5e
Clarify the requirements for a "tail call" to actually be optimized into a
...
jump. People clearly weren't finding the extra requirements in
CodeGenerator.html.
llvm-svn: 93070
2010-01-09 19:44:16 +00:00
Chris Lattner
c6ac6d3531
improve documentation for linkonce to be less confusing.
...
llvm-svn: 93066
2010-01-09 19:15:14 +00:00
Eric Christopher
79200db8b8
Grammar thinko.
...
llvm-svn: 93027
2010-01-08 21:42:39 +00:00
Devang Patel
ab66612f1b
NamedMDNode is a collection MDNodes.
...
llvm-svn: 92761
2010-01-05 20:41:31 +00:00
Eric Christopher
496de21731
Update docs for bitcode changes. For object size checking we won't
...
work with partial objects so just count the type as a boolean. Update
appropriately.
llvm-svn: 91954
2009-12-23 00:29:49 +00:00
Eric Christopher
2a9b28c14b
More updates to objectsize intrinsic docs.
...
llvm-svn: 90644
2009-12-05 02:46:03 +00:00
Eric Christopher
89bb07c217
Update per Bill's comments. Work in progress.
...
llvm-svn: 90271
2009-12-01 22:28:41 +00:00
Eric Christopher
859360e596
First pass at llvm.objectsize documentation.
...
llvm-svn: 90116
2009-11-30 08:03:53 +00:00
Duncan Sands
d68bde384e
Vector types are no longer required to have a power-of-two length.
...
llvm-svn: 90004
2009-11-27 13:38:03 +00:00
Duncan Sands
a255c38866
These code generator limitations have been removed.
...
llvm-svn: 90003
2009-11-27 12:33:22 +00:00
Dan Gohman
b696ff22f7
The inbounds keyword isn't relevant to overindexing of
...
static array types. Thanks to Duncan for pointing this out!
llvm-svn: 86576
2009-11-09 19:01:53 +00:00
Dan Gohman
e2afe7c1c7
Remove the "special case" for zero-length arrays, and rephrase this
...
paragraph to be more precise.
llvm-svn: 86572
2009-11-09 18:40:39 +00:00
Chris Lattner
cdefc1c441
add the ability for TargetData to return information about legal integer
...
datatypes on a given CPU. This is intended to allow instcombine and other
transformations to avoid converting big sequences of operations to an
inconvenient width, and will help clean up after SRoA. See also "Adding
legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451.
Comments welcome.
llvm-svn: 86370
2009-11-07 09:35:34 +00:00
Bill Wendling
772f96dca7
Add missing end-tag.
...
llvm-svn: 85769
2009-11-02 00:25:26 +00:00
Bill Wendling
a2574815af
Some formatting changes.
...
llvm-svn: 85768
2009-11-02 00:24:16 +00:00
Chris Lattner
2bbe57b2b8
Revert 85678/85680. The decision is to stay with the current form of
...
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it
for simplicity.
llvm-svn: 85699
2009-11-01 01:27:45 +00:00
Chris Lattner
cbab35746f
Make blockaddress(@func, null) be valid, and make 'deleting a basic
...
block with a blockaddress still referring to it' replace the invalid
blockaddress with a new blockaddress(@func, null) instead of a
inttoptr(1).
This changes the bitcode encoding format, and still needs codegen
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).
llvm-svn: 85678
2009-10-31 20:08:37 +00:00
Gabor Greif
f47a614c2f
use metavariable <result> instead of SSA name %result for consistency
...
llvm-svn: 85388
2009-10-28 13:14:50 +00:00
Gabor Greif
bb9bbb25af
ooops, SSA name should not be part of the link
...
llvm-svn: 85387
2009-10-28 13:05:07 +00:00
Gabor Greif
fad893b79c
advertise new syntax for unnamed instructions
...
and eliminate confusing double-use of SSA names
(work in progress)
llvm-svn: 85385
2009-10-28 09:21:30 +00:00
Chris Lattner
2bc8002f4c
rename indbr -> indirectbr to appease the residents of #llvm.
...
llvm-svn: 85351
2009-10-28 00:19:10 +00:00
Chris Lattner
9bfb80f9db
typo
...
llvm-svn: 85322
2009-10-27 21:52:54 +00:00
Chris Lattner
5b2fc7b0b2
you can't take the address of the entry block of a function.
...
llvm-svn: 85321
2009-10-27 21:49:40 +00:00
Chris Lattner
59da83273a
improvements from gabor.
...
llvm-svn: 85320
2009-10-27 21:44:20 +00:00
Chris Lattner
14fadd0f45
fix things pointed out by Dan!
...
llvm-svn: 85310
2009-10-27 21:19:13 +00:00
Chris Lattner
10bd83bf85
document the forthcoming blockaddress constant.
...
llvm-svn: 85306
2009-10-27 21:01:34 +00:00
Chris Lattner
17c9caf0e3
fix pasto pointed out by Rafael
...
llvm-svn: 85294
2009-10-27 20:27:24 +00:00
Chris Lattner
fdda543cea
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
f359214d66
Fix reversed logic spotted by Owen Anderson.
...
llvm-svn: 85251
2009-10-27 16:56:58 +00:00
Victor Hernandez
d6e238c611
Remove all references to MallocInst and FreeInst
...
llvm-svn: 85177
2009-10-26 23:44:29 +00:00
Dale Johannesen
2bb120a97f
Rename msasm to alignstack per review.
...
llvm-svn: 84795
2009-10-21 23:28:00 +00:00
Dale Johannesen
98d4e2663f
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
ee0c1726d8
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
ab1dbddc83
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
1791be26f8
Documentation: Perform automated correction of common typos.
...
llvm-svn: 83849
2009-10-12 14:46:08 +00:00
Chris Lattner
1f970dea03
fix broken anchors.
...
llvm-svn: 83715
2009-10-10 18:26:06 +00:00
Nick Lewycky
04cea17209
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
676778014b
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
c54e1a5528
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
cbafb61a84
Revise C library functions description to be vaguer, per Chris.
...
llvm-svn: 82776
2009-09-25 17:04:42 +00:00
Dale Johannesen
74af0f3eb0
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
1619ca8d56
more typos
...
llvm-svn: 81499
2009-09-11 01:49:31 +00:00
Chris Lattner
7e056a9740
another typo
...
llvm-svn: 81243
2009-09-08 19:45:34 +00:00
Chris Lattner
103aabbae7
fix a couple typos pointed out by edwin and duncan
...
llvm-svn: 81219
2009-09-08 15:13:16 +00:00
Chris Lattner
b467389331
add some more notes.
...
llvm-svn: 81170
2009-09-07 23:33:52 +00:00
Chris Lattner
01f8bf80ac
describe undef semantics in some more detail.
...
llvm-svn: 81167
2009-09-07 22:52:39 +00:00
Dan Gohman
df6c046bc3
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
f90fc6544b
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
e9f6a3fcdc
improve documentation for linker_private linkage.
...
llvm-svn: 79893
2009-08-24 04:32:16 +00:00
Dan Gohman
0a6e8a4bcd
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
94f55a81bd
common globals may also not be marked constant.
...
llvm-svn: 78169
2009-08-05 05:41:44 +00:00
Chris Lattner
19d238562d
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
394863c49d
Add one-past-the-end language to the inbounds keyword.
...
llvm-svn: 77460
2009-07-29 16:00:30 +00:00
Chris Lattner
7bc86c5d43
some wording changes.
...
llvm-svn: 77443
2009-07-29 06:44:13 +00:00
Andreas Bolka
5707be6a51
Fix a few typos and add links.
...
llvm-svn: 77403
2009-07-29 00:02:05 +00:00
Dan Gohman
490eb36e1d
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
0cb4ca7575
Fix typo.
...
llvm-svn: 77244
2009-07-27 20:37:10 +00:00
Dan Gohman
40927be3bf
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
f6e44e6e47
Update to new syntax.
...
llvm-svn: 77043
2009-07-25 02:23:48 +00:00
Dan Gohman
001d777207
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
11a1a3ac43
Misc. doc fixes following suggestions from Eli.
...
llvm-svn: 76699
2009-07-22 00:04:19 +00:00
Dan Gohman
8cde898476
Documentation for the new non-overflow and exact keywords.
...
llvm-svn: 76495
2009-07-20 22:41:19 +00:00
Chris Lattner
eac40b1473
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
36b89d4fb7
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
b0bb37d802
Rename the index to linkage types.
...
llvm-svn: 76394
2009-07-20 02:41:50 +00:00
Bill Wendling
e9aa2cf10f
More reformatting.
...
llvm-svn: 76393
2009-07-20 02:39:26 +00:00
Bill Wendling
a06bd14d83
Fix HTML violations.
...
llvm-svn: 76392
2009-07-20 02:32:41 +00:00
Bill Wendling
21db8e8360
Obsessivly reformat.
...
llvm-svn: 76391
2009-07-20 02:29:24 +00:00
Bill Wendling
1a10a060cb
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
36c1af90d8
fix some typos pointed out by Hidenobu Seki
...
llvm-svn: 76342
2009-07-18 21:47:15 +00:00
Chris Lattner
22beba4992
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
60f7bd3562
Add support for naked functions
...
llvm-svn: 76198
2009-07-17 18:07:26 +00:00
Chris Lattner
d3eba0efb8
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
d46a7b2d22
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
02f2e932e3
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
705de594b2
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
22c89d779b
Rewrite the noredzone description, attempting to avoid confusing language.
...
llvm-svn: 73421
2009-06-15 21:18:01 +00:00
Dan Gohman
daf11a4a54
Reword the description of the noredzone attribute.
...
llvm-svn: 73394
2009-06-15 17:37:09 +00:00
Devang Patel
95b4743214
Document noredzone and noimplicitfloat function attributes.
...
llvm-svn: 73246
2009-06-12 19:45:19 +00:00
Daniel Dunbar
89fef139c1
Document the stack alignment part of target data description.
...
llvm-svn: 73089
2009-06-08 22:17:53 +00:00
Dan Gohman
5f6f8101d5
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
203127a106
Document how phi and invoke instructions interact with SSA form.
...
llvm-svn: 72762
2009-06-03 10:20:10 +00:00
Nick Lewycky
b7afbf8a63
Metadata uses metadata type not empty struct.
...
llvm-svn: 72623
2009-05-30 16:08:30 +00:00
Nick Lewycky
a9de2f1c81
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
llvm-svn: 72610
2009-05-30 05:06:04 +00:00
Nick Lewycky
c8242fc08b
Remove border around table used for layout.
...
llvm-svn: 72357
2009-05-24 02:46:06 +00:00
Dan Gohman
00b088d848
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
f417462ddf
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
e8160d0836
fix typo
...
llvm-svn: 71362
2009-05-09 18:11:50 +00:00
Bill Wendling
3bb11df772
Fix typo.
...
llvm-svn: 71260
2009-05-08 20:49:29 +00:00
Duncan Sands
880eaf5278
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
b38edd3714
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
abf304f36e
be very explicit that readnone/readonly functions can't
...
throw exceptions.
llvm-svn: 70788
2009-05-03 18:49:37 +00:00
Sanjiv Gupta
e903d414ee
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
0877e1eabe
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
9093a67350
Fixed the gep example for i16 type indices.
...
llvm-svn: 70019
2009-04-25 07:27:44 +00:00
Sanjiv Gupta
14c405828e
Fixed spaces and the getelementpointer example with i16 type indices.
...
llvm-svn: 69971
2009-04-24 16:38:13 +00:00
Sanjiv Gupta
f1177e1be7
Allow i16 type indices to gep.
...
llvm-svn: 69946
2009-04-24 02:37:54 +00:00
Chris Lattner
c1bfdc9bb2
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
eea5412e19
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
dca010d0d7
Add some explanations of how apint loads and stores
...
work.
llvm-svn: 67471
2009-03-22 11:33:16 +00:00
Duncan Sands
b27c523449
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
aadb34c357
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
952dfa96b7
Clarify wording, patch by Stefanus Du Toit!
...
llvm-svn: 66458
2009-03-09 20:55:18 +00:00
Duncan Sands
5ab54d488f
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
012bf508b5
Fix grammaro.
...
llvm-svn: 65727
2009-02-28 22:12:54 +00:00
Chris Lattner
0472bd03d4
don't use the word 'aggregate' with constants, it is confusing.
...
llvm-svn: 65702
2009-02-28 18:32:25 +00:00
Chris Lattner
61fca97b76
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
3134ef23bb
Update this text for first-class aggregates.
...
llvm-svn: 65697
2009-02-28 17:30:06 +00:00
Nick Lewycky
494b48e76b
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
9a80b9d451
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
62e48b2e3b
fix typo, patch by Jonathan Brandmeyer!
...
llvm-svn: 64132
2009-02-09 10:00:56 +00:00
Bill Wendling
19c640efd1
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
c3f02abe2b
I can't type today apparently.
...
llvm-svn: 64097
2009-02-08 22:21:28 +00:00
Chris Lattner
4a31df9488
fix typo
...
llvm-svn: 64090
2009-02-08 19:59:51 +00:00
Chris Lattner
4a51a59a4b
document pointer type constraints, PR3513
...
llvm-svn: 64088
2009-02-08 19:53:29 +00:00
Bill Wendling
b2e94f5ae0
Fixes from feedback.
...
llvm-svn: 64070
2009-02-08 04:04:40 +00:00
Bill Wendling
511a92524b
Document the 'llvm.OP.with.overflow' intrinsics.
...
llvm-svn: 64066
2009-02-08 01:40:31 +00:00
Chris Lattner
9a13b357c6
PR3485, document alignment on byref.
...
llvm-svn: 63836
2009-02-05 05:42:28 +00:00
Chris Lattner
408b359e6e
validation error fix.
...
llvm-svn: 63503
2009-02-02 07:33:15 +00:00
Chris Lattner
27bf492e30
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
017bf94fbc
Add more documentation mentioning the limitations due to PR2660.
...
llvm-svn: 62919
2009-01-24 15:58:40 +00:00
Dan Gohman
3f9d24dca8
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
2bb8d618ad
Grammar fix.
...
llvm-svn: 62319
2009-01-16 09:29:46 +00:00
Rafael Espindola
0aba6c9435
Add the private linkage.
...
llvm-svn: 62279
2009-01-15 20:18:42 +00:00
Dan Gohman
276142c95b
Document several current CodeGen limitations in LangRef.html.
...
Patches for any of these are welcome!
llvm-svn: 62120
2009-01-12 23:12:39 +00:00
Dan Gohman
bdb0a5b773
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!
llvm-svn: 62103
2009-01-12 21:35:55 +00:00
Chris Lattner
96dacb990b
Implement PR3313, and while I'm at it address a very FAQ.
...
llvm-svn: 62048
2009-01-11 20:53:49 +00:00
Dan Gohman
473e732586
Fix the example syntax for named sections.
...
llvm-svn: 62033
2009-01-11 00:40:00 +00:00
Dan Gohman
7f43292fe9
A few more whitespace tidyments.
...
llvm-svn: 61655
2009-01-04 23:49:44 +00:00
Dan Gohman
32c0a04815
Tidy whitespace.
...
llvm-svn: 61653
2009-01-04 23:44:43 +00:00
Chris Lattner
53fa6e3f6b
new non-ambiguous syntax.
...
llvm-svn: 61559
2009-01-02 07:02:56 +00:00
Nick Lewycky
8f96b51785
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.
llvm-svn: 61239
2008-12-19 06:39:12 +00:00
Bill Wendling
f807a68f2e
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
...
builds.
llvm-svn: 61094
2008-12-16 19:06:48 +00:00
Nick Lewycky
8bdae4db80
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.
llvm-svn: 61019
2008-12-15 01:34:58 +00:00
Misha Brukman
74411f221b
Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
...
llvm-svn: 60880
2008-12-11 17:34:48 +00:00
Mon P Wang
5f031c6120
Added a little more information that vector shifts require vector shift amount.
...
llvm-svn: 60831
2008-12-10 08:55:09 +00:00
Mon P Wang
0c011f8ba9
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.
llvm-svn: 60740
2008-12-09 05:46:39 +00:00
Misha Brukman
54dad5f940
Fixed HTML closing tag, cleaned up some spacing.
...
llvm-svn: 60153
2008-11-27 06:41:20 +00:00
Bill Wendling
d8a4b1ec05
Small formatting change.
...
llvm-svn: 60113
2008-11-26 19:19:05 +00:00
Bill Wendling
cdc91a5f09
Update to explain how ssp and sspreq attributes override each other.
...
llvm-svn: 60112
2008-11-26 19:07:40 +00:00
Dan Gohman
83971772a6
Fix a few HTML tidiness issues.
...
llvm-svn: 59966
2008-11-24 17:18:39 +00:00
Torok Edwin
c120302836
NULL, unique pointers from malloc(0), and freed pointers are legal values for
...
noalias attribute parameters/return values.
llvm-svn: 59955
2008-11-24 08:02:24 +00:00
Nick Lewycky
b8b082166a
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.
llvm-svn: 59940
2008-11-24 05:00:44 +00:00
Nick Lewycky
47fa9bd187
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.
llvm-svn: 59934
2008-11-24 03:41:24 +00:00
Misha Brukman
2fc3f5daa5
Fixed named anchor for llvm.stackprotector intrinsic.
...
llvm-svn: 59893
2008-11-22 23:55:29 +00:00
Chris Lattner
08bdf9dfab
reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
...
arbitrary integer width for the count.
llvm-svn: 59823
2008-11-21 16:42:48 +00:00
Bill Wendling
4c5afef830
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
llvm-svn: 59809
2008-11-21 09:09:41 +00:00
Sanjiv Gupta
89a7e67578
Make mem[cpy,move,set] intrinsics overloaded.
...
llvm-svn: 59802
2008-11-21 07:49:09 +00:00
Bill Wendling
797dcb3ef7
- Move the stackprotector intrinsic to the general section.
...
- Rewrite the sentence to make it look as if English is my first language.
llvm-svn: 59592
2008-11-19 05:56:17 +00:00
Bill Wendling
99744090d6
Documentation for the llvm.stackprotector intrinsic.
...
llvm-svn: 59557
2008-11-18 22:10:53 +00:00
Bill Wendling
58ebe90530
Update docs for ssp and sspreq function attributes.
...
llvm-svn: 59203
2008-11-13 01:02:51 +00:00
Mon P Wang
911ee5bf8b
Added support for the following definition of shufflevector
...
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
llvm-svn: 58964
2008-11-10 04:46:22 +00:00
Daniel Dunbar
e11e618cc6
Prevent assert when using '"' in names (via hexadecimal).
...
Update LangRef to mention \xx quoting in names.
llvm-svn: 57538
2008-10-14 23:51:43 +00:00
Dan Gohman
75d70feb9b
Fix missing end tags and invalid HTML entity syntax.
...
llvm-svn: 57500
2008-10-14 16:51:45 +00:00
Dan Gohman
7227e51b8d
Add a missing close-tag.
...
llvm-svn: 57497
2008-10-14 16:32:04 +00:00
Chris Lattner
5dffd42d1b
fix some crazily long lines.
...
llvm-svn: 57444
2008-10-13 16:55:18 +00:00
Matthijs Kooijman
5d8f1a58b3
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.
llvm-svn: 57440
2008-10-13 13:44:15 +00:00
Chris Lattner
7320e36e54
fix typo
...
llvm-svn: 57287
2008-10-08 06:26:11 +00:00
Devang Patel
782e55a101
Improve function definition, call and invoke instruction docs.
...
llvm-svn: 57253
2008-10-07 17:48:33 +00:00
Matthijs Kooijman
311f8e7dca
Add two forgotten </i>'s.
...
llvm-svn: 57239
2008-10-07 10:03:45 +00:00
Devang Patel
797d5155ba
Update function attributes docs.
...
llvm-svn: 57197
2008-10-06 18:50:38 +00:00
Duncan Sands
559ddbafc0
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).
llvm-svn: 57166
2008-10-06 08:14:18 +00:00
Chris Lattner
aec2eeea80
A word got optimized out, thanks to Duncan for pointing this out
...
llvm-svn: 57116
2008-10-05 17:14:59 +00:00
Dan Gohman
8c3b14fa6d
Update the documentation for first-class aggregates changes,
...
and remove getresult and references thereto.
llvm-svn: 57064
2008-10-04 19:00:07 +00:00
Chris Lattner
b5fb0f6d1f
add a note about inline asm
...
llvm-svn: 57062
2008-10-04 18:36:02 +00:00
Chris Lattner
6fff750f76
improve description of param/ret attrs
...
llvm-svn: 57061
2008-10-04 18:33:34 +00:00
Chris Lattner
bae2f35e81
improve descriptions of function attrs
...
llvm-svn: 57060
2008-10-04 18:23:17 +00:00
Chris Lattner
28d083232d
notes are gone.
...
llvm-svn: 57059
2008-10-04 18:10:21 +00:00
Devang Patel
1721a1a319
Fix grammar.
...
llvm-svn: 56796
2008-09-29 18:34:44 +00:00
Devang Patel
ed4b84c801
Fix sentence.
...
llvm-svn: 56794
2008-09-29 18:16:09 +00:00
Devang Patel
47a504c87c
Implement function notes as function attributes.
...
llvm-svn: 56716
2008-09-26 23:51:19 +00:00
Dale Johannesen
62f64ab4c8
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.
llvm-svn: 56619
2008-09-25 20:47:45 +00:00
Duncan Sands
ed2eeb11d8
The "alias" keyword comes first.
...
llvm-svn: 56170
2008-09-12 20:48:21 +00:00
Dan Gohman
3e79d697f3
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!
llvm-svn: 55969
2008-09-09 01:02:47 +00:00
Dan Gohman
3d1ee171e8
Bitcasting two or from aggregate types is not permitted. Update
...
LangRef.html, and teach the verifier to check bitcast instructions.
llvm-svn: 55921
2008-09-08 16:45:59 +00:00
Bill Wendling
9f540e75fd
Clean up CSS validator errors: 'Property align doesn't exist : center'
...
llvm-svn: 55885
2008-09-07 10:29:20 +00:00
Bill Wendling
f2786b7a0c
Formatting changes. to make the information cleaner.
...
llvm-svn: 55884
2008-09-07 10:26:33 +00:00
Devang Patel
b85cf5664d
update.
...
llvm-svn: 55809
2008-09-04 23:10:26 +00:00
Devang Patel
23d60ba4ed
Document function notes.
...
llvm-svn: 55808
2008-09-04 23:05:13 +00:00
Gabor Greif
b3eb156fe2
use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants
...
llvm-svn: 54490
2008-08-07 21:46:00 +00:00
Bill Wendling
b120b02f4d
It's "a static", not "an static"
...
llvm-svn: 54379
2008-08-05 22:29:16 +00:00
Chris Lattner
ffc6ce44a7
Expand acronyms, suggested by Walter Pawley
...
llvm-svn: 54362
2008-08-05 18:29:16 +00:00
Chris Lattner
0ad96be1be
Capitalize LLVM, suggested by Walt Pawley
...
llvm-svn: 54360
2008-08-05 18:21:08 +00:00
Mon P Wang
fb483982f5
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
llvm-svn: 54195
2008-07-30 04:36:53 +00:00
Nate Begeman
9a71580e21
Add vector shifts to the IR, patch by Eli Friedman.
...
CodeGen & Clang work coming next.
llvm-svn: 54161
2008-07-29 15:49:41 +00:00
Duncan Sands
7a6ba3f3a4
Note that 'nest' only applies to pointers.
...
llvm-svn: 53226
2008-07-08 09:27:25 +00:00
Mon P Wang
7d89d61387
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
llvm-svn: 52706
2008-06-25 08:15:39 +00:00
Dan Gohman
35787913ea
Fix the syntax of insertvalue in the example.
...
llvm-svn: 52623
2008-06-23 15:26:37 +00:00
Chris Lattner
d1c3cc07ce
integer types are not primitive, they are derived.
...
llvm-svn: 52551
2008-06-20 20:50:48 +00:00
Dan Gohman
db0beeefb1
Fix a missing comma spotted by Bram Geron.
...
llvm-svn: 52467
2008-06-18 18:42:13 +00:00
Dan Gohman
ac5c3382fe
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.
llvm-svn: 51806
2008-05-31 00:58:22 +00:00
Dale Johannesen
0950f431e5
Document common linkage.
...
llvm-svn: 51517
2008-05-23 23:13:41 +00:00
Dan Gohman
c4932afddc
label is a first-class type.
...
llvm-svn: 51512
2008-05-23 22:50:26 +00:00
Dan Gohman
3f8bacf8cf
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!
llvm-svn: 51506
2008-05-23 21:53:15 +00:00
Chris Lattner
7d9e5793c5
Clarify that and/or/xor/sdiv etc all allow vectors.
...
llvm-svn: 51335
2008-05-20 20:48:21 +00:00
Arnold Schwaighofer
ee9e46e049
Add documentation for tail call optimization to CodeGenerator.html. Add a link
...
referring to it to LangRef.html.
llvm-svn: 51097
2008-05-14 09:17:12 +00:00
Dan Gohman
5bdb90a532
s/indicies/indices/ and clarify the extractvalue and insertvalue are
...
working with struct field or array element values. Thanks Duncan!
llvm-svn: 51059
2008-05-13 18:16:06 +00:00
Dan Gohman
31a31d4511
Initial documentation for first-class aggregates changes.
...
llvm-svn: 51013
2008-05-12 23:51:09 +00:00
Dan Gohman
b3a433ed7b
Fix a malformed %gt;
...
llvm-svn: 51011
2008-05-12 23:38:42 +00:00
Nate Begeman
b5b1e1353b
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
llvm-svn: 50985
2008-05-12 19:01:56 +00:00
Chris Lattner
ddd6b159be
Doc updates/edits, contributed by Terence Parr!
...
llvm-svn: 50205
2008-04-24 05:59:56 +00:00
Chris Lattner
7b8303d37b
fix description of 'ret' to be more correct with multiple return
...
values. Clarify that it is impossible to 'multiply return' a
struct with zero elements.
llvm-svn: 50131
2008-04-23 04:59:35 +00:00
Chris Lattner
7fe5f6ffea
Allow undef as an operand to getresult.
...
llvm-svn: 50130
2008-04-23 04:06:52 +00:00
Chris Lattner
5b6f941e70
free(null) -> noop
...
llvm-svn: 49972
2008-04-19 22:41:32 +00:00
Chris Lattner
2f237756c5
Some clarifications suggested by Jon Sargeant
...
llvm-svn: 49963
2008-04-19 21:01:16 +00:00
Chris Lattner
0d6e900c28
more edits from Jon Sargeant
...
llvm-svn: 49065
2008-04-02 00:38:26 +00:00
Chris Lattner
c0850245b7
add a dropped hunk from Jon Sargeant's patch.
...
llvm-svn: 49045
2008-04-01 18:47:32 +00:00
Chris Lattner
a0dbb9a92a
make langref more precise, wave 1, from Jon Sargeant
...
llvm-svn: 49044
2008-04-01 18:45:27 +00:00
Devang Patel
8408d79657
void type is also a valid function return type.
...
llvm-svn: 48740
2008-03-24 20:52:42 +00:00
Devang Patel
223760bf3f
Fix typo. Clarify underlying message.
...
llvm-svn: 48734
2008-03-24 18:10:52 +00:00
Devang Patel
d603d825c7
Update Function type documentation to clarify how multiple return values are supported.
...
llvm-svn: 48721
2008-03-24 05:35:41 +00:00
Anton Korobeynikov
197f07a72b
Aliasing chains cleanups: update langref, add check into verifier
...
llvm-svn: 48685
2008-03-22 08:36:14 +00:00
Chris Lattner
3819e559c9
clean up and fix the call section.
...
llvm-svn: 48651
2008-03-21 17:24:17 +00:00
Chris Lattner
cc10d27f38
cleanups for the getresult section.
...
llvm-svn: 48650
2008-03-21 17:20:51 +00:00
Duncan Sands
c7c1fab458
Clarify the unwind attribute. Add assumption
...
about sret made by the optimizers.
llvm-svn: 48452
2008-03-17 12:17:41 +00:00
Nick Lewycky
ee790026a3
Commit works on regular functions too. Fix the syntax to allow @foo.
...
llvm-svn: 48414
2008-03-16 07:18:12 +00:00
Devang Patel
0d234e20a5
fix grammer
...
llvm-svn: 48211
2008-03-11 05:51:59 +00:00
Devang Patel
b1b30b2c76
Document multiple return values.
...
llvm-svn: 48173
2008-03-10 20:49:15 +00:00
Andrew Lenharth
db9cd46f5d
Atomic op support. If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet
...
llvm-svn: 47430
2008-02-21 06:45:13 +00:00
Duncan Sands
0dcb894d50
Clarify that 'sret' only applies to pointers, and
...
only applies to the first parameter.
llvm-svn: 47256
2008-02-18 04:19:38 +00:00
Owen Anderson
48d44e0481
Make the definition of the noalias attribute clearer.
...
llvm-svn: 47255
2008-02-18 04:09:01 +00:00
Andrew Lenharth
c178981b85
llvm.memory.barrier, and impl for x86 and alpha
...
llvm-svn: 47204
2008-02-16 01:24:58 +00:00
Gabor Greif
3453f29f65
explain that NumElements in alloca and malloc defaults to one
...
llvm-svn: 46912
2008-02-09 22:24:34 +00:00
Chris Lattner
f898e3cc8f
llvm.sqrt(-0.0) is defined.
...
llvm-svn: 46500
2008-01-29 07:00:44 +00:00
Chris Lattner
ff2b9ef01b
make handling of overflow and undefined results much more clear.
...
Patch by Eli Friedman, thanks!
llvm-svn: 46428
2008-01-28 00:36:27 +00:00
Anton Korobeynikov
b26ac8cbb2
Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting.
...
llvm-svn: 46024
2008-01-15 22:31:34 +00:00
Chris Lattner
8c17d65f09
clarify that byval is valid for any pointer argument.
...
llvm-svn: 45998
2008-01-15 04:34:22 +00:00
Chris Lattner
6fa8e434a3
document the byval parameter attribute.
...
llvm-svn: 45855
2008-01-11 06:20:47 +00:00
Chris Lattner
2b8bb9d2a4
improve description of alignment, patch by Alain Frisch.
...
llvm-svn: 45662
2008-01-06 21:04:43 +00:00
Chris Lattner
f8d3ea59f3
Fix typo noticed by 'Danny' in PR1901
...
llvm-svn: 45661
2008-01-06 19:51:52 +00:00
Chris Lattner
6142c837b5
fix nesting issues.
...
llvm-svn: 45566
2008-01-04 04:34:14 +00:00
Chris Lattner
056ca9d8e2
fix validation issues.
...
llvm-svn: 45565
2008-01-04 04:33:49 +00:00
Chris Lattner
3618504cc2
improve the description of types, patch by Alain Frisch
...
llvm-svn: 45564
2008-01-04 04:32:38 +00:00
Chris Lattner
233cd2bbcd
update to llvm 2.0 syntax.
...
llvm-svn: 45355
2007-12-25 20:34:52 +00:00
Gordon Henriksen
a9f4ed4070
Noting and enforcing that GC intrinsics are valid only within a
...
function with GC.
This will catch the error when the inliner inlines a function with
GC into a caller with no GC.
llvm-svn: 45350
2007-12-25 02:31:26 +00:00
Chris Lattner
c42bf3be15
fix more table abuses.
...
llvm-svn: 45187
2007-12-19 05:04:11 +00:00
Chris Lattner
f87fd16366
avoid confusing terminology (what is a "word"?), fix scary markup, add section to TOC.
...
llvm-svn: 45150
2007-12-18 06:18:21 +00:00
Christopher Lamb
d3bac47ce6
Make it clear in the LangRef that allocation instructions only operated on the generic address space. Implement support in the verifier for ensuring this is true.
...
llvm-svn: 45080
2007-12-17 01:00:21 +00:00
Christopher Lamb
6d12d7c0fe
Implement part of review feedback for address spaces.
...
llvm-svn: 44933
2007-12-12 08:44:39 +00:00
Christopher Lamb
99016c5793
Add information on address space qualifiers for pointer types and global
...
declarations to the LangRef.
llvm-svn: 44860
2007-12-11 09:31:00 +00:00
Gordon Henriksen
fbd6134a51
Fix a typo spotted by Nick Lewycky.
...
llvm-svn: 44774
2007-12-10 03:30:21 +00:00
Gordon Henriksen
5d201e0bcc
Adding a collector name attribute to Function in the IR. These
...
methods are new to Function:
bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();
The assembly representation is as such:
define void @f() gc "shadow-stack" { ...
The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.
llvm-svn: 44769
2007-12-10 03:18:06 +00:00
Duncan Sands
3602011bec
Fix PR1146: parameter attributes are longer part of
...
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Duncan Sands
d05a55f03f
Rename the 'const' parameter attribute to 'readnone',
...
and the 'pure' parameter attribute to 'readonly'.
Names suggested by DannyB.
llvm-svn: 44273
2007-11-22 20:23:04 +00:00
Nate Begeman
2a8ef3f29a
Add support for vectors to int <-> float casts.
...
llvm-svn: 44204
2007-11-17 03:58:34 +00:00
Duncan Sands
91b3db2956
Tweak the descriptions of the new 'const' and 'pure' attributes.
...
llvm-svn: 44132
2007-11-14 21:14:02 +00:00