Chris Lattner
3dcdc29d11
add some final random notes, I've completed my pass over all the commits.
...
I'll work on turning this into something intelligible tomorrow.
llvm-svn: 145177
2011-11-27 08:32:32 +00:00
Chris Lattner
410f3d7f5d
The llvm.atomic intrinsics *were* removed in LLVM 3.0 (in r141333), remove the
...
autoupgrade logic for 2.9 and before.
llvm-svn: 145176
2011-11-27 08:18:55 +00:00
Chris Lattner
ee471c484a
remove autoupgrade support for old forms of llvm.prefetch and the old
...
trampoline forms. Both of these were correct in LLVM 3.0, and we don't
need to support LLVM 2.9 and earlier in mainline.
llvm-svn: 145174
2011-11-27 07:42:04 +00:00
Chris Lattner
d5bb9e6c4c
add some notes.
...
llvm-svn: 145173
2011-11-27 07:37:53 +00:00
Chris Lattner
bc639298e5
remove asmparsing and documentation support for "volatile load", which was only produced by LLVM 2.9 and earlier. LLVM 3.0 and later prefers "load volatile".
...
llvm-svn: 145172
2011-11-27 06:56:53 +00:00
Chris Lattner
6a144a2227
Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic.
...
llvm-svn: 145171
2011-11-27 06:54:59 +00:00
Chris Lattner
ebed15e973
some notes.
...
llvm-svn: 145170
2011-11-27 06:24:49 +00:00
Chris Lattner
90ef78c07f
remove autoupgrade support for really old-style debug info intrinsics.
...
I think this is the last of autoupgrade that can be removed in 3.1.
Can the atomic upgrade stuff also go?
llvm-svn: 145169
2011-11-27 06:18:33 +00:00
Bob Wilson
800b2b42ed
Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739>
...
llvm-svn: 145168
2011-11-27 06:13:25 +00:00
Chris Lattner
6aa6c0c3b7
remove some old autoupgrade logic
...
llvm-svn: 145167
2011-11-27 06:10:54 +00:00
Chris Lattner
db89153969
remove autoupgrade support for LLVM 2.9 exception stuff. Mainline supports
...
LLVM 3.0 and later.
llvm-svn: 145165
2011-11-27 05:56:16 +00:00
Chris Lattner
1c9e5678b8
remove support for reading llvm 2.9 .bc files. LLVM 3.1 is only compatible back to 3.0
...
llvm-svn: 145164
2011-11-27 05:48:27 +00:00
Chris Lattner
74a3e00ebf
add some notes
...
llvm-svn: 145163
2011-11-27 05:47:57 +00:00
Bob Wilson
8a3c663e95
Refactor libcxx makefile. No functional changes intended.
...
Besides cleaning up the repetition in the installhdrs target, the point of this
change is to provide a separate do-installhdrs target that can be used directly
from clang's runtime/libcxx makefile to install a copy of the headers along
with clang. <rdar://problem/10397739>
llvm-svn: 145162
2011-11-27 05:39:58 +00:00
Wesley Peck
97b3da5433
Add several new instructions supported by the latest MicroBlaze.
...
These instructions are not generated by the backend yet, this will come in a later commit.
llvm-svn: 145161
2011-11-27 05:16:58 +00:00
Bob Wilson
8e6d9da04c
Partially revert r145157 to quiet an unhappy buildbot.
...
Removing that buildbot would be a better solution, but this is at least
a temporary workaround.
llvm-svn: 145160
2011-11-27 01:48:54 +00:00
Wesley Peck
d2e2e1782f
Optimize comparison against 0 in conditional instructions.
...
Fix a couple of 80-column violations.
llvm-svn: 145159
2011-11-27 01:36:20 +00:00
Chandler Carruth
9ffb97e631
Introduce a loop block rotation optimization to the new block placement
...
pass. This is designed to achieve one of the important optimizations
that the old code placement pass did, but more simply.
This is a somewhat rough and *very* conservative version of the
transform. We could get a lot fancier here if there are profitable cases
to do so. In particular, this only looks for a single pattern, it
insists that the loop backedge being rotated away is the last backedge
in the chain, and it doesn't provide any means of doing better in-loop
placement due to the rotation. However, it appears that it will handle
the important loops I am finding in the LLVM test suite.
llvm-svn: 145158
2011-11-27 00:38:03 +00:00
Bob Wilson
4eefd2d52f
Merge the install-clang-c target into install-clang. <rdar://problem/10217046>
...
llvm-svn: 145157
2011-11-27 00:26:22 +00:00
Benjamin Kramer
7ba71be392
Move code into anonymous namespaces.
...
llvm-svn: 145154
2011-11-26 23:01:57 +00:00
Craig Topper
51280d565b
Merge 128-bit and 256-bit X86ISD node types for VPERMILPS and VPERMILPD. Simplify some shuffle lowering code since V1 can never be UNDEF due to canonalizing that occurs when shuffle nodes are created.
...
llvm-svn: 145153
2011-11-26 22:55:48 +00:00
Wesley Peck
69d5040485
Rename a couple of options and fix some simple typos.
...
llvm-svn: 145152
2011-11-26 21:50:38 +00:00
Rafael Espindola
d086573a4d
Add the minimum implementation of cpuid.h. This works on "modern" intel cpus
...
and on clang, which seams to handled "=b" correctly even when ebx is the
PIC register.
llvm-svn: 145149
2011-11-26 20:53:19 +00:00
Craig Topper
7704bd7ac3
Collapse X86ISD node types for PUNPCKH*, PUNPCKL*, UNPCKLP*, and UNPCKHP* to not be type specific. Now we just have integer high and low and floating point high and low. Pattern matching will choose the correct instruction based on the vector type.
...
llvm-svn: 145148
2011-11-26 20:47:44 +00:00
Nicola Gigante
c8edb0f657
Test commit
...
llvm-svn: 145147
2011-11-26 16:20:01 +00:00
Abramo Bagnara
edf99fff49
Fixed lexical declaration context when instantiating a friend / out-of-line class template member.
...
llvm-svn: 145146
2011-11-26 13:33:46 +00:00
Benjamin Kramer
8c8486dbb2
Move the branch probability blurb into the optimizer section. Add a minimal bullet for AVX.
...
llvm-svn: 145145
2011-11-26 11:14:54 +00:00
David Chisnall
07618783f3
Added Objective-C and libc++ details to the 3.0 release notes.
...
llvm-svn: 145144
2011-11-26 10:56:17 +00:00
Chandler Carruth
f156f0cf57
FileCheck-ize this test and make it more precise. This is in preparation
...
for adding other tests.
llvm-svn: 145143
2011-11-26 08:24:25 +00:00
Rafael Espindola
04268df8ed
Set __OPTIMIZE_SIZE__ on -Os and -Oz. This matches gcc's behaviour on both OS X
...
and linux.
llvm-svn: 145142
2011-11-26 06:21:20 +00:00
Eli Friedman
a84ad7d0d0
Fix APFloat::convert so that it handles narrowing conversions correctly; it
...
was returning incorrect values in rare cases, and incorrectly marking
exact conversions as inexact in some more common cases. Fixes PR11406, and a
missed optimization in test/CodeGen/X86/fp-stack-O0.ll.
llvm-svn: 145141
2011-11-26 03:38:02 +00:00
Benjamin Kramer
a02af616b1
shpelling
...
llvm-svn: 145138
2011-11-25 21:26:00 +00:00
Benjamin Kramer
889b243fd6
Remove ZooLib from the projects list.
...
I don't see how the project is using LLVM and we really can't list every user of
the clang analyzer. Sorry.
llvm-svn: 145137
2011-11-25 21:03:06 +00:00
Chris Lattner
c3e4fdcc10
add a user
...
llvm-svn: 145136
2011-11-25 20:36:17 +00:00
Chris Lattner
614d0391e9
add some notes
...
llvm-svn: 145135
2011-11-25 20:33:27 +00:00
Chris Lattner
e5b37be30a
add faust
...
llvm-svn: 145134
2011-11-25 20:28:16 +00:00
Bruno Cardoso Lopes
0f9a1f5e6c
This patch contains support for encoding FMA4 instructions and
...
tablegen patterns for scalar FMA4 operations and intrinsic. Also
add tests for vfmaddsd.
Patch by Jan Sjodin
llvm-svn: 145133
2011-11-25 19:33:42 +00:00
NAKAMURA Takumi
989eaf6e3f
ARMLoadStoreOptimizer.cpp: Fix MSVC(Debug) build.
...
llvm-svn: 145129
2011-11-25 09:19:57 +00:00
Francois Pichet
de232cb166
In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside a friend function definition at class scope.
...
Basically we have to look into the parent *lexical* DeclContext for friend functions at class scope. That's because calling GetParent() return the namespace or file DeclContext.
This fixes all remaining cases of "Unqualified lookup into dependent bases of class templates" when parsing MFC code with clang.
llvm-svn: 145127
2011-11-25 01:10:54 +00:00
Craig Topper
d65a444478
Remove 256-bit specific node types for UNPCKHPS/D and instead use the 128-bit versions and let the operand type disinquish. Also fix the load form of the v8i32 patterns for these to realize that the load would be promoted to v4i64.
...
llvm-svn: 145126
2011-11-24 22:57:10 +00:00
Craig Topper
d26466748b
Remove AVX2 specific X86ISD node types for PUNPCKH/L and instead just reuse the 128-bit versions and let the vector type distinguish.
...
llvm-svn: 145125
2011-11-24 22:20:08 +00:00
Benjamin Kramer
8a2d143672
Devirtualize Pass::getPassID, overriding it isn't useful and it gets called a lot.
...
While at it pull the trivial ctor in line.
llvm-svn: 145124
2011-11-24 21:14:11 +00:00
Benjamin Kramer
6709e05012
Make ConstantRange::truncate a bit more efficient.
...
llvm-svn: 145122
2011-11-24 17:24:33 +00:00
Benjamin Kramer
651db37352
X86: alias cqo to cqto.
...
llvm-svn: 145121
2011-11-24 12:02:46 +00:00
Chandler Carruth
7adee1a01a
Fix a silly use-after-free issue. A much earlier version of this code
...
need lots of fanciness around retaining a reference to a Chain's slot in
the BlockToChain map, but that's all gone now. We can just go directly
to allocating the new chain (which will update the mapping for us) and
using it.
Somewhat gross mechanically generated test case replicates the issue
Duncan spotted when actually testing this out.
llvm-svn: 145120
2011-11-24 11:23:15 +00:00
Chandler Carruth
d394bafd2d
When adding blocks to the list of those which no longer have any CFG
...
conflicts, we should only be adding the first block of the chain to the
list, lest we try to merge into the middle of that chain. Most of the
places we were doing this we already happened to be looking at the first
block, but there is no reason to assume that, and in some cases it was
clearly wrong.
I've added a couple of tests here. One already worked, but I like having
an explicit test for it. The other is reduced from a test case Duncan
reduced for me and used to crash. Now it is handled correctly.
llvm-svn: 145119
2011-11-24 08:46:04 +00:00
Jim Grosbach
651e2ee792
Add a few notes for ARM and a blurb about the MCJIT.
...
llvm-svn: 145118
2011-11-24 00:49:21 +00:00
David Blaikie
4f1f9e6b2e
Fix typo (becuase->because), PR11427
...
llvm-svn: 145117
2011-11-24 00:37:54 +00:00
Matt Beaumont-Gay
63be19122e
Wordsmith the -Warray-bounds diagnostic text a bit
...
llvm-svn: 145116
2011-11-24 00:27:38 +00:00
Richard Trieu
caff247882
Add feature to diagnostics that will provide more information on function
...
pointer mismatch. Cases covered are: initialization, assignment, and function
arguments. Additional text will give the extra information about the nature
of the mismatch: different classes for member functions, wrong number of
parameters, different parameter type, different return type, and function
qualifier mismatch.
llvm-svn: 145114
2011-11-23 22:32:32 +00:00