49199 Commits

Author SHA1 Message Date
Bill Wendling
6e4ffba212 - Fix SUBVERSION string to handle x.x.x version number formats.
- Add VERBOSE=1 flag.
- Specify the LLVM_SUBMIT_VERSION when doing the "make install".
  The libLTO.dylib relies upon this flag during that time.

llvm-svn: 58298
2008-10-27 23:31:24 +00:00
Evan Cheng
e67ad47a00 Silence a bogus compile time warning.
llvm-svn: 58297
2008-10-27 23:29:28 +00:00
David Greene
aebd9e01d7 Re-apply 55137 with fixes.
llvm-svn: 58296
2008-10-27 23:24:03 +00:00
Evan Cheng
f46642ada6 Remove val# defined by a remat'ed def that is now dead.
llvm-svn: 58294
2008-10-27 23:21:01 +00:00
Ted Kremenek
54d399ac5d Remove type-punning warning in GRExprEngine. No functionality change.
llvm-svn: 58292
2008-10-27 23:02:39 +00:00
Mike Stump
c60dcc25dd Skip random pathname characters better. I had a 5 in mine.
llvm-svn: 58291
2008-10-27 22:49:55 +00:00
Ted Kremenek
8fcff4d87a Fix bogus comparison of "const char *" with c-string literal. Use strcmp instead.
llvm-svn: 58290
2008-10-27 22:43:07 +00:00
Ted Kremenek
02f9fd4a6c Update checker build.
llvm-svn: 58289
2008-10-27 22:42:11 +00:00
Daniel Dunbar
0b288b8a59 Add test case to exercise IRgen "unsupported" path (mostly cleanup).
llvm-svn: 58286
2008-10-27 22:11:01 +00:00
Daniel Dunbar
1a0625e5cf With -verify, only exit early on failure.
- Nice if -verify test exercise the various cleanup functions.

llvm-svn: 58285
2008-10-27 22:10:13 +00:00
Daniel Dunbar
eb3e41417d Remove unneeded CheckASTConsumer function.
- No functionality change.

llvm-svn: 58282
2008-10-27 22:03:52 +00:00
Daniel Dunbar
6f4eafe14b Comment fix, ParseAST does not take ownership of the consumer.
llvm-svn: 58281
2008-10-27 22:01:05 +00:00
Ted Kremenek
03ce9eeee2 Add 'expected-warning' for braces around scalar initializer
llvm-svn: 58280
2008-10-27 22:00:16 +00:00
Ted Kremenek
c1739912c8 Added compound literal test case.
llvm-svn: 58279
2008-10-27 21:57:17 +00:00
David Greene
ce2a938186 Have TableGen emit setSubgraphColor calls under control of a -gen-debug
flag.  Then in a debugger developers can set breakpoints at these calls
to see waht is about to be selected and what the resulting subgraph
looks like.  This really helps when debugging instruction selection.

llvm-svn: 58278
2008-10-27 21:56:29 +00:00
Ted Kremenek
bf26368255 Added preliminary support for CompoundLiterals in the static analyzer:
- GRExprEngine::VisitCompoundLiteral...
   (1) visits the initializer list (generating ExplodedNodes)
   (2) creates a CompoundMemRegion for the literal
   (3) creates a new state with the bound literal values using
       GRStateManager::BindCompoundLiteral

- GRStateManager::BindCompoundLiteral simply calls 
  StoreManager::BindCompoundLiteral to get a new store and returns a persistent
  GRState with that store.

- BasicStore::BindCompoundLiteral simply returns the same store, as it
  doesn't handle field sensitivity
  
- RegionStore::BindCompoundLiteral currently fires an assert (pending discussion
  of how to best implement mappings for CompoundLiteralRegion).

