1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
Commit Graph

3510 Commits

Author SHA1 Message Date
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