Ted Kremenek
834c57db34
Updated checker build.
...
llvm-svn: 55169
2008-08-22 05:14:28 +00:00
Chris Lattner
5fc8ab6d18
consolidate DenseMapInfo implementations, and add one for std::pair.
...
Patch contributed by m-s.
llvm-svn: 55167
2008-08-22 05:08:25 +00:00
Anders Carlsson
41e0881b34
Initial sema support for C++ static initializers.
...
llvm-svn: 55166
2008-08-22 05:00:02 +00:00
Dale Johannesen
dec51704ed
Rewrite ppc code generated for __sync_{bool|val}_compare_and_swap
...
so that lwarx and stwcx are always executed the same number of times.
This is important for performance, I'm told.
llvm-svn: 55163
2008-08-22 03:49:10 +00:00
Ted Kremenek
8af2d655ab
Updated latest checker build.
...
llvm-svn: 55162
2008-08-22 03:06:47 +00:00
Eli Friedman
3e62c21c49
Fix some issues with array type merging. (No visible difference,
...
because nothing uses the merged types yet.)
llvm-svn: 55161
2008-08-22 01:48:21 +00:00
Eli Friedman
777a6bb582
Minor const cleanup.
...
llvm-svn: 55160
2008-08-22 00:59:49 +00:00
Eli Friedman
47f7711e4b
Rewrite type compatibility testing to do type merging rather than just
...
testing compatibility. This is necessary for some constructs, like merging
redeclarations.
Also, there are some ObjC changes to make sure that
typesAreCompatible(a,b) == typesAreCompatible(b,a). I don't have any
ObjC code beyond the testsuite, so please tell me if there are any cases
where this doesn't behave as expected.
llvm-svn: 55158
2008-08-22 00:56:42 +00:00
Dan Gohman
9b29ec7ba9
Add a few comments.
...
llvm-svn: 55157
2008-08-22 00:28:15 +00:00
Dan Gohman
49e19e906f
Factor out the predicate check code from DAGISelEmitter.cpp
...
and use it in FastISelEmitter.cpp, and make FastISel
subtarget aware. Among other things, this lets it work
properly on x86 targets that don't have SSE, where it
successfully selects x87 instructions.
llvm-svn: 55156
2008-08-22 00:20:26 +00:00
Eli Friedman
24c0154b77
Initial implementation of floats in Expr::tryEvaluate; this doesn't
...
implement some things, like unary operators and casts, but it's enough
to fix PR2703 as filed.
llvm-svn: 55155
2008-08-22 00:06:13 +00:00
Bill Wendling
25084af26a
Remove tabs.
...
llvm-svn: 55154
2008-08-22 00:04:26 +00:00
Bill Wendling
1a6e930ea4
Testcase for PR2585.
...
llvm-svn: 55151
2008-08-21 23:04:49 +00:00
Zhongxing Xu
614f6a060d
Modify comments.
...
llvm-svn: 55150
2008-08-21 23:00:21 +00:00
Bill Wendling
29cc3aa27d
Temporarily reverting r55137. This was causing the bootstrap to go into an
...
infinite loop.
llvm-svn: 55149
2008-08-21 22:40:10 +00:00
Owen Anderson
3ad8ac90b6
Fix write() when the string being written is larger than the buffer. This broke various ObjC testcases
...
with very long symbol names.
llvm-svn: 55148
2008-08-21 22:39:33 +00:00
Bill Wendling
2fd7dbaf1d
If part of the mask is "undef", then ignore it as we don't care what goes into it.
...
llvm-svn: 55147
2008-08-21 22:36:36 +00:00
Bill Wendling
765d3e0013
Fix whitespace. No functionality change.
...
llvm-svn: 55146
2008-08-21 22:35:37 +00:00
Dan Gohman
46989c637d
Add -mattr=sse2 so this test doesn't fail on non-x86 hosts.
...
llvm-svn: 55145
2008-08-21 22:34:25 +00:00
Zhongxing Xu
d95495f601
Move the handling of DeclStmt from GRExprEngine to BasicStoreManager.
...
llvm-svn: 55144
2008-08-21 22:34:01 +00:00
Daniel Dunbar
dec75f895e
NeXT: Emit [meta]class protocol references.
...
Updated ObjCProtocolDecl::protocol_iterator to match that of
ObjCInterfaceDecl.
llvm-svn: 55143
2008-08-21 21:57:41 +00:00
Ted Kremenek
b57efcc3d0
Added --use-cc option to scan-build to allow the user to specify what compiler they want to use for code compilation.
...
llvm-svn: 55142
2008-08-21 21:47:09 +00:00
Dale Johannesen
c360f3ba50
Make x86 and sse2 explicit for non-x86 hosts.
...
llvm-svn: 55141
2008-08-21 21:26:06 +00:00
Dale Johannesen
47a5ef381e
Accept NOT of a constant vector of int.
...
llvm-svn: 55140
2008-08-21 21:20:09 +00:00
Evan Cheng
9534ea03e8
Fix a number of byval / memcpy / memset related codegen issues.
...
1. x86-64 byval alignment should be max of 8 and alignment of type. Previously the code was not doing what the commit message was saying.
2. Do not use byte repeat move and store operations. These are slow.
llvm-svn: 55139
2008-08-21 21:00:15 +00:00
Owen Anderson
d2850538db
Move non-trivial methods out of line to avoid code-size bloat.
...
llvm-svn: 55138
2008-08-21 20:58:52 +00:00
David Greene
0d191fd8d1
Fix ComputeMaskedBits to handle phis correctly. We need to take the
...
minimum of the known zeros.
llvm-svn: 55137
2008-08-21 20:45:12 +00:00
Mon P Wang
5c2ac4a5e0
Treat floating point ST1 the same as ST0 when lowering for a call result
...
llvm-svn: 55135
2008-08-21 19:54:16 +00:00
Owen Anderson
893ce348a7
Remove unneeded #include.
...
llvm-svn: 55134
2008-08-21 19:51:25 +00:00
Dan Gohman
2af34bd309
Add libcalls for the new rounding opcodes.
...
llvm-svn: 55133
2008-08-21 18:38:14 +00:00
Dan Gohman
da457c80f6
Fix a typo that Dale noticed.
...
llvm-svn: 55132
2008-08-21 18:13:12 +00:00
Chris Lattner
ea71438a93
add a simple check to warn people who type "=+" when they probably meant
...
"+=".
llvm-svn: 55131
2008-08-21 18:04:13 +00:00
Dan Gohman
c6337ac069
Add libm-oriented ISD opcodes for rounding operations.
...
llvm-svn: 55130
2008-08-21 17:55:02 +00:00
Dan Gohman
6a7461ad9b
Have FastISel skip the multiply by 1 for getelementptr on i8*.
...
llvm-svn: 55129
2008-08-21 17:37:05 +00:00
Anton Korobeynikov
f16134141d
Allow inline asm nodes with empty bodies inside JIT.
...
This unbreaks explicit reg vars inside JIT, which are
implemented in such hacky way :)
llvm-svn: 55128
2008-08-21 17:33:01 +00:00
Chris Lattner
479c5d9ee2
Switch from an O(n) method to an O(1) method for changing non-constant
...
operands.
llvm-svn: 55127
2008-08-21 17:31:45 +00:00
Dan Gohman
cdf1a276e3
getelementptr doesn't work on x86-64 yet, because it
...
has MOV64ri32 and no plain MOV64ri.
llvm-svn: 55126
2008-08-21 17:28:42 +00:00
Dan Gohman
efb7d2d03d
MVT::getMVT uses iPTR for pointer types, while we need the actual
...
intptr_t type in this case. FastISel can now select simple
getelementptr instructions.
llvm-svn: 55125
2008-08-21 17:25:26 +00:00
Dan Gohman
d3582c9bda
Simplify SelectRoot's interface, and factor out some common code
...
from all targets.
llvm-svn: 55124
2008-08-21 16:36:34 +00:00
Dan Gohman
75ea0b83c5
Elements in DeadNodeSet are checked for use_empty() before they
...
are actually deleted, so it's not necessary to remove re-used
nodes from the set.
llvm-svn: 55123
2008-08-21 16:24:54 +00:00
Dan Gohman
8f61db6f46
SelectionDAGISel::SelectRootInit does not need to be virtual.
...
llvm-svn: 55122
2008-08-21 16:06:51 +00:00
Dan Gohman
825081063e
Make HandleSDNode::getValue return an SDValue instead of
...
the full SDUse, which isn't needed.
llvm-svn: 55121
2008-08-21 16:02:46 +00:00
Dan Gohman
f3e13bbd4d
Don't silently ignore errors when opening output streams.
...
llvm-svn: 55120
2008-08-21 15:33:45 +00:00
Steve Naroff
b2fc05227c
RewriteObjC::RewriteObjCSynchronizedStmt(): Make sure the sync expr is cast to "id".
...
This fixes <rdar://problem/6163088> clang ObjC rewriter: @synchronized ([foo class]) {} does not cast properly.
llvm-svn: 55118
2008-08-21 13:03:03 +00:00
Bill Wendling
75eeeb399e
Clean up whitespace.
...
llvm-svn: 55117
2008-08-21 08:38:54 +00:00
Chris Lattner
4eee8bfa62
remove redundant include
...
llvm-svn: 55116
2008-08-21 06:41:07 +00:00
Chris Lattner
82dfc118cc
Fix the build with gcc 4.3 as the host, patch by Zhongxing Xu!
...
llvm-svn: 55115
2008-08-21 06:25:28 +00:00
Owen Anderson
8bb9de9305
Implement operator<< in terms of basic types rather than [u]int*_t, which is better for portability. There might be some way to factor this all with metaprogramming magic, but I'm not sure how offhand.
...
llvm-svn: 55114
2008-08-21 06:20:47 +00:00
Nick Lewycky
99f4558117
Revert r54876 r54877 r54906 and r54907. Evan found that these caused a 20%
...
slowdown in bzip2.
llvm-svn: 55113
2008-08-21 05:56:10 +00:00
Chris Lattner
c1270f8eac
unbreak the CBE on treeadd an many others.
...
llvm-svn: 55112
2008-08-21 05:51:43 +00:00