Dan Gohman
2140a74979
Eliminate the restriction that the array size in an alloca must be i32.
...
This will help reduce the amount of casting required on 64-bit targets.
llvm-svn: 104911
2010-05-28 01:14:11 +00:00
Dan Gohman
e58f7b3c76
Fix a missing quote.
...
llvm-svn: 104750
2010-05-26 21:56:15 +00:00
mike-m
f375e9a092
Revert r103213. It broke several sections of live website.
...
llvm-svn: 103219
2010-05-07 00:28:04 +00:00
mike-m
e08af303a6
Overhauled llvm/clang docs builds. Closes PR6613.
...
NOTE: 2nd part changeset for cfe trunk to follow.
*** PRE-PATCH ISSUES ADDRESSED
- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
assumptions and make use of absolute root in static html files;
namely CommandGuide tools hard codes a website destination
for cross references and some html cross references assume
website root paths
*** IMPROVEMENTS
- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
if any target (or any variable is evaluated) which attempts
to remove any dirs which match a hard-coded 'safelist', a verbose
error will be printed and make will error-stop.
llvm-svn: 103213
2010-05-06 23:45:43 +00:00
Chris Lattner
966a382ae7
Fix some ..'s
...
llvm-svn: 103134
2010-05-05 23:29:09 +00:00
Dan Gohman
3513ea5c1a
Update this comment to note its relationship with the "happens-before"
...
concept in the proposed memory model changes.
llvm-svn: 102911
2010-05-03 14:59:34 +00:00
Dan Gohman
a9601bb6fb
Delete this comment. The behavior of struct loads and stores with
...
respect to padding bytes isn't something that the dependence text
needs to spell out.
llvm-svn: 102910
2010-05-03 14:58:14 +00:00
Dan Gohman
7292a759b4
Describe invoke instruction dependencies. Generalize the text for
...
terminator instructions so that it applies to all terminators with
multiple successors, including invoke.
llvm-svn: 102909
2010-05-03 14:55:22 +00:00
Dan Gohman
ac355aaf9e
Say "operations" instead of "instructions", as nsw can be applied to
...
constant expressions as well as instructions.
llvm-svn: 102908
2010-05-03 14:51:43 +00:00
David Chisnall
b492b81a94
Fixed @ctor / @dtor the wrong way around in last commit.
...
llvm-svn: 102741
2010-04-30 19:27:35 +00:00
David Chisnall
a9d4a6fb28
Added a brief explanation of @llvm.global_{c,d}tors.
...
llvm-svn: 102740
2010-04-30 19:23:49 +00:00
Dan Gohman
2f1ae06c45
Rewrite the section on trap values to contain a generic description
...
of dependence and define trap values in terms of dependence, instead
of trying to cover the concept with a flurry of ad-hoc rules.
The dependence model isn't complete yet, but it's already much more
rigorous than the description it replaces.
llvm-svn: 102479
2010-04-28 00:49:41 +00:00
Dan Gohman
61110aed26
Fix spelling errors.
...
llvm-svn: 102478
2010-04-28 00:36:01 +00:00
Chris Lattner
4bd85e47bf
further clarify alignment of globals, fix instcombine
...
to not increase the alignment of globals with an assigned
alignment and section.
llvm-svn: 102476
2010-04-28 00:31:12 +00:00
Chris Lattner
78e00bcb76
improve the global variable alignment description.
...
it is not generally valid for targets to overalign
them when an alignment is specified.
llvm-svn: 102474
2010-04-28 00:13:42 +00:00
Dan Gohman
b8b85c1ddb
Integrate Jeffery Yasskin's suggestions with respect to
...
traps flowing through memory references, add some text to
better cover phi nodes and externally-visible side effects,
add an example of instructions being control-dependent
on a trap value, and reword some of the existing trap rules.
llvm-svn: 102399
2010-04-26 23:36:52 +00:00
Jeffrey Yasskin
5d284ae8a0
Consolidate the description of volatile operations, now that some of the
...
intrinsics have volatile semantics in addition to the load and store
instructions.
llvm-svn: 102384
2010-04-26 21:21:24 +00:00
Dan Gohman
48a2588be4
Branching or switching on trap transfers imminent undefined behavior
...
onto control-dependent instructions.
llvm-svn: 102381
2010-04-26 20:54:53 +00:00
Dan Gohman
b2a709be07
Fix HTML errors that Jeffery Yasskin noticed.
...
llvm-svn: 102376
2010-04-26 20:21:21 +00:00
Dan Gohman
283a350f4d
PHI nodes also do not necessarily return trap with a trap operand.
...
llvm-svn: 102278
2010-04-24 22:15:58 +00:00
Dan Gohman
5725580bb6
Switch getelementptr inbounds and sdiv exact from undef to trap.
...
llvm-svn: 102175
2010-04-23 15:23:32 +00:00
Dan Gohman
ffc9a6b4ac
Add an initial description of a new concept: trap values, and change
...
the definition of the nsw and nuw flags to make use of it.
nsw was introduced to help optimizers answer yes to the following:
// Can we change i from i32 to i64 to eliminate the cast inside the loop?
for (int i = 0; i < n; ++i) A[i] *= 0.1;
// Can we assume that this loop will eventually terminate?
for (int i = 0; i <= n; ++i) A[i] *= 0.1;
In its current form, it isn't truly sufficient for either.
In the first case, if the increment overflows, it'll still have some
valid i32 value; sign-extending it will produce a value which is 33
homogeneous sign bits trailed by 31 independent undef bits. If i is
promoted to i64, it won't have those same values when it reaches that
point. (The compiler could recover here by reasoning about how i is
used by the load, but that's a lot more complicated and isn't always
possible.)
In the second case, there is no value for i which will be greater than
n, so having the increment return undef on overflow doesn't help.
Trap values are a formalization of some existing concepts that we have
about LLVM IR, and give the optimizers a better basis for answering yes
to both questions above.
llvm-svn: 102140
2010-04-22 23:14:21 +00:00
Duncan Sands
626b02470b
Pointed out by housel on #llvm.
...
llvm-svn: 101395
2010-04-15 20:35:54 +00:00
Chris Lattner
685db9d59e
typo
...
llvm-svn: 100738
2010-04-08 00:54:34 +00:00
Chris Lattner
bd4ca62c80
document isvolatile etc.
...
llvm-svn: 100737
2010-04-08 00:53:57 +00:00
Mon P Wang
508127b5fd
Update langref for memcpy, memmove, and memset
...
llvm-svn: 100611
2010-04-07 06:35:53 +00:00
Chris Lattner
51065568cd
Have the inst emitter add the !srcloc mdnode to the machine instr.
...
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.
llvm-svn: 100607
2010-04-07 05:38:05 +00:00
Chris Lattner
022a9fb269
various cleanups from daniel
...
llvm-svn: 98528
2010-03-15 04:12:21 +00:00
Chris Lattner
bbd8bd3257
tidy up and expound more on how half-float works.
...
llvm-svn: 98524
2010-03-14 23:03:31 +00:00
Anton Korobeynikov
cd4dd9c1db
Document fp16 intrinsics
...
llvm-svn: 98505
2010-03-14 18:42:47 +00:00
Chris Lattner
a179e4d0a8
add support, testcases, and dox for the new GHC calling
...
convention. Patch by David Terei!
llvm-svn: 98212
2010-03-11 00:22:57 +00:00
Evan Cheng
5967649780
Add documentation on sibling call optimization. Rename tailcall2.ll test to sibcall.ll.
...
llvm-svn: 97980
2010-03-08 21:05:02 +00:00
Devang Patel
9984bd6092
Add metadata example.
...
llvm-svn: 97764
2010-03-04 23:44:48 +00:00
Chris Lattner
47f2a839ec
attributes are not part of types anymore, patch by James Woodyatt!
...
llvm-svn: 97557
2010-03-02 06:36:51 +00:00
Dan Gohman
6232f73c7b
PerformTailCallOpt was renamed to GuaranteedTailCallOpt to
...
better reflect its meaning, now that tail call optimizations
are done by default in some cases.
llvm-svn: 97530
2010-03-02 01:08:11 +00:00
Dan Gohman
a269a0a667
Fix spelling.
...
llvm-svn: 97447
2010-03-01 17:41:39 +00:00
Bill Wendling
bc4024f72c
Fix HTML.
...
llvm-svn: 97170
2010-02-25 21:23:24 +00:00
Dan Gohman
1ad1499d14
Fix a typo.
...
llvm-svn: 97144
2010-02-25 16:51:31 +00:00
Dan Gohman
8848111952
Clarify the description of pointer types, and move the
...
address space content to its own paragraph.
llvm-svn: 97143
2010-02-25 16:50:07 +00:00
Dan Gohman
8ad777dc75
Update LangRef to match the code; pointers default to being 64-bit.
...
llvm-svn: 96873
2010-02-23 02:44:03 +00:00
David Greene
9641d06809
Add support for emitting non-temporal stores for DAGs marked
...
non-temporal. Fix from r96241 for botched encoding of MOVNTDQ.
Add documentation for !nontemporal metadata.
Add a simpler movnt testcase.
llvm-svn: 96386
2010-02-16 20:50:18 +00:00
Chris Lattner
392be58cad
Add support for a union type in LLVM IR. Patch by Talin!
...
llvm-svn: 96011
2010-02-12 20:49:41 +00:00
Charles Davis
be5557e86b
Add a new function attribute, 'alignstack'. It will indicate (when the backends
...
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).
llvm-svn: 95945
2010-02-12 00:31:15 +00:00
Jakob Stoklund Olesen
74bb06c0f0
Reintroduce the InlineHint function attribute.
...
This time it's for real! I am going to hook this up in the frontends as well.
The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.
We need some experiments to determine if that is the right thing to do.
llvm-svn: 95466
2010-02-06 01:16:28 +00:00
Chris Lattner
c2f8f16162
move "Metadata Nodes and Metadata Strings" section to the right place in the
...
document and edit it.
llvm-svn: 93559
2010-01-15 21:50:19 +00:00
Eric Christopher
8444d7536c
Remove the InlineHint attribute. There are no current or planned
...
users.
llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Chris Lattner
97257f8e40
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
d1a8969dd2
Add top level section for named metadata.
...
llvm-svn: 93172
2010-01-11 19:35:55 +00:00
Jeffrey Yasskin
f991bbb0c1
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
b867746a05
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
0de4caa57b
improve documentation for linkonce to be less confusing.
...
llvm-svn: 93066
2010-01-09 19:15:14 +00:00
Eric Christopher
3070e16e6f
Grammar thinko.
...
llvm-svn: 93027
2010-01-08 21:42:39 +00:00
Devang Patel
e307348325
NamedMDNode is a collection MDNodes.
...
llvm-svn: 92761
2010-01-05 20:41:31 +00:00
Eric Christopher
31e39bd3d4
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
455c5776e2
More updates to objectsize intrinsic docs.
...
llvm-svn: 90644
2009-12-05 02:46:03 +00:00
Eric Christopher
8aa46bc6fd
Update per Bill's comments. Work in progress.
...
llvm-svn: 90271
2009-12-01 22:28:41 +00:00
Eric Christopher
7348432ade
First pass at llvm.objectsize documentation.
...
llvm-svn: 90116
2009-11-30 08:03:53 +00:00
Duncan Sands
31c0e0ee35
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
ee7425cc56
These code generator limitations have been removed.
...
llvm-svn: 90003
2009-11-27 12:33:22 +00:00
Dan Gohman
c74bc28297
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
66c4d61010
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
a381effe72
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
33fef7e4e5
Add missing end-tag.
...
llvm-svn: 85769
2009-11-02 00:25:26 +00:00
Bill Wendling
7f4a336785
Some formatting changes.
...
llvm-svn: 85768
2009-11-02 00:24:16 +00:00
Chris Lattner
aa99c94e2a
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
b2c0e243c5
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
03ab4dcff9
use metavariable <result> instead of SSA name %result for consistency
...
llvm-svn: 85388
2009-10-28 13:14:50 +00:00
Gabor Greif
bd0328f668
ooops, SSA name should not be part of the link
...
llvm-svn: 85387
2009-10-28 13:05:07 +00:00
Gabor Greif
f50fd57543
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
d04cb6d0fa
rename indbr -> indirectbr to appease the residents of #llvm.
...
llvm-svn: 85351
2009-10-28 00:19:10 +00:00
Chris Lattner
b4f2a24363
typo
...
llvm-svn: 85322
2009-10-27 21:52:54 +00:00
Chris Lattner
5c5f0ac362
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
da37b30b21
improvements from gabor.
...
llvm-svn: 85320
2009-10-27 21:44:20 +00:00
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