Dan Gohman
9a9dc98868
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
f8eeafd9f1
Fix spelling errors.
...
llvm-svn: 102478
2010-04-28 00:36:01 +00:00
Chris Lattner
22d3b3b3b7
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
3b199c318b
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
Chris Lattner
eee2e72653
fix wordo
...
llvm-svn: 102418
2010-04-27 07:28:11 +00:00
Chris Lattner
d0aac8b957
remove some comments.
...
llvm-svn: 102417
2010-04-27 06:57:10 +00:00
Dan Gohman
5aba2a8293
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
0819d5660a
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
bdcee3e015
Branching or switching on trap transfers imminent undefined behavior
...
onto control-dependent instructions.
llvm-svn: 102381
2010-04-26 20:54:53 +00:00
Gabor Greif
26e11650ef
add some typewriter tags
...
llvm-svn: 102378
2010-04-26 20:46:03 +00:00
Dan Gohman
d051dc29ba
Fix HTML errors that Jeffery Yasskin noticed.
...
llvm-svn: 102376
2010-04-26 20:21:21 +00:00
Chris Lattner
9f29bb8809
wrap some long lines.
...
llvm-svn: 102354
2010-04-26 17:42:18 +00:00
Chris Lattner
75c7989270
add GHC, thanks to David Terei
...
llvm-svn: 102352
2010-04-26 17:38:10 +00:00
Gabor Greif
115b2b2e36
another typo pointed out by sajd
...
llvm-svn: 102319
2010-04-25 21:30:22 +00:00
Gabor Greif
418a60ac3d
fix two typos pointed out by sajd
...
llvm-svn: 102318
2010-04-25 21:27:54 +00:00
David Chisnall
0c13a0405d
Added bullet about GNUstep Objective-C ABI support to the Clang section of the release notes.
...
llvm-svn: 102309
2010-04-25 19:13:33 +00:00
Dan Gohman
63f016a4b5
PHI nodes also do not necessarily return trap with a trap operand.
...
llvm-svn: 102278
2010-04-24 22:15:58 +00:00
Nick Lewycky
0fef330e6b
Fix typo.
...
llvm-svn: 102276
2010-04-24 22:01:40 +00:00
Dan Gohman
cc14435fdf
Switch getelementptr inbounds and sdiv exact from undef to trap.
...
llvm-svn: 102175
2010-04-23 15:23:32 +00:00
Dan Gohman
a75ad3c1ca
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
Chris Lattner
1c39e01255
add macruby back
...
llvm-svn: 102132
2010-04-22 21:34:16 +00:00
Dan Gohman
e4787844ea
Add a blurb about the new LSR.
...
llvm-svn: 102126
2010-04-22 20:50:43 +00:00
Nick Lewycky
a75e358709
The -condprop pass has been deleted.
...
llvm-svn: 102125
2010-04-22 20:48:34 +00:00
Dan Gohman
70f0f7f0d3
The post-RA scheduler is currently off by default on x86.
...
llvm-svn: 102124
2010-04-22 20:47:28 +00:00
Douglas Gregor
56d10f2b15
Add some verbiage about Clang to the 2.7 release notes
...
llvm-svn: 102121
2010-04-22 20:42:40 +00:00
Jim Grosbach
caf6c99d1c
Add mention of ARM atomic builtin support
...
llvm-svn: 102103
2010-04-22 18:33:31 +00:00
Jim Grosbach
d6e2566355
Update ARM frame index scavenging description
...
llvm-svn: 102101
2010-04-22 18:28:43 +00:00
Chris Lattner
309aa11350
remove dupe
...
llvm-svn: 102100
2010-04-22 18:26:17 +00:00
Chris Lattner
6233e00e2a
reword my incoherent babble into something that makes sense
...
from Wesley Peck!
llvm-svn: 102096
2010-04-22 17:39:38 +00:00
Chris Lattner
dfdc7fccda
two more projects.
...
llvm-svn: 102095
2010-04-22 17:28:36 +00:00
Chris Lattner
ed23fe4cff
add some notes from Matthieu Moy!
...
llvm-svn: 102093
2010-04-22 17:25:00 +00:00
Chris Lattner
fc13e24c81
improve tblgen doc, pointed out by Zhongxing.
...
llvm-svn: 102072
2010-04-22 16:45:27 +00:00
Wesley Peck
8f150ced6d
Fixing a typo in the "Clang project" section of the release notes.
...
llvm-svn: 102064
2010-04-22 14:19:00 +00:00
Wesley Peck
b295a50091
Small fix to the "Other Improvements and New Features" section of the release notes.
...
llvm-svn: 102063
2010-04-22 13:53:54 +00:00
Wesley Peck
dc9ba0134b
Fixing small typos in the "New Useful APIs" section of the release notes.
...
llvm-svn: 102062
2010-04-22 13:50:46 +00:00
Wesley Peck
7f83cbe232
Fixing small typos in the "ARM Target Improvements" section of the release notes.
...
llvm-svn: 102061
2010-04-22 13:43:14 +00:00
Wesley Peck
cb022ed0ce
Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.
...
llvm-svn: 102060
2010-04-22 13:36:27 +00:00
Wesley Peck
e625128571
Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.
...
llvm-svn: 102059
2010-04-22 13:28:34 +00:00
Gabor Greif
13e1b5b1f1
<pre> seems to close <p>
...
llvm-svn: 102057
2010-04-22 10:25:23 +00:00
Gabor Greif
354e1c3939
the validator coughed up some problems, most of them fixed
...
llvm-svn: 102056
2010-04-22 10:21:43 +00:00
Gabor Greif
635f76d9de
shorten link
...
llvm-svn: 102055
2010-04-22 10:11:24 +00:00
Chris Lattner
8ff3e6506e
static analyzer has its own section
...
llvm-svn: 102054
2010-04-22 06:39:56 +00:00
Chris Lattner
649d0d8f2f
add mc and static analyzer blurbs.
...
llvm-svn: 102053
2010-04-22 06:38:11 +00:00
Chris Lattner
5f414c7e6c
another checkpoint.
...
llvm-svn: 102052
2010-04-22 06:28:20 +00:00
Chris Lattner
6335b2f168
various updates.
...
llvm-svn: 102051
2010-04-22 05:41:35 +00:00
Duncan Sands
3a53ba12eb
Dragonegg will be released along side llvm-2.7.
...
llvm-svn: 102001
2010-04-21 13:51:48 +00:00
Chris Lattner
97c2f2650f
final hacking for tonight, still more to go.
...
llvm-svn: 101995
2010-04-21 06:42:24 +00:00
Chris Lattner
10da8920ca
continue the process of detangling this.
...
llvm-svn: 101992
2010-04-21 06:23:40 +00:00
Chris Lattner
53633d42d1
rough pass moving stuff into relevant sections, still much
...
editing to do.
llvm-svn: 101987
2010-04-21 05:17:40 +00:00
Chris Lattner
02810a9a52
remove ldc, rubinious, macruby, icedtea, llvm-lua, which
...
don't have updates for 2.7.
llvm-svn: 101985
2010-04-21 04:28:21 +00:00