Dan Gohman
faa7d055de
Update an assertion string to new-style type names.
...
llvm-svn: 72239
2009-05-22 00:40:35 +00:00
Daniel Dunbar
58f345ceb1
Add --analyzer-no-default-checks and --analyzer-output options.
...
llvm-svn: 72238
2009-05-22 00:38:15 +00:00
Douglas Gregor
4871c4739d
Improve target support for Solaris.
...
llvm-svn: 72237
2009-05-21 23:51:30 +00:00
Douglas Gregor
1c37d9eed5
Template instantiation for C99 compound literals
...
llvm-svn: 72236
2009-05-21 23:48:18 +00:00
Evan Cheng
db338f3f41
80 column violation.
...
llvm-svn: 72235
2009-05-21 23:47:47 +00:00
Douglas Gregor
0f9d4003df
Template instantiation for GNU array-range designators.
...
llvm-svn: 72234
2009-05-21 23:30:39 +00:00
Douglas Gregor
ca1aeecd37
Template instantiation for C99 designated initializers, because we
...
can. Also, delay semantic analysis of initialization for
value-dependent as well as type-dependent expressions, since we can't
always properly type-check a value-dependent expression.
llvm-svn: 72233
2009-05-21 23:17:49 +00:00
Dale Johannesen
4ff70e389e
TableGen for fast isel seems to assume an 'imm'
...
operand is the last in a pattern. There is no
reason this should be true (although apparently
it always is right now).
llvm-svn: 72232
2009-05-21 22:25:49 +00:00
Eli Friedman
84295eb636
Fix broken logic in DominatorTreeBase::Split. Part of PR4238.
...
llvm-svn: 72231
2009-05-21 21:47:54 +00:00
Douglas Gregor
c2607b9a08
Template instantiation for initializer lists
...
llvm-svn: 72229
2009-05-21 21:38:12 +00:00
Douglas Gregor
122660eb19
Fix CMake build for AST XML dumper
...
llvm-svn: 72228
2009-05-21 21:21:53 +00:00
Eli Friedman
5d4a6400ce
Fix indentation.
...
llvm-svn: 72227
2009-05-21 21:08:47 +00:00
Mike Stump
aed08f9929
Fixup blocks codegen for { __block i; i = rhs(); }, we want the rhs
...
evaluated first. This can also improve codegen just a bit as we might
have another register to play with for the evaluation of the rhs.
llvm-svn: 72226
2009-05-21 21:05:15 +00:00
Fariborz Jahanian
8c46fec43d
Fixed a warning bug when receiver is an object via
...
setting of NSObject attribute.
llvm-svn: 72225
2009-05-21 21:04:28 +00:00
Douglas Gregor
7f5601e55f
AST XML dump, from Olaf Krzikalla!
...
llvm-svn: 72224
2009-05-21 20:55:50 +00:00
Eli Friedman
0ac904455e
Fix some incorrect logic in DominanceFrontier::splitBlock. Part of
...
PR4238.
llvm-svn: 72223
2009-05-21 20:40:30 +00:00
Stuart Hastings
6d437694ab
Add some missing steps to the sacred testing ritual scriptures.
...
llvm-svn: 72222
2009-05-21 20:23:59 +00:00
Jay Foad
acf199e4cd
Tighten up the asserts in SmallVector::operator[]().
...
If this causes any new assertion failures that I didn't catch in
testing, the fix is usually to change "&v[0]" to "v.data()" for some
SmallVector v.
llvm-svn: 72221
2009-05-21 19:48:58 +00:00
Douglas Gregor
31c7e99401
Template instantiation for unary type traits, e.g., __is_pod
...
llvm-svn: 72220
2009-05-21 18:55:48 +00:00
Fariborz Jahanian
cd1a88da02
Check on null arguments in the presense of nonnull attribute.
...
llvm-svn: 72219
2009-05-21 18:48:51 +00:00
Douglas Gregor
aa85d8221c
Template instantiation for C++ "typeid" expressions.
...
llvm-svn: 72218
2009-05-21 18:34:44 +00:00
Douglas Gregor
728d41bbb9
Template instantiation for C++ throw expressions
...
llvm-svn: 72217
2009-05-21 17:37:52 +00:00
Douglas Gregor
29fe6aeef3
Template instantiation for C++ delete expression
...
llvm-svn: 72216
2009-05-21 17:21:12 +00:00
Douglas Gregor
269f0b1b69
Merge the ASTVector and ASTOwningVector templates, since they offered
...
redundant functionality. The result (ASTOwningVector) lives in
clang/Parse/Ownership.h and is used by both the parser and semantic
analysis. No intended functionality change.
llvm-svn: 72214
2009-05-21 16:25:11 +00:00
Duncan Sands
d334aca93f
Add a getAlignOf helper for getting the ABI alignment of a
...
type as a target independent constant expression. I confess
that I didn't check that this method works as intended (though
I did test the equivalent hand-written IR a little). But what
could possibly go wrong!
llvm-svn: 72213
2009-05-21 15:52:21 +00:00
Sebastian Redl
027de2adcd
Avoid using the built-in type checker for assignment in C++ when classes are involved. Patch by Vyacheslav Kononenko.
...
llvm-svn: 72212
2009-05-21 11:50:50 +00:00
Jay Foad
7d0479f2c2
Use v.data() instead of &v[0] when SmallVector v might be empty.
...
llvm-svn: 72210
2009-05-21 09:52:38 +00:00
Jay Foad
9fc7856e3b
Implement new SmallVector::data() methods.
...
llvm-svn: 72209
2009-05-21 09:00:37 +00:00
Dan Gohman
bf0002e7c1
Teach ValueTracking a new way to analyze PHI nodes, and and teach
...
Instcombine to be more aggressive about using SimplifyDemandedBits
on shift nodes. This allows a shift to be simplified to zero in the
included test case.
llvm-svn: 72204
2009-05-21 02:28:33 +00:00
Fariborz Jahanian
a6bed8370e
Minor refactoring. Uses an existing API to lookup a class method.
...
llvm-svn: 72203
2009-05-21 01:03:45 +00:00
Owen Anderson
2ef7cae93b
Add Atomic.cpp to the CMake build system.
...
llvm-svn: 72202
2009-05-21 00:48:56 +00:00
Owen Anderson
1889bbb2c0
Use DataTypes.h instead of stdint.h.
...
llvm-svn: 72201
2009-05-21 00:48:13 +00:00
Bill Wendling
f99bd3a82b
Temporarily revert r72191. It was causing an assert during llvm-gcc
...
bootstrapping.
llvm-svn: 72200
2009-05-21 00:04:55 +00:00
Douglas Gregor
d0fefbafd1
Template instantiation for C++ "new" expressions.
...
llvm-svn: 72199
2009-05-21 00:00:09 +00:00
Bill Wendling
8658bb565d
Minor code cleanup. No functionality change.
...
llvm-svn: 72198
2009-05-20 23:31:45 +00:00
Bill Wendling
744668d5af
Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.
...
llvm-svn: 72197
2009-05-20 23:28:48 +00:00
Bill Wendling
bcad77a8d5
Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.
...
llvm-svn: 72196
2009-05-20 23:24:48 +00:00
Bill Wendling
806535f908
Add comment for emit section.
...
llvm-svn: 72195
2009-05-20 23:22:40 +00:00
Bill Wendling
480ff32120
Move 'Emit' methods down to their own place.
...
llvm-svn: 72194
2009-05-20 23:21:38 +00:00
Bill Wendling
2b128d70c5
Revert r72192. It was causing a build failure.
...
llvm-svn: 72193
2009-05-20 23:19:06 +00:00
Bill Wendling
8d7533d3e5
Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with
...
the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.
llvm-svn: 72192
2009-05-20 23:04:56 +00:00
Argyrios Kyrtzidis
2b59a5fc6c
Introduce DebugScope which gets embedded into the machine instructions' DebugLoc.
...
DebugScope refers to a debug region, function or block.
llvm-svn: 72191
2009-05-20 22:57:17 +00:00
Douglas Gregor
920e3af495
Fix template instantiation for compound statements so that it properly
...
passes the "isStmtExpr" flag, to suppress warnings about unused
expressions.
llvm-svn: 72190
2009-05-20 22:57:03 +00:00
Ted Kremenek
1036912118
Add special cases to retain checker for 'create' methods in QCView, QCRenderer, and CIContext (Apple APIs).
...
This fixes:
<rdar://problem/6902710> clang: false positives w/QC and CoreImage methods.
llvm-svn: 72187
2009-05-20 22:39:57 +00:00
Douglas Gregor
1301fdd6c4
Introduce a new kind of RAII class, ASTOwningVector, which is an
...
llvm::SmallVector that owns all of the AST nodes inside of it. This
RAII class is used to ensure proper destruction of AST nodes when
template instantiation fails.
llvm-svn: 72186
2009-05-20 22:33:37 +00:00
Douglas Gregor
06555f134a
Template instantiation for CXXExprWithTemporaries, which occurs when
...
temporaries are generated for some object-constructing expressions in
templates that are not type-dependent.
Also, be sure to introduce the variable from a CXXConditionDeclExpr
into the set of instantiated local variables.
llvm-svn: 72185
2009-05-20 21:51:01 +00:00
Dan Gohman
9a3964a663
Add an accessor method to return the insertion point.
...
llvm-svn: 72184
2009-05-20 21:45:41 +00:00
Douglas Gregor
e70f108158
Template instantiation for the various kinds of AST nodes that occur
...
due to C++ type construction of the form T(a1, a2, ..., aN).
llvm-svn: 72183
2009-05-20 21:38:11 +00:00
Owen Anderson
e147774b05
Have llvm_start_multithreaded return a bool indicating whether multithreaded
...
initialization succeeded or not, rather than just asserting.
llvm-svn: 72182
2009-05-20 21:03:06 +00:00
Douglas Gregor
c902c85b6c
Tweak test case so that the expected-error text matches on both i686 and x86-64.
...
llvm-svn: 72181
2009-05-20 20:30:46 +00:00