Commit Graph

3495 Commits

Author SHA1 Message Date
David Chisnall
8e0bd80e38 Added bullet about GNUstep Objective-C ABI support to the Clang section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102309 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-25 19:13:33 +00:00
Dan Gohman
698cbcb0a4 PHI nodes also do not necessarily return trap with a trap operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102278 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-24 22:15:58 +00:00
Nick Lewycky
1f048649e3 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-24 22:01:40 +00:00
Dan Gohman
27ef9976c2 Switch getelementptr inbounds and sdiv exact from undef to trap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102175 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-23 15:23:32 +00:00
Dan Gohman
fff6c5332f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102140 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 23:14:21 +00:00
Chris Lattner
3a1d4cfc38 add macruby back
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102132 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 21:34:16 +00:00
Dan Gohman
9c675f14c1 Add a blurb about the new LSR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102126 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 20:50:43 +00:00
Nick Lewycky
009364ebcf The -condprop pass has been deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 20:48:34 +00:00
Dan Gohman
d64d12dfcb The post-RA scheduler is currently off by default on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102124 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 20:47:28 +00:00
Douglas Gregor
f720a4edb0 Add some verbiage about Clang to the 2.7 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 20:42:40 +00:00
Jim Grosbach
41a776631d Add mention of ARM atomic builtin support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102103 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 18:33:31 +00:00
Jim Grosbach
269e0fed84 Update ARM frame index scavenging description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 18:28:43 +00:00
Chris Lattner
cb28286b7b remove dupe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 18:26:17 +00:00
Chris Lattner
83cd35aff9 reword my incoherent babble into something that makes sense
from Wesley Peck!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 17:39:38 +00:00
Chris Lattner
fb1a739202 two more projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 17:28:36 +00:00
Chris Lattner
cd062cd54c add some notes from Matthieu Moy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102093 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 17:25:00 +00:00
Chris Lattner
ca73cea8a2 improve tblgen doc, pointed out by Zhongxing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102072 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 16:45:27 +00:00
Wesley Peck
1f433615b4 Fixing a typo in the "Clang project" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102064 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 14:19:00 +00:00
Wesley Peck
a0c4484bce Small fix to the "Other Improvements and New Features" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102063 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 13:53:54 +00:00
Wesley Peck
c0287baced Fixing small typos in the "New Useful APIs" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102062 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 13:50:46 +00:00
Wesley Peck
9e385b1367 Fixing small typos in the "ARM Target Improvements" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102061 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 13:43:14 +00:00
Wesley Peck
640604ae63 Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102060 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 13:36:27 +00:00
Wesley Peck
68d1fe9700 Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102059 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 13:28:34 +00:00
Gabor Greif
ed38745a2a <pre> seems to close <p>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102057 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 10:25:23 +00:00
Gabor Greif
ee2187a38d the validator coughed up some problems, most of them fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102056 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 10:21:43 +00:00
Gabor Greif
c8b3af9f5f shorten link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102055 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 10:11:24 +00:00
Chris Lattner
f455529b9e static analyzer has its own section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 06:39:56 +00:00
Chris Lattner
8cdd7939ad add mc and static analyzer blurbs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102053 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 06:38:11 +00:00
Chris Lattner
914ce46040 another checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102052 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 06:28:20 +00:00
Chris Lattner
7b91eda0de various updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102051 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22 05:41:35 +00:00
Duncan Sands
cb9dda6946 Dragonegg will be released along side llvm-2.7.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21 13:51:48 +00:00
Chris Lattner
a54c1f70b8 final hacking for tonight, still more to go.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21 06:42:24 +00:00
Chris Lattner
450a31edde continue the process of detangling this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101992 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21 06:23:40 +00:00
Chris Lattner
b7c85b49a4 rough pass moving stuff into relevant sections, still much
editing to do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21 05:17:40 +00:00
Chris Lattner
b136f09deb remove ldc, rubinious, macruby, icedtea, llvm-lua, which
don't have updates for 2.7.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101985 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21 04:28:21 +00:00
Duncan Sands
51a517436f I plan to release a version of dragonegg based on llvm-2.7 shortly
after the llvm-2.7 release.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101934 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-20 19:40:58 +00:00
Nick Lewycky
5c21280d8e Refresh this documentation. Things have changed a bit in the mean time:
- LLVMgold.so --> libLLVMgold.so
 - the GCC LTO project is no longer 'upcoming'
 - document the plugin support for 'ar' and 'nm'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101624 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 07:00:24 +00:00
Chris Lattner
6f25d9fa83 update docs for api change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101566 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 23:07:44 +00:00
Chris Lattner
8b5d9c8914 completed my pass over all 6+ months of commits, next step, format and make comprehendable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 06:20:22 +00:00
Duncan Sands
83821c8941 Pointed out by housel on #llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 20:35:54 +00:00
Chris Lattner
00736fc11d checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101118 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 06:37:00 +00:00
Bob Wilson
0473868bfe Fix a grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100877 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09 18:39:54 +00:00
Chris Lattner
ff35c3f0bf typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100738 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 00:54:34 +00:00
Chris Lattner
9f636de348 document isvolatile etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 00:53:57 +00:00
Mon P Wang
e88909ba72 Update langref for memcpy, memmove, and memset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100611 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 06:35:53 +00:00
Chris Lattner
cf9a415182 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 05:38:05 +00:00
John Criswell
f77cdabb58 Adding SAFECode to the list of projects that work with LLVM 2.7.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 14:52:14 +00:00
Tanya Lattner
2952c86c60 Update to note that clang has a baseline now. Dropping x86-32 for MacOS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100447 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 18:35:37 +00:00
Nick Lewycky
00759c15e0 Add MC and LTO, two terms I just had to explain on IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100413 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:48:47 +00:00
Chris Lattner
c310778830 don't reference DwarfWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100401 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 04:11:11 +00:00