llvm-svn: 58277
2008-10-27 21:54:31 +00:00
Ted Kremenek
2837b9ef6c Update Xcode project.
llvm-svn: 58276
2008-10-27 21:41:20 +00:00
Ted Kremenek
eaf5e24cbb Pull determination of the super region for a VarRegion into a single getVarRegion() method. This provides a common clean API for clients.
llvm-svn: 58272
2008-10-27 21:01:26 +00:00
Ted Kremenek
bc48caf383 Added CompoundLiteralRegion to represent the (temporary) memory allocated for a compound literal.
llvm-svn: 58270
2008-10-27 20:57:58 +00:00
Steve Naroff
b88d775201 Fix testsuite regression for "crash.m".
llvm-svn: 58269
2008-10-27 20:54:44 +00:00
Daniel Dunbar
e3aa50c280 Return bool (inserted) from StringSet::insert as for StringMap::insert.
llvm-svn: 58268
2008-10-27 20:50:02 +00:00
Daniel Dunbar
9b87dcb929 Don't double free module when IRgen fails.
llvm-svn: 58266
2008-10-27 20:40:41 +00:00
Daniel Dunbar
966c2e1454 Improve dependency file support.
- Add support for -MP (phony targets).
 
 - Use raw_ostream for output instead of std::string concatenation.
 
 - Break long lines in a GCC (4.2) compatible manner.

 - Output dependents in #included order (to match GCC).

llvm-svn: 58265
2008-10-27 20:01:06 +00:00
Douglas Gregor
e200adc503 Refactor the expression class hierarchy for casts. Most importantly:
- CastExpr is the root of all casts
  - ImplicitCastExpr is (still) used for all explicit casts
  - ExplicitCastExpr is now the root of all *explicit* casts
  - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++
  - CXXFunctionalCastExpr inherits from ExplicitCastExpr
  - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all
    of the C++ named cast expression types (static_cast, dynamic_cast, etc.)
  - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, 
    CXXReinterpretCastExpr, and CXXConstCastExpr to 

Also, fixed returned-stack-addr.cpp, which broke once when we fixed
reinterpret_cast to diagnose double->int* conversions and again when
we eliminated implicit conversions to reference types. The fix is in
both testcase and SemaChecking.cpp.

Most of this patch is simply support for the renaming. There's very
little actual change in semantics.

llvm-svn: 58264
2008-10-27 19:41:14 +00:00
Cedric Venet
4e6ad3c12b Remove tabs from my previous commit.
llvm-svn: 58263
2008-10-27 19:21:35 +00:00
Steve Naroff
cb04e88580 Some fixups to the previous objc/blocks rewriter smerge.
llvm-svn: 58262
2008-10-27 18:50:14 +00:00
Ted Kremenek
5778acf5e8 - Move ExprIterator to Stmt.h so that it can be used by classes defined in Stmt.h
- Implement child_begin() and child_end() for AsmStmt.  Previously these had stub implementations that did not iterate over the input/output operands of an inline assembly statement.
- Use ExprIterator for performing iteration over input/output operands.

llvm-svn: 58261
2008-10-27 18:40:21 +00:00
Chris Lattner
b5cf101fa2 rename vec_spat -> vec_splat, pointed out by duncan
llvm-svn: 58260
2008-10-27 18:28:24 +00:00
David Greene
b04e7c36d3 Add setSubgraphColor to color an entire portion of a SelectionDAG. This
will be used to support debug features in TableGen.

llvm-svn: 58257
2008-10-27 18:17:03 +00:00
David Greene
f9812d8166 Add STL-style typedefs and default constructors to make it possible to
use DenseMap in more contexts.

llvm-svn: 58256
2008-10-27 18:15:15 +00:00
David Greene
b00b267bcc Fix PR2634. Create new virtual registers from spills early so that we
can give it the same stack slot as the spilled interval if it is folded.
This prevents the fold/unfold code from pointing to the wrong register.

llvm-svn: 58255
2008-10-27 17:38:59 +00:00
Steve Naroff
677ab3ab45 Integrate the blocks and objc rewriters.
llvm-svn: 58253
2008-10-27 17:20:55 +00:00
Sebastian Redl
344fc3db3f Fix some invalid casts that are detected by Sema now or soon.
llvm-svn: 58252
2008-10-27 16:34:21 +00:00
Matthijs Kooijman
d470f73e2c Remove redundant word in tblgen error message.
llvm-svn: 58250
2008-10-27 15:59:43 +00:00
Duncan Sands
835bdca590 Fix UpdateNodeOperands so that it does CSE of calls
(and a bunch of other node types).  While there, I
added a doNotCSE predicate and used it to reduce code
duplication (some of the duplicated code was wrong...).
This fixes ARM/cse-libcalls.ll when using LegalizeTypes. 

llvm-svn: 58249
2008-10-27 15:30:53 +00:00
Zhongxing Xu
ad4c3ded0d Add store option to scan-build and ccc-analyzer.
llvm-svn: 58248
2008-10-27 14:26:32 +00:00
Zhongxing Xu
144d7554c4 Use ASTContext::getCanonicalType() to get TypedRegion's type.
llvm-svn: 58247
2008-10-27 13:35:03 +00:00
Duncan Sands
75cf2e03ab Fix a bug in which a node could be added to the
worklist twice: UpdateNodeOperands could morph
a new node into a node already on the worklist.
We would then recalculate the NodeId for this
existing node and add it to the worklist.  The
testcase is ARM/cse-libcalls.ll, the problem
showing up once UpdateNodeOperands is taught to
do CSE for calls.

llvm-svn: 58246
2008-10-27 13:18:32 +00:00
Zhongxing Xu
7b700575dd An ElementRegion is really a typed region. Its super region's type has to be ArrayType.
llvm-svn: 58245
2008-10-27 13:17:02 +00:00
Douglas Gregor
89ebcb9d8d When destroying a translation unit, deallocate its owned declarations in reverse order, because there may be dependencies among the declarations.
llvm-svn: 58244
2008-10-27 12:50:38 +00:00
Zhongxing Xu
36d4ade4be We cannot get precise lvalue for symbolic base array region.
llvm-svn: 58243
2008-10-27 12:23:17 +00:00
Steve Naroff
c6db58a6bd Replace common diagnostic with a convenience function.
This simplifies debug of this particular diagnostic (and removes some code clutter).

llvm-svn: 58242
2008-10-27 11:34:16 +00:00
Steve Naroff
1d4a9a31b6 Fix <rdar://problem/6315646> clang on xcode: error: invalid operands to binary expression ('id<NSTableViewDelegate>' and 'XCExtendedArrayController *').
There is still a bug here (as the FIXME in the test case indicates). Prior to this patch, the bug would generate an error. Now, we simply do nothing (which is less harmful until we can get it right). The complete bug fix will require changing ASTContext::mergeTypes(), which I'd like to defer for now.

llvm-svn: 58241
2008-10-27 10:33:19 +00:00
Torok Edwin
450ffd2f3e Avoid crashing if instruction is not part of a loop.
If it is not part of a loop it is obviously invariant wrt to all loops.

llvm-svn: 58240
2008-10-27 10:18:45 +00:00
Gabor Greif
bb026a0c63 formatting tweak for intrinsic
llvm-svn: 58239
2008-10-27 10:17:24 +00:00
Torok Edwin
ca97b42ef7 export an ID for the instructionNamer, allowing analysis/transformation passes
that need it to require it by ID.

llvm-svn: 58238
2008-10-27 10:16:27 +00:00
Bill Wendling
ef36246c6f Some grammar fixes, and non-invasive format changes.
llvm-svn: 58237
2008-10-27 09:27:33 +00:00
Zhongxing Xu
bb18b57f53 Get the canonical type for struct initialization. The original code would crash on TypedefType.
llvm-svn: 58236
2008-10-27 09:24:07 +00:00
Zhongxing Xu
b32af436df Add test for SCA region store.
llvm-svn: 58235
2008-10-27 09:21:27 +00:00
Zhongxing Xu
7a2ce566bc Add test for SCA region store.
llvm-svn: 58234
2008-10-27 09:19:25 +00:00