Fariborz Jahanian
f3287bf871
Patch to store ivars into interface class object.
...
llvm-svn: 41961
2007-09-14 21:08:27 +00:00
Dan Gohman
14cf78cde5
And an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoid
...
ambiguity.
llvm-svn: 41960
2007-09-14 20:48:42 +00:00
Dan Gohman
c519c38629
Add explicit triples to avoid default behavior that varies by host.
...
llvm-svn: 41959
2007-09-14 20:37:18 +00:00
Dan Gohman
9da02f5ee2
Remove isReg, isImm, and isMBB, and change all their users to use
...
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.
llvm-svn: 41958
2007-09-14 20:33:02 +00:00
Dan Gohman
a7b26e6bb3
Change "tmp." to "tmp" for temporaries created by ScalarEvolutionExpander
...
for consistency with many other transforms.
llvm-svn: 41957
2007-09-14 20:11:40 +00:00
Dan Gohman
58c468fb09
Remove spurious consts. This fixes warnings with compilers that
...
are strict about such things.
llvm-svn: 41956
2007-09-14 20:08:19 +00:00
Fariborz Jahanian
aefb23092c
Semantic analysis for objective-c ivars.
...
llvm-svn: 41954
2007-09-14 16:27:55 +00:00
Rafael Espindola
272f7304f0
Add support for functions with byval arguments on x86
...
llvm-svn: 41953
2007-09-14 15:48:13 +00:00
Chris Lattner
5d13fb538f
Fix a logic error in ValueIsOnlyUsedLocallyOrStoredToOneGlobal that caused
...
miscompilation of 188.ammp. Reject select and bitcast in
ValueIsOnlyUsedLocallyOrStoredToOneGlobal because RewriteHeapSROALoadUser can't handle it.
llvm-svn: 41950
2007-09-14 03:41:21 +00:00
Chris Lattner
d9111b88d1
silence a bogus gcc warning.
...
llvm-svn: 41949
2007-09-14 03:07:24 +00:00
Steve Naroff
1d4b5eaeab
Now that the dust has settled on the Decl refactoring, I noticed FieldDecl didn't need NextDeclarator. As a result, I'm removing it.
...
Removing both slots (NextDeclarator/Next) end up reducing the size of fields/ivars by 40%.
llvm-svn: 41948
2007-09-14 02:20:46 +00:00
Evan Cheng
5196f617a1
Fix comments.
...
llvm-svn: 41947
2007-09-14 01:57:02 +00:00
Tanya Lattner
36a6fcd327
Change to 2.2svn.
...
llvm-svn: 41941
2007-09-14 01:24:13 +00:00
Bill Wendling
264d4813c7
Temporary reverting r41817
...
(http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053370.html ). It's
causing SPASS to fail.
llvm-svn: 41938
2007-09-14 01:13:55 +00:00
Steve Naroff
a23cc79654
Move Decl::NextDeclarator (w/ setters/getters) down to ScopedDecl/FieldDecl.
...
Decl is now svelte:-)
llvm-svn: 41935
2007-09-13 23:52:58 +00:00
Steve Naroff
9def2b15c1
Phase 2 of making the Decl class more lightweight...
...
Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl.
Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later.
llvm-svn: 41934
2007-09-13 21:41:19 +00:00
Chris Lattner
011f91b5b2
Teach GlobalLoadUsesSimpleEnoughForHeapSRA and the SROA rewriter how to handle
...
a limited form of PHI nodes. This finally fixes PR1639, speeding 179.art up
from 7.84s to 3.13s on PPC.
llvm-svn: 41933
2007-09-13 21:31:36 +00:00
Fariborz Jahanian
6812cbb230
Patch for collecting ivars before running action on them.
...
llvm-svn: 41932
2007-09-13 20:56:13 +00:00
Steve Naroff
9324db12b2
Add "ScopedDecl" AST, used by ValueDecl and TypeDecl.
...
This allows us to sink the "Next" field, which isn't used by FieldDecl and ObjcIvarDecl.
llvm-svn: 41931
2007-09-13 18:10:37 +00:00
Chris Lattner
ba98f89388
be tolerant of PHI nodes when rewriting heap SROA code. This is a step
...
along the way of PR1639
llvm-svn: 41930
2007-09-13 18:00:31 +00:00
Chris Lattner
f315d4f1a7
refactor some code, no functionality change. On the path to PR1639
...
llvm-svn: 41929
2007-09-13 17:29:05 +00:00
Chris Lattner
6eed0e7366
Make ValueIsOnlyUsedLocallyOrStoredToOneGlobal smart enough to see through
...
bitcasts and phis. This is a step to fixing PR1639.
llvm-svn: 41928
2007-09-13 16:37:20 +00:00
Chris Lattner
2d2892ee6e
Make AllUsesOfLoadedValueWillTrapIfNull strong enough to see through PHI
...
nodes. This is the first step of the fix for PR1639.
llvm-svn: 41927
2007-09-13 16:30:19 +00:00
Chris Lattner
d3d8aca074
update to match llvm mainline api
...
llvm-svn: 41926
2007-09-13 06:19:18 +00:00
Chris Lattner
3fd6bf8275
remove dead enum value.
...
llvm-svn: 41925
2007-09-13 06:18:04 +00:00
Chris Lattner
6ff85b2e5a
Make single-argument ctors explicit to avoid tricky bugs :)
...
llvm-svn: 41924
2007-09-13 06:15:57 +00:00
Chris Lattner
7955bbd9fd
Fix build problems on Cygwin (PR1652), patch by Patrick Walton.
...
llvm-svn: 41923
2007-09-13 06:09:48 +00:00
Chris Lattner
6fb276d433
adjust to a change in the LLVM APIs, this is still very hackish until
...
the front-end adopts APFloat though. This fixes test/CodeGen/mandel.c
llvm-svn: 41908
2007-09-13 01:26:11 +00:00
Chris Lattner
69de3f4af6
When dumping out errors about unsupported stuff, emit loc info.
...
llvm-svn: 41907
2007-09-13 01:17:29 +00:00
Chris Lattner
5a5b35c07b
make the sourcemgr available through ASTContext.
...
llvm-svn: 41906
2007-09-13 01:14:03 +00:00
Evan Cheng
b2c42621df
Added getNumDefs().
...
llvm-svn: 41901
2007-09-13 00:16:29 +00:00
Evan Cheng
100c8d6c8f
Bug fixes.
...
llvm-svn: 41900
2007-09-13 00:06:00 +00:00
Evan Cheng
57ff158255
Remove dead code.
...
llvm-svn: 41899
2007-09-12 23:45:46 +00:00
Evan Cheng
bb6a574def
Yet another getTargetNode variant.
...
llvm-svn: 41898
2007-09-12 23:39:49 +00:00
Evan Cheng
59c39dc197
Initial support for multi-result patterns:
...
1.
[(set GR32:$dst, (add GR32:$src1, GR32:$src2)),
(modify EFLAGS)]
This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS.
2.
def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()>
Similar to #1 except this is used for def : Pat patterns.
llvm-svn: 41897
2007-09-12 23:30:14 +00:00
Steve Naroff
3aa4efbdee
Add ASTContext::StringMap<char> to unique selector names.
...
llvm-svn: 41894
2007-09-12 23:08:22 +00:00
Evan Cheng
d8317967aa
Fixed a typo that's causing a missing kill marker.
...
llvm-svn: 41893
2007-09-12 23:02:04 +00:00
Ted Kremenek
302def221c
Minor space tightening.
...
Removed extraneous call to Observer->ObserveStmt when handling DeclRefExprs.
llvm-svn: 41890
2007-09-12 20:28:48 +00:00
Steve Naroff
437b4d8bda
Remove a FIXME. Replace a couple asserts with an appropriate error
...
diagnostic for illegal initializers.
llvm-svn: 41889
2007-09-12 20:13:48 +00:00
Ted Kremenek
fe1da5ec56
Fixed recursion bug: should call Visit on child instead of VisitStmt.
...
llvm-svn: 41888
2007-09-12 20:11:39 +00:00
Ted Kremenek
b10f1d881e
Fixed logic bug in recursion to visiting child statements.
...
llvm-svn: 41887
2007-09-12 20:08:31 +00:00
Ted Kremenek
439b19928f
Added files CFGStmtVisitor and DataflowStmtVisitor to XCode project.
...
llvm-svn: 41886
2007-09-12 19:12:02 +00:00
Ted Kremenek
1147e36fe0
Migrated LiveVariables to use the new DataflowStmtVisitor interface. The code
...
is much simpler now.
llvm-svn: 41885
2007-09-12 19:10:52 +00:00
Ted Kremenek
d160034330
Added extensions (subclasses) to the StmtVisitor class that
...
are useful for dataflow analysis: CFGStmtVisitor and DataflowStmtVisitor.
CFGStmtVisitor is the same as StmtVisitor is that it has separate visitors
for "root" statements in a CFGBlock (statements that have a designated
slot int the list of statements in a CFGBlock). It also recognizes statements
that have implicit control-flow, and calls special visitor methods for those.
DataflowStmtVisitor extends CFGStmtVisitor to serve as a template for
implementing transfer functions. It does a pre-/post-order traversal of
substatements depending on whether we are doing a forward/backward analysis.
It also has special handling for implicit-control-flow statements so that
they are visited only once.
llvm-svn: 41884
2007-09-12 19:09:12 +00:00
Chris Lattner
909ef0973b
add a new BF->LLVM translator, contributed by Sterling Stein.
...
llvm-svn: 41881
2007-09-12 18:24:00 +00:00
Fariborz Jahanian
cfb31fab5e
Patch for building method declaration nodes. Also fixed a segfault in cocoa.m due
...
to use of @property.
llvm-svn: 41880
2007-09-12 18:23:47 +00:00
Chris Lattner
7b412cb823
Change llvm.gcroot to not init the root to null at runtime, this prevents
...
using it for live-in values etc.
llvm-svn: 41879
2007-09-12 17:53:10 +00:00
Hartmut Kaiser
0249104aa5
Removed clang solution file for VC++, which didn't work properly because of hard coded paths in the llvm project files.
...
Changed windows detection to use LLVM pp constant.
llvm-svn: 41878
2007-09-12 15:39:04 +00:00
Steve Naroff
6109140b00
Fix the following bug submitted by Ted Kremenek:
...
void func() {
int xx = xx; // incorrectly diagnosed 'xx' as an undeclared identifier.
}
This smallish bug resulted in a largish fix. Here are some highlights:
- Needed to make sure ParseDeclarator is called *before* parsing any
initializer. Removed the "Init" argument to ParseDeclarator.
- Added AddInitializerToDecl() to the Action & Sema classes.
In Sema, this hook is responsible for validating the initializer and
installing it into the respective decl.
- Moved several semantic checks from ParseDeclarator() to
FinalizeDeclaratorGroup(). Previously, this hook was only responsible for
reversing a list. Now it plays a much larger semantic role.
All of the above changes ended up simplifying ParseDeclarator(), which
is goodness...
llvm-svn: 41877
2007-09-12 14:07:44 +00:00
Dale Johannesen
100410af13
Generated files for previous patch.
...
llvm-svn: 41876
2007-09-12 03:31:28 +00:00