Evan Cheng
1ff71872c2
Honor user-defined section specification of a global, ignores whether its initializer is null.
...
llvm-svn: 42182
2007-09-21 00:41:19 +00:00
Dale Johannesen
146a0ea071
Fix PR 1688. See comments there.
...
llvm-svn: 42181
2007-09-20 23:47:58 +00:00
Devang Patel
83cc3f8f51
Update aux. info associated with an instruction before erasing instruction.
...
llvm-svn: 42180
2007-09-20 23:45:50 +00:00
Devang Patel
d29f938335
Do not override user specified section.
...
llvm-svn: 42179
2007-09-20 23:07:37 +00:00
Devang Patel
6117a3b696
Don't increment invalid iterator.
...
llvm-svn: 42178
2007-09-20 23:01:50 +00:00
Hartmut Kaiser
3f5d492c70
Updated VC++ project files
...
llvm-svn: 42177
2007-09-20 21:54:10 +00:00
Ted Kremenek
8483a4ab05
Updated XCode project with locations of "Analysis" visitor header files.
...
llvm-svn: 42176
2007-09-20 21:47:32 +00:00
Ted Kremenek
24c624477e
Updated header file inlcude to new location of
...
Analysis/Visitors/*Visitors.h files.
llvm-svn: 42175
2007-09-20 21:42:55 +00:00
Ted Kremenek
3b2050b322
Renamed "include/clang/Analysis/CFGVisitors" "<snip>/Analysis/Visitors".
...
"Visitors" is more general than "CFGVisitors", as we aren't just using
visitation useful for CFG analysis.
llvm-svn: 42174
2007-09-20 21:42:03 +00:00
Ted Kremenek
706df48fea
Moved include/clang/Analysis/*Visitor.h to include/clang/Analysis/CFGVisitors.
...
We had enough visitors that it was cluttering the Analysis directory.
llvm-svn: 42173
2007-09-20 21:40:36 +00:00
Fariborz Jahanian
397d8de9ed
Handle forward declaration of classes and prevent re-instantiation of
...
ObjcInterfaceClass Objects.
llvm-svn: 42172
2007-09-20 20:26:44 +00:00
Duncan Sands
416b9f0410
Testcase for PR1678.
...
llvm-svn: 42171
2007-09-20 18:56:24 +00:00
Evan Cheng
723dab1005
Disable if-conversion for this test.
...
llvm-svn: 42170
2007-09-20 18:06:22 +00:00
Evan Cheng
77d4771405
-enable-arm-if-conversion is gone.
...
llvm-svn: 42169
2007-09-20 18:03:23 +00:00
Fariborz Jahanian
a8bbc63c1f
Match to do some semantic analysis on objective-c class decl.
...
1. Detect used of undeclared/forward declared super class.
2. Detect duplicate definition of a class.
llvm-svn: 42168
2007-09-20 17:54:07 +00:00
Dale Johannesen
cc7c475705
Fix dumb regression in constant folding (Regression/C/casts)
...
llvm-svn: 42165
2007-09-20 16:50:21 +00:00
Gordon Henriksen
d1e1645a4e
Regenerate.
...
llvm-svn: 42164
2007-09-20 16:48:18 +00:00
Gordon Henriksen
1f982339e7
Incorporating review feedback for GC verifier patch.
...
llvm-svn: 42163
2007-09-20 16:47:41 +00:00
Dan Gohman
4dbc582a36
Fix several more entries in the x86 reload/remat folding tables.
...
llvm-svn: 42162
2007-09-20 14:17:21 +00:00
Hartmut Kaiser
8a43d50f40
Updated VC++ project files.
...
Disambiguated a variable.
llvm-svn: 42161
2007-09-20 13:35:09 +00:00
Gabor Greif
4a46052d30
use typenames equivalent to
...
(u)intval, because latter are not
present in older caml/mlvalues.h
(e.g. 2004/07/07, 1.48.6.1)
Using this as a workaround for now,
until --without-ocaml works
or we settle on a better solution
llvm-svn: 42160
2007-09-20 10:20:34 +00:00
Dale Johannesen
95be037d67
another long double buglet
...
llvm-svn: 42159
2007-09-20 01:27:54 +00:00
Nick Lewycky
e7be16a053
Excuse me.
...
llvm-svn: 42158
2007-09-20 00:57:00 +00:00
Nick Lewycky
eae7e7d00b
Fix optimization. %x = sub %x, %y does not imply that %y is zero.
...
llvm-svn: 42157
2007-09-20 00:48:36 +00:00
Evan Cheng
8010320365
Enable if-conversion for ARM by default.
...
llvm-svn: 42156
2007-09-20 00:48:22 +00:00
Dale Johannesen
7d67e547b5
More long double fixes. x86_64 should build now.
...
llvm-svn: 42155
2007-09-19 23:55:34 +00:00
Evan Cheng
d0e360e16e
Avoid referencing deleted instruction.
...
llvm-svn: 42153
2007-09-19 21:48:07 +00:00
Ted Kremenek
66d130a584
Added support to clang driver to view ASTs using GraphViz. This
...
functionality is still preliminary.
llvm-svn: 42152
2007-09-19 21:29:43 +00:00
Ted Kremenek
ebc5500e50
Previously GraphWriter assumed operator*() for node_iterator always
...
returned a reference type. This patch allows operator*() to return a
non-reference type while still maintaining the old behavior when it
does return a reference type.
This patch was motivated when I tried to use "df_iterator" (see
llvm/ADT/DepthFirstIterator.h) as a "node_iterator", as df_iterator
does not return a reference type and thus we would get a compilation
error when trying to take the address of a temporary.
llvm-svn: 42151
2007-09-19 21:26:49 +00:00
Ted Kremenek
a8f4ef5846
Moved GraphTraits<Stmt*> to StmtGraphTraits.h. This allows consumers of Stmt.h not to have to pay the cost
...
of parsing the GraphTraits templates if they don't need that functionality.
Defined nodes_iterator for GraphTraits<Stmt*> to be based on llvm::df_iterator.
llvm-svn: 42150
2007-09-19 21:21:39 +00:00
Devang Patel
464276f831
Avoid unsafe promotion.
...
llvm-svn: 42149
2007-09-19 20:18:51 +00:00
Fariborz Jahanian
62fd2b4730
Patch to parse objective-c's @try-statement and @throw-statement.
...
llvm-svn: 42148
2007-09-19 19:14:32 +00:00
Evan Cheng
513874cf3c
PSHUFDmi, etc. are actually folding a load, not a store.
...
llvm-svn: 42147
2007-09-19 19:02:47 +00:00
Ted Kremenek
a3d706a778
Added GraphTraits template specialization for Stmt* to treat ASTs like graphs.
...
llvm-svn: 42146
2007-09-19 18:18:40 +00:00
Ted Kremenek
ec55ce39a6
More refactoring: decl and expr regisitration now uses CFGRecStmtDeclVisitor.
...
llvm-svn: 42145
2007-09-19 18:00:03 +00:00
Ted Kremenek
5885a5b417
Added two new visitors that extend CFGStmtVisitor: CFGRecStmtVisitor and CFGRecStmtDeclVisitor.
...
The extended functionality of these visitors is that they automatically visit all statements in
an AST (no explicit recursion is required from subclasses), and the for the latter, decls are visited
as well.
llvm-svn: 42144
2007-09-19 17:59:28 +00:00
Dale Johannesen
b59d25fe54
Fix longdouble -> uint conversion.
...
llvm-svn: 42143
2007-09-19 17:53:26 +00:00
Chris Lattner
d79f3d51b1
reject things like "declare internal @foo"
...
llvm-svn: 42140
2007-09-19 17:14:45 +00:00
Steve Naroff
2cd263ff71
Remove SelectorTable/SelectorInfo, simply store all selectors in the central IdentifierTable.
...
Rationale:
We currently have a separate table to unique ObjC selectors. Since I don't need all the instance data in IdentifierInfo, I thought this would save space (and make more sense conceptually).
It turns out the cost of having duplicate entries for unary selectors (i.e. names without colons) outweighs the cost difference between the IdentifierInfo & SelectorInfo structures. Here is the data:
Two tables:
*** Selector/Identifier Stats:
# Selectors/Identifiers: 51635
Bytes allocated: 1999824
One table:
*** Identifier Table Stats:
# Identifiers: 49500
Bytes allocated: 1990316
llvm-svn: 42139
2007-09-19 16:18:46 +00:00
Owen Anderson
c201cbc802
Add a flag to mark a dirty cache entry. This is not yet used, but will eventually
...
help non-local memdep caching.
llvm-svn: 42137
2007-09-19 16:13:57 +00:00
Dale Johannesen
f4bad97ea0
Fix some long double issues.
...
llvm-svn: 42133
2007-09-19 14:22:58 +00:00
Duncan Sands
d31649bc59
Improve comment.
...
llvm-svn: 42132
2007-09-19 10:25:38 +00:00
Duncan Sands
a38e527523
Partial fix for PR1678: correct some parts of constant
...
fold that were missed in the fix for PR1646. Probably
this null/not-null logic should be factorized somewhere.
llvm-svn: 42131
2007-09-19 10:16:17 +00:00
Duncan Sands
56df7dec2b
A global variable with external weak linkage can be null, while
...
an alias could alias such a global variable.
llvm-svn: 42130
2007-09-19 10:10:31 +00:00
Gabor Greif
ef858c9ff6
include alloca.h if available. this helps Solaris, but intnat and uintnat types are still undefined, causing errors
...
llvm-svn: 42129
2007-09-19 09:29:58 +00:00
Duncan Sands
4e426623f5
Testcase for PR1678.
...
llvm-svn: 42128
2007-09-19 07:43:17 +00:00
Steve Naroff
59155be0b2
Remove #include of config.h, it is no longer needed.
...
llvm-svn: 42126
2007-09-19 03:01:22 +00:00
Evan Cheng
0effc3a6b8
Use struct SDep instead of std::pair for SUnit pred and succ lists. First step
...
in tracking physical register output dependencies.
llvm-svn: 42125
2007-09-19 01:38:40 +00:00
Evan Cheng
17f589f76e
Set CCR (EFLAGS) copy cost to -1, i.e. extremely expensive to copy.
...
llvm-svn: 42124
2007-09-19 01:36:39 +00:00
Evan Cheng
f73fb6261b
Add CopyCost to TargetRegisterClass. This specifies the cost of copying a value
...
between two registers in the specific class.
llvm-svn: 42123
2007-09-19 01:35:01 +00:00