Commit Graph

47073 Commits

Author SHA1 Message Date
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
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