Chris Lattner
7c981a79f7
allocate and dellocate objc decl list through AST Context instead of
...
with new/delete. With disable-free, this reduces the number of 4/8 byte
mallocs from 4793/1541 to 865/456 and also drops other sizes as well.
This is a very small perf win, nothing major.
llvm-svn: 65171
2009-02-20 21:44:01 +00:00
Chris Lattner
68d42c77b2
fix indentation
...
llvm-svn: 65170
2009-02-20 21:38:52 +00:00
Chris Lattner
696197cd30
silence some warnings in no asserts mode.
...
llvm-svn: 65169
2009-02-20 21:37:53 +00:00
Chris Lattner
2229872d2f
add plumbing to get ASTContext& down to allocation/deallocation points in ObjCList,
...
but don't start using it yet. Renamed some methods to be more consistent.
llvm-svn: 65168
2009-02-20 21:35:13 +00:00
Dan Gohman
5e309a5bbb
Simplify code and reduce indentation. No functionality change.
...
llvm-svn: 65167
2009-02-20 21:27:23 +00:00
Chris Lattner
4d1eb76ada
newly factored, we can now move the set and destroy methods out of line.
...
llvm-svn: 65166
2009-02-20 21:16:26 +00:00
Chris Lattner
f2b000c5dd
factor a bunch of common code out of the ObjCList template class
...
into a new shared ObjCListBase class.
llvm-svn: 65164
2009-02-20 21:14:14 +00:00
Ted Kremenek
b087942765
Greatly simplify the logic in ExplodedGraphImpl::TrimGraph. Now we just do a
...
vanilla reverse-BFS followed by a forward-DFS instead of resulting to strange
histrionics (whose purpose I can no longer remember) in the reverse-BFS stage.
This fixes an assertion failure in BugReporter due to edge cases where no root
was being hit in the reverse-BFS phase.
llvm-svn: 65160
2009-02-20 21:10:26 +00:00
Dan Gohman
2c8cb5b4ec
Fix 80-column violations.
...
llvm-svn: 65159
2009-02-20 21:06:57 +00:00
Chris Lattner
a2e2167c25
prune #includes
...
llvm-svn: 65158
2009-02-20 21:06:29 +00:00
Dan Gohman
addc50b4ee
It's not necessary to check if Base is null here.
...
llvm-svn: 65157
2009-02-20 21:05:23 +00:00
Chris Lattner
2e635f6102
rename ObjCList::clear() -> ObjCList::Destroy(). Require that destroy is called
...
before the dtor.
llvm-svn: 65156
2009-02-20 21:02:11 +00:00
Chris Lattner
f1ccb0cef0
rearrange the contents of DeclObjC to be by-class. Fix some 80 column issues
...
and other non-semantic changes.
llvm-svn: 65155
2009-02-20 20:59:54 +00:00
Daniel Dunbar
e8f256c7f9
Unbreak Darwin PIC handling; my refactoring yesterday was bogus.
...
llvm-svn: 65154
2009-02-20 20:52:47 +00:00
Chris Lattner
2d3a7be2f0
more random cleanups, add some fixme's. ObjCCategoryImplDecl really
...
shouldn't be a NamedDecl.
llvm-svn: 65153
2009-02-20 20:48:45 +00:00
Evan Cheng
2a9bad5ac1
Support return of MMX values in 64-bit mode.
...
llvm-svn: 65152
2009-02-20 20:43:02 +00:00
Chris Lattner
a4af543375
destroy should forward to base class.
...
llvm-svn: 65151
2009-02-20 20:42:28 +00:00
Chris Lattner
d7ba858314
move the @implementation ivar list to being an ObjCList, which prevents
...
it from being leaked, among other things.
llvm-svn: 65150
2009-02-20 20:41:34 +00:00
Bill Wendling
2343339644
- Early exit a nested block.
...
- Correct comment.
- Whitespace changes.
llvm-svn: 65149
2009-02-20 20:40:28 +00:00
Ted Kremenek
01144480fd
PTH generation: Clear the cleaning bit for literals (whose spellings are cached).
...
llvm-svn: 65148
2009-02-20 20:32:39 +00:00
Dan Gohman
1608df5319
Add a comment about how Imm can be used for loop-variant values.
...
llvm-svn: 65147
2009-02-20 20:29:04 +00:00
Daniel Dunbar
2f3a3d9f7a
Add some IRgen improvement notes.
...
llvm-svn: 65146
2009-02-20 19:34:45 +00:00
Daniel Dunbar
27032de34b
Shorten; no functionality change.
...
llvm-svn: 65145
2009-02-20 19:34:33 +00:00
Chris Lattner
ed2776a85c
remove dead list.
...
llvm-svn: 65142
2009-02-20 18:57:29 +00:00
Daniel Dunbar
5006f4a5f0
Take advantage of noreturn attribute to add unreachable instruction &
...
clear insertion point. The rest of IRgen should theoretically take
advantage of this to avoid emitting dead code. Theory != Practice.
llvm-svn: 65141
2009-02-20 18:54:31 +00:00
Anders Carlsson
c4c6031859
Always try to fold array sizes, and warn if we could fold something that isn't an ICE. This makes us compatible with GCC.
...
llvm-svn: 65140
2009-02-20 18:53:20 +00:00
Daniel Dunbar
6ef6a04dd6
Fix test case.
...
llvm-svn: 65139
2009-02-20 18:53:07 +00:00
Chris Lattner
a499715c83
remove some more methods from objc decls, using the iterator
...
interfaces more consistently.
llvm-svn: 65138
2009-02-20 18:43:26 +00:00
Torok Edwin
87d5ca083b
add note about sin
...
llvm-svn: 65137
2009-02-20 18:42:06 +00:00
Evan Cheng
c380864d2c
Factor address mode matcher out of codegen prepare to make it available to other passes, e.g. loop strength reduction.
...
llvm-svn: 65134
2009-02-20 18:24:38 +00:00
Daniel Dunbar
ce39954d5d
Handle constant int -> ptr casts of lvalue results.
...
- PR3463 (again).
llvm-svn: 65133
2009-02-20 18:22:23 +00:00
Chris Lattner
f5b77513b0
remove some slow O(n) methods.
...
llvm-svn: 65132
2009-02-20 18:18:36 +00:00
Chris Lattner
ed89b3ff2f
Change ObjCForwardProtocolDecl to use an ObjCList.
...
llvm-svn: 65131
2009-02-20 18:10:37 +00:00
Daniel Dunbar
cdbb5e336d
Set call attribute for direct calls (i.e. noreturn).
...
- Remove an unused variant of EmitCallExpr overload.
llvm-svn: 65130
2009-02-20 18:06:48 +00:00
Chris Lattner
9ee23b7f1a
move the interace list of @class to use ObjCList.
...
llvm-svn: 65129
2009-02-20 18:04:31 +00:00
Steve Naroff
17b2f5d728
Fix <rdar://problem/6586239> bitfield constraints not enforced (for ObjC)
...
llvm-svn: 65128
2009-02-20 17:57:11 +00:00
Chris Lattner
a11480defa
remove a dead list.
...
llvm-svn: 65127
2009-02-20 17:53:35 +00:00
Zhou Sheng
053737e1ae
Just roll back the previous change to -mem2reg.
...
Will re-think about this according to Chris's comments.
llvm-svn: 65126
2009-02-20 17:49:33 +00:00
Chris Lattner
d0b80c8c75
add support for amd64-*, patch by Brooks Davis!
...
llvm-svn: 65124
2009-02-20 17:04:14 +00:00
Zhou Sheng
6a0634d423
patch to update the line number information in pass -mem2reg.
...
Currently this pass will delete the variable declaration info,
and keep the line number info. But the kept line number info is not updated,
and some is redundant or not correct, this patch just updates those info.
llvm-svn: 65123
2009-02-20 16:31:35 +00:00
Owen Anderson
f13820148b
Fix a crash in the pre-alloc splitter exposed by recent codegen changes.
...
llvm-svn: 65121
2009-02-20 10:02:23 +00:00
Owen Anderson
81db491b7f
Add a quick pass to the stack slot colorer to eliminate some trivially redundant spills after coloring.
...
Ideally these would never get created in the first place, but until we enhance the spiller to have a more
global picture of what's happening, this is necessary for code quality in some circumstances.
llvm-svn: 65120
2009-02-20 09:11:36 +00:00
Daniel Dunbar
ba1c8f5a3c
ccc: Spell mattr correctly.
...
llvm-svn: 65119
2009-02-20 07:47:48 +00:00
Daniel Dunbar
e1889f935a
ccc: Basic translation of gcc subtarget feature options to LLVM
...
options (i.e., -mno-red-zone, -msoft-float, -mno-sse, etc.)
- Also, make sure unwind tables default to on Darwin/x86_64.
- PR3604.
llvm-svn: 65118
2009-02-20 07:35:04 +00:00
Chris Lattner
52e8d4cc5d
make these tests pass when run on a G5.
...
llvm-svn: 65117
2009-02-20 07:10:11 +00:00
Daniel Dunbar
b9b440cde6
ccc: Use toolchain hook for default relocation model value.
...
llvm-svn: 65116
2009-02-20 06:48:26 +00:00
Daniel Dunbar
e4be42c17f
Add some stdlib builtins
...
llvm-svn: 65115
2009-02-20 06:36:40 +00:00
Chris Lattner
90669d0500
switch ObjCMethodDecl's parameter list from being explicitly managed to an ObjCList.
...
llvm-svn: 65114
2009-02-20 06:23:21 +00:00
Chris Lattner
fa62dc3483
switch the interface ivar list from being explicitly managed to using ObjCList.
...
llvm-svn: 65113
2009-02-20 06:10:45 +00:00
Chris Lattner
8d10c11606
move more objc destruction out of dtors into Destroy.
...
llvm-svn: 65112
2009-02-20 06:03:09 +00:00