Chris Lattner
9e8c057ab7
add action to know about end of translation unit.
...
llvm-svn: 55218
2008-08-23 02:06:50 +00:00
Chris Lattner
ce90ef51b9
we already have a handle on the 'in' keyword, don't bother getting two.
...
llvm-svn: 55217
2008-08-23 02:02:23 +00:00
Chris Lattner
2cc35ae286
minor cleanup, remove finalize method.
...
llvm-svn: 55216
2008-08-23 02:00:52 +00:00
Chris Lattner
2ebb178f8b
Fix a FIXME by not creating an invalid AST on erroneous input. Also
...
make diagnostic output in some other malformed cases significantly
more useful. This fixes PR2708
llvm-svn: 55215
2008-08-23 01:48:03 +00:00
Dan Gohman
95d1056831
Avoid creating shift-by-zero SDNodes in the common case of
...
i8* getelementptr. DAGCombine eliminates these, but this is
a fairly common case.
llvm-svn: 55214
2008-08-23 01:06:51 +00:00
Ted Kremenek
4e7713c04d
Simplify interface to Store::AddDecl
...
llvm-svn: 55213
2008-08-23 00:50:55 +00:00
Dan Gohman
ac37f9a9be
Move SelectionDAG's constructor out of line.
...
llvm-svn: 55212
2008-08-23 00:50:30 +00:00
Ted Kremenek
77d2a33d8b
Added Regions.h: Regions define abstract memory locations for the static analyzer.
...
llvm-svn: 55211
2008-08-23 00:43:24 +00:00
Dan Gohman
0e44e0d7a8
Add a clear() method to FoldingSet.
...
llvm-svn: 55210
2008-08-23 00:42:16 +00:00
Daniel Dunbar
80a840bc70
NeXT: Emit property metadata (classes, protocols, categories).
...
llvm-svn: 55209
2008-08-23 00:19:03 +00:00
Dale Johannesen
bb170bd08c
Test all currently supported atomic builtins on x86-{32,64}.
...
These just test that they go through the BE.
llvm-svn: 55208
2008-08-22 22:39:21 +00:00
Anders Carlsson
8e82b7fd0f
Use isa instead of dyn_cast.
...
llvm-svn: 55207
2008-08-22 22:10:48 +00:00
Dale Johannesen
f9c90d3cee
Comprehensive test of FE handling of __sync builtins.
...
llvm-svn: 55206
2008-08-22 21:47:03 +00:00
Dan Gohman
2db3f8a095
Reapply r55191 and r55192.
...
llvm-svn: 55205
2008-08-22 21:28:19 +00:00
Argyrios Kyrtzidis
a65490c5df
Allow nested backtracks.
...
llvm-svn: 55204
2008-08-22 21:27:50 +00:00
Anton Korobeynikov
9f0d0639ca
Make option variables static, so they won't cause nameclash
...
llvm-svn: 55203
2008-08-22 21:27:49 +00:00
Bill Wendling
fc4f64eed0
Reverting r55190, r55191, and r55192. They broke the build with this error message:
...
{standard input}:17:bad register name `%sil'
make[4]: *** [libgcc/./_addvsi3.o] Error 1
make[4]: *** Waiting for unfinished jobs....
{standard input}:23:bad register name `%dil'
{standard input}:28:bad register name `%dil'
make[4]: *** [libgcc/./_addvdi3.o] Error 1
{standard input}:18:bad register name `%sil'
make[4]: *** [libgcc/./_subvsi3.o] Error 1
llvm-svn: 55200
2008-08-22 20:51:05 +00:00
Daniel Dunbar
938a77f4c9
NeXT: Emit category metadata.
...
llvm-svn: 55197
2008-08-22 20:34:54 +00:00
Daniel Dunbar
9f92361f80
Add some QA related example clang projects.
...
llvm-svn: 55196
2008-08-22 20:18:22 +00:00
Dan Gohman
04968da460
Fix the InsertBranch call.
...
llvm-svn: 55192
2008-08-22 19:26:10 +00:00
Dan Gohman
87ff7058e7
Support non-fallthrough unconditional branches in FastISel.
...
llvm-svn: 55191
2008-08-22 19:21:41 +00:00
Dan Gohman
736779f088
Anyext tweaks for x86. When extloading a value to i32 or i64, choose
...
instructions that define the full 32 or 64-bit value. When anyexting
from i8 to i16 or i32, it's not necessary to zero out the high
portion of the register.
llvm-svn: 55190
2008-08-22 19:19:31 +00:00
Owen Anderson
f6c5308cab
Fix typo.
...
llvm-svn: 55189
2008-08-22 18:26:07 +00:00
Ted Kremenek
30b963e4ed
Update Xcode project.
...
llvm-svn: 55188
2008-08-22 18:03:50 +00:00
Dan Gohman
a2292c0d34
Add FastISel support for PHINodes. Machine PHI nodes
...
are not yet updated properly, but that's a separate
task.
llvm-svn: 55187
2008-08-22 17:37:48 +00:00
Dale Johannesen
ed86f689cb
Implement __sync_synchronize on ppc32. Patch by Gary Benson.
...
llvm-svn: 55186
2008-08-22 17:20:54 +00:00
Dan Gohman
54c8db58f5
Add an empty() member to FoldingSet.
...
llvm-svn: 55182
2008-08-22 16:14:23 +00:00
Dan Gohman
14714cb4fa
Fix SmallVector's size calculation so that a size of 0 is
...
handled correctly, and change a few SmallVector uses to use
size 0 to more clearly reflect their intent.
llvm-svn: 55181
2008-08-22 16:07:55 +00:00
Anders Carlsson
87fc5a5e6b
Add preliminary (and probably broken) codegen support for C++ static initializers.
...
llvm-svn: 55180
2008-08-22 16:00:37 +00:00
Chris Lattner
d564f29957
improve support for systems that need unistd.h to get STDOUT_FILENO.
...
Patch contributed by Bjorn Reese!
llvm-svn: 55179
2008-08-22 15:45:00 +00:00
Argyrios Kyrtzidis
3d0f51d703
Move the rest of the Sema C++ tests into the SemaCXX test directory.
...
llvm-svn: 55178
2008-08-22 15:43:49 +00:00
Argyrios Kyrtzidis
857fcc2f8e
Add support for C++'s "type-specifier ( expression-list )" expression:
...
-The Parser calls a new "ActOnCXXTypeConstructExpr" action.
-Sema, depending on the type and expressions number:
-If the type is a class, it will treat it as a class constructor. [TODO]
-If there's only one expression (i.e. "int(0.5)" ), creates a new "CXXFunctionalCastExpr" Expr node
-If there are no expressions (i.e "int()" ), creates a new "CXXZeroInitValueExpr" Expr node.
llvm-svn: 55177
2008-08-22 15:38:55 +00:00
Nico Weber
5a87265775
make test fails if llvm is checked out to llvm-svn of if there is a dash somewhere else in the path. fix that.
...
llvm-svn: 55175
2008-08-22 09:33:51 +00:00
Nico Weber
ed9b4100a8
Move most of HeaderSearch initialization to libDriver.
...
For example, adding the default system include paths in clients is now as
simple as
InitHeaderSearch init(headers);
init.AddDefaultSystemIncludePaths(langopts);
init.Realize();
llvm-svn: 55174
2008-08-22 09:25:22 +00:00
Nicolas Geoffray
09617418e8
Also overload for char, since the "char" type depends on the host.
...
llvm-svn: 55173
2008-08-22 08:44:47 +00:00
Owen Anderson
0060ef6500
Overload for both signed and unsigned char.
...
llvm-svn: 55171
2008-08-22 07:42:25 +00:00
Chris Lattner
433a2ce988
improve pretty printing of objc method declaration,
...
patch contributed by Benjamin Stiglitz!
llvm-svn: 55170
2008-08-22 06:59:15 +00:00
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