Chris Lattner
7429581c33
remove attributions from .def files.
...
llvm-svn: 45413
2007-12-29 20:03:32 +00:00
Chris Lattner
5926c0ebfb
remove attribution from makefiles.
...
llvm-svn: 45412
2007-12-29 20:02:25 +00:00
Chris Lattner
5b12ab8c93
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change.
llvm-svn: 45410
2007-12-29 19:59:25 +00:00
Christopher Lamb
c5fafa211a
Fix OCUVector case in struct layout code.
...
llvm-svn: 45396
2007-12-29 05:10:55 +00:00
Christopher Lamb
d91c3d4926
Enable CodeGen for member expressions based on call expressions returning aggregate types. This enables expressions like 'foo().member.submember'.
...
llvm-svn: 45395
2007-12-29 05:02:41 +00:00
Christopher Lamb
fd9af54ad1
Make MemberExpr code safe w.r.t. address spaces.
...
llvm-svn: 45394
2007-12-29 04:06:57 +00:00
Christopher Lamb
ad66035921
Fix an error in the base/idx accessors for ArraySubscriptExpr's that crops up with vector element access.
...
llvm-svn: 45390
2007-12-28 23:43:03 +00:00
Chris Lattner
7ef31d3c53
various cleanups. Use IgnoreParenCasts instead of inlined versions.
...
llvm-svn: 45382
2007-12-28 05:38:24 +00:00
Chris Lattner
934edb210a
unindent cases in a switch stmt, no functionality change.
...
llvm-svn: 45381
2007-12-28 05:31:15 +00:00
Chris Lattner
0846494750
Change Sema::ActOnCallExpr to construct the CallExpr early and put it into
...
and OwningPtr instead of constructing only after all of sema is done. This
has a couple of effects:
1. it fixes memory leaks from all the error cases in sema
2. it simplifies the code significantly.
The cost of this is that the error case now new's and delete's an expr where
it did not before, but we don't care about the perf of the error case.
llvm-svn: 45380
2007-12-28 05:29:59 +00:00
Chris Lattner
6420345a34
move file to proper place in project.
...
llvm-svn: 45379
2007-12-28 05:27:01 +00:00
Chris Lattner
e4407ede20
Add accessors + iterator interface.
...
llvm-svn: 45378
2007-12-28 05:25:02 +00:00
Chris Lattner
02ac5e87e0
From Lucas Newman:
...
"Here's a tiny patch that lets the clang Xcode project build in any
location, so llvm doesn't have to be checked out in your home folder."
llvm-svn: 45376
2007-12-28 00:38:23 +00:00
Chris Lattner
20bc6e06cd
add a file I forgot to svn add.
...
llvm-svn: 45374
2007-12-27 21:46:27 +00:00
Chris Lattner
cc10d93dcf
alphabetize in project.
...
llvm-svn: 45373
2007-12-27 20:59:50 +00:00
Chris Lattner
807979824e
use -emit-llvm-bc
...
llvm-svn: 45372
2007-12-27 20:35:58 +00:00
Chris Lattner
40ad6cd854
no need to verify this, no errors/warnings are expected.
...
llvm-svn: 45371
2007-12-27 20:31:56 +00:00
Chris Lattner
11221033be
Fix a crash on a top-level objc string, patch by Nico Weber
...
llvm-svn: 45370
2007-12-27 20:29:42 +00:00
Chris Lattner
5e530bcee3
- Use Tok.isObjCAtKeyword instead of Tok.getIdentifierInfo()->getObjCKeywordID().
...
The later fails if the token is not an identifier.
- Replace tabs with spaces.
- Various other cleanups.
Patch by Nico Weber!
llvm-svn: 45368
2007-12-27 19:57:00 +00:00
Anders Carlsson
c9d41e7d27
No need to do work that the folding builder does for us.
...
llvm-svn: 45361
2007-12-26 18:20:19 +00:00
Seo Sanghyeon
acb00f4a73
Remove broken assert from CodeGen. Better check is done in Sema.
...
llvm-svn: 45358
2007-12-26 05:21:37 +00:00
Christopher Lamb
2b84813441
Make output files binary mode for -emit-llvm-bc
...
llvm-svn: 45348
2007-12-24 23:49:33 +00:00
Christopher Lamb
d01dea749e
Almost the best possible handling of stdin/stdout for llvm-emit-bc!
...
llvm-svn: 45346
2007-12-24 20:59:36 +00:00
Christopher Lamb
1c0f5d2436
Better handing of stdin/stdout for -emit-llvm-bc
...
llvm-svn: 45345
2007-12-24 20:56:07 +00:00
Christopher Lamb
5a3416409f
Allow bitcode output to be redirected to stdout.
...
llvm-svn: 45340
2007-12-24 03:23:55 +00:00
Seo Sanghyeon
76270e6be6
Implement -emit-llvm-bc option
...
llvm-svn: 45339
2007-12-24 01:52:34 +00:00
Seo Sanghyeon
6f1b274976
String literal in aggregate expression
...
llvm-svn: 45330
2007-12-23 03:11:58 +00:00
Chris Lattner
b907c3fca1
remove use of alloca.
...
llvm-svn: 45329
2007-12-23 01:40:15 +00:00
Anton Korobeynikov
03f8a3630d
Unbreak mingw build
...
llvm-svn: 45328
2007-12-23 01:19:32 +00:00
Ted Kremenek
dbc5385608
Added (incomplete) implementation of SimulEngine, a worklist-based dataflow
...
solver for path-sensitive, intra-procedural analysis.
llvm-svn: 45306
2007-12-22 01:43:37 +00:00
Fariborz Jahanian
4f41b272c9
Another test case, testing a variety of objective-c type comparisons.
...
llvm-svn: 45302
2007-12-22 00:17:49 +00:00
Fariborz Jahanian
24e1a0bd35
Another test for objective-c's type comparison.
...
llvm-svn: 45301
2007-12-21 23:48:59 +00:00
Ted Kremenek
e7e26cd01e
Converted Loc back to being of type ProgramEdge. Ultimately I believe we want
...
the ability to refer to the vertex set for all the vertices associated with an
edge. This will allow some nice queries over the graph, and (hopefully) will
reduce the memory footprint of SimulVertex.
llvm-svn: 45299
2007-12-21 23:23:12 +00:00
Ted Kremenek
e1d1a9479f
Added preliminary implementation of SimulGraph, which represents the
...
intra-procedural supergraph of a path-sensitive dataflow analysis.
llvm-svn: 45298
2007-12-21 23:21:58 +00:00
Ted Kremenek
908cff9fa4
Changed "Location" from "ProgramEdge" to "ProgramEdge&" (slightly more svelt
...
memory representation).
llvm-svn: 45297
2007-12-21 22:57:10 +00:00
Ted Kremenek
95416706ed
SimulVertex now subclasses FoldingSetNode.
...
llvm-svn: 45296
2007-12-21 22:41:58 +00:00
Ted Kremenek
1616945a7d
Added Profile method to SimulVertex.
...
llvm-svn: 45295
2007-12-21 22:40:41 +00:00
Fariborz Jahanian
a7c705ddca
This patch implements some of the more obscure type-checking involving
...
'id' quallified with protocols and static types which have categories and
inheritance which implement these protocols.
llvm-svn: 45294
2007-12-21 22:22:33 +00:00
Ted Kremenek
fda0aaf01b
Updated Xcode project to be in sync with recent changes in file locations
...
introduced in r45292 (http://llvm.org/viewvc/llvm-project?rev=45292&view=rev )
llvm-svn: 45293
2007-12-21 21:48:31 +00:00
Ted Kremenek
bf593f81fa
Directory restructing of Analysis files.
...
Created include/clang/Analysis/Analyses directory.
- Moved LiveVariables.h and UninitializedValues.h into this dir.
Moved ExprDeclBitVector.h into Analysis/Support.
Updated all clients who use these headers to reflect the new paths.
llvm-svn: 45292
2007-12-21 21:42:19 +00:00
Ted Kremenek
f55ed782b4
Renamed file AnalysisVertex.h to SimulVertex.h
...
llvm-svn: 45291
2007-12-21 21:17:22 +00:00
Ted Kremenek
3d8b0d6948
Renamed class AnalysisVertex to SimulVertex
...
llvm-svn: 45290
2007-12-21 21:16:58 +00:00
Ted Kremenek
93e2031187
Fixed successor order for CFG basic blocks when handling: x && y. The bug
...
is best explained by illustration:
[ B2 ]
1: x
T: [B2.1] && ...
Predecessors (1): B4
Successors (2): B3 B1
Block "B3" should be the block where we evaluate "y" when "x" evaluates to
true. Previously we had the successor list reversed. Now this behavior matches
with how we handle other conditional branches.
Thanks to Nuno Lopes for reporting this problem.
llvm-svn: 45288
2007-12-21 19:49:00 +00:00
Devang Patel
505b4f1fd4
Convert opaque type when struct definition is seen.
...
llvm-svn: 45287
2007-12-21 19:35:28 +00:00
Devang Patel
016e41e8a6
Keep track of llvm struct size while adding fields.
...
Update addPaddingFields() interface.
llvm-svn: 45284
2007-12-21 18:43:53 +00:00
Fariborz Jahanian
56b5c96ef7
Patch to compare to objective-c static types where one or the other
...
(but not both) may be a protocol qualified static type.
llvm-svn: 45283
2007-12-21 17:34:43 +00:00
Fariborz Jahanian
fd6f3a2460
Test case for my last patch.
...
llvm-svn: 45277
2007-12-21 00:35:35 +00:00
Fariborz Jahanian
ff7d2bf255
More objective-c type analysis. This time involving objective types
...
of conforming protocols (or not).
llvm-svn: 45276
2007-12-21 00:33:59 +00:00
Ted Kremenek
b149889df6
Added class "StateVariant", a template class which serves to wrap states that
...
are generated by transfer functions used by the path-sensitive dataflow solver.
llvm-svn: 45273
2007-12-21 00:04:19 +00:00
Ted Kremenek
f40d2740b6
Added initial implementation of "AnalysisVertex", a class to represent a
...
location*state vertex in an intra-procedural, path-sensitive dataflow
supergraph.
llvm-svn: 45272
2007-12-20 23:24:55 +00:00