Gabor Greif
9c83bf222d
add missing header
...
llvm-svn: 80228
2009-08-27 07:10:46 +00:00
Gabor Greif
1c62958901
the buildbots revealed one more breakage. fix. (why didn't I see this?)
...
llvm-svn: 80227
2009-08-27 06:59:20 +00:00
Zhongxing Xu
3ca89b9f20
Remove a unused member variable. Instead query the option from AnalysisManager.
...
llvm-svn: 80226
2009-08-27 06:55:26 +00:00
Gabor Greif
f7095b0ae9
iterator.h is no more. Be standards compliant.
...
llvm-svn: 80225
2009-08-27 06:49:21 +00:00
Gabor Greif
95225a2fe6
Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)
...
llvm-svn: 80224
2009-08-27 06:41:46 +00:00
Chris Lattner
d3374e8dfd
Implement a new optimization in the inliner: if inlining multiple
...
calls into a function and if the calls bring in arrays, try to merge
them together to reduce stack size. For example, in the testcase
we'd previously end up with 4 allocas, now we end up with 2 allocas.
As described in the comments, this is not really the ideal solution
to this problem, but it is surprisingly effective. For example, on
176.gcc, we end up eliminating 67 arrays at "gccas" time and another
24 at "llvm-ld" time.
One piece of concern that I didn't look into: at -O0 -g with
forced inlining this will almost certainly result in worse debug
info. I think this is acceptable though given that this is a case
of "debugging optimized code", and we don't want debug info to
prevent the optimizer from doing things anyway.
llvm-svn: 80215
2009-08-27 06:29:33 +00:00
Chris Lattner
6802a2056a
the inliner shouldn't crash on this.
...
llvm-svn: 80214
2009-08-27 06:20:45 +00:00
Daniel Dunbar
a1cb9ba541
For now, only run MC tests if X86 is configured.
...
llvm-svn: 80213
2009-08-27 06:11:15 +00:00
Douglas Gregor
e985a3b724
When checking whether one declaration context encloses another, make sure to look at the primary contexts. Thanks to Eli for the test case
...
llvm-svn: 80212
2009-08-27 06:03:53 +00:00
Anders Carlsson
35d6e3e710
Don't check member and base initializers if the constructor is dependent.
...
llvm-svn: 80211
2009-08-27 05:57:30 +00:00
Bill Wendling
10cdbd3b73
This is passing for PPC on Mac OS X.
...
llvm-svn: 80210
2009-08-27 05:49:50 +00:00
Anders Carlsson
e0eebb3ee4
Use early returns to avoid indentation.
...
llvm-svn: 80209
2009-08-27 05:45:01 +00:00
Bill Wendling
51c58b8131
Revert accidental commit.
...
llvm-svn: 80208
2009-08-27 05:35:28 +00:00
Eli Friedman
561154dd6b
Stub out an error so we don't crash.
...
llvm-svn: 80207
2009-08-27 05:09:36 +00:00
Anders Carlsson
574315a0fa
Add a BuildCXXTemporaryObjectExpr and use it so default arguments will be instantiated correctly for temporary object expressions.
...
llvm-svn: 80206
2009-08-27 05:08:22 +00:00
Chris Lattner
1ce61b82ac
unbreak the build, yay for symlinks + makefiles. :(
...
llvm-svn: 80205
2009-08-27 04:43:05 +00:00
Chris Lattner
b9d0a961f9
reduce header #include'age
...
llvm-svn: 80204
2009-08-27 04:32:07 +00:00
Chris Lattner
b1cba3f91e
enhance InlineFunction to be able to optionally return
...
a the list of static allocas that it inlined.
llvm-svn: 80203
2009-08-27 04:20:52 +00:00
Chris Lattner
d84dbb3443
smallvectorize the list of returns built by CloneAndPruneFunctionInto.
...
llvm-svn: 80202
2009-08-27 04:02:30 +00:00
Chris Lattner
9d0235dc6b
remove CloneTrace, which appears to be dead since 2004.
...
llvm-svn: 80201
2009-08-27 03:56:43 +00:00
Anders Carlsson
55243168df
In ActOnCXXTypeConstructExpr, check that the type is complete and non-abstract before creating any expressions. This assures that any templates are instantiated if necessary.
...
llvm-svn: 80200
2009-08-27 03:53:50 +00:00
Chris Lattner
5eef6ad6a9
reduce inlining factor some stuff out to a static helper function,
...
and other code cleanups. No functionality change.
llvm-svn: 80199
2009-08-27 03:51:50 +00:00
Bill Wendling
e5b5d293e9
Revert accidental commit.
...
llvm-svn: 80198
2009-08-27 03:32:50 +00:00
Bill Wendling
c7d230f736
--- Reverse-merging r80147 into '.':
...
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in
Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.
Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.
llvm-svn: 80197
2009-08-27 03:29:26 +00:00
Dan Gohman
352a49586d
Add some checks for MachineCFG consistency. Use AnalyzeBranch and
...
do extra checking when it succeeds, as those are cases where
CodeGen will be doing particularly interesting CFG modifications.
llvm-svn: 80196
2009-08-27 02:43:49 +00:00
Daniel Dunbar
9cefb135a5
Update CMake
...
llvm-svn: 80195
2009-08-27 02:08:37 +00:00
Ted Kremenek
907a711f60
Simplify 'Environment' to contain only one map from 'const Stmt*' to SVals, greatly simplifying the logic of the analyzer in many places. We now only distinguish between block-level expressions and subexpressions in Environment::RemoveDeadBindings and GRState pretty-printing.
...
llvm-svn: 80194
2009-08-27 01:39:13 +00:00
Daniel Dunbar
81cb753298
llvm-mc: Tweak MCCodeEmitter skeleton.
...
llvm-svn: 80193
2009-08-27 01:34:22 +00:00
Dan Gohman
fb3d84b524
Initialize the PoisonMemory member before initializing
...
members that call methods that read the PoisonMemory member.
This fixes potential spurious (though probably otherwise
harmless) poising of unused memory, and fixes the
associated valgrind error.
llvm-svn: 80192
2009-08-27 01:25:57 +00:00
Evan Cheng
7a37b1a2ca
Fix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot fold any immediate offset.
...
llvm-svn: 80191
2009-08-27 01:23:50 +00:00
Daniel Dunbar
ab3912f55b
Add missing declarations.
...
llvm-svn: 80190
2009-08-27 01:15:54 +00:00
Mike Stump
b414ef6f18
Testcase for an almost recent checkin.
...
llvm-svn: 80189
2009-08-27 01:09:45 +00:00
Daniel Dunbar
65105174a6
Sketch TargetRegistry support for MCCodeEmitter abstract interface.
...
- Of course, nothing actually can provide this interface yet.
llvm-svn: 80188
2009-08-27 00:51:57 +00:00
Daniel Dunbar
47f11ac5b5
Try to make MSVC just a little happier.
...
llvm-svn: 80187
2009-08-27 00:38:04 +00:00
Dan Gohman
7f0ca9a34c
X86FastISel support for loading and storing values of type i1.
...
llvm-svn: 80186
2009-08-27 00:31:47 +00:00
Mike Stump
a5f00ef372
Cleanups.
...
llvm-svn: 80185
2009-08-27 00:29:21 +00:00
Dan Gohman
f1abb5511b
Expand i8 selects into control flow instead of 16-bit conditional
...
moves. This avoids the need to promote the operands (or implicitly
extend them, a partial register update condition), and can reduce
i8 register pressure. This substantially speeds up code such as
write_hex in lib/Support/raw_ostream.cpp.
subclass-coalesce.ll is too trivial and no longer tests what it was
originally intended to test.
llvm-svn: 80184
2009-08-27 00:14:12 +00:00
Anders Carlsson
eabf770457
New RequireNonAbstractType function.
...
llvm-svn: 80183
2009-08-27 00:13:57 +00:00
Anders Carlsson
d624e16833
Bye-bye old RequireCompleteType.
...
llvm-svn: 80182
2009-08-26 23:45:07 +00:00
Mike Stump
a0d0e6fcb1
Fixup codegen for static dispatch to a virtual function that was
...
almost correct. :-)
llvm-svn: 80181
2009-08-26 23:38:08 +00:00
Gabor Greif
9bd34b3c40
now that include/llvm/ADT/iterator.h.in is not attempted to be built, its prerequisite can go away too
...
llvm-svn: 80180
2009-08-26 23:35:33 +00:00
Douglas Gregor
73cc2e550d
Tweak the list of open projects for C++
...
llvm-svn: 80179
2009-08-26 23:34:30 +00:00
Fariborz Jahanian
c71f094c08
ir-gen for type convesion of class objects. WIP.
...
llvm-svn: 80178
2009-08-26 23:31:30 +00:00
Douglas Gregor
ce2a5e18f2
Make sure to bump the reference count of the last element in the ParenListExpr representing the direct initializer of a declaration
...
llvm-svn: 80177
2009-08-26 23:26:04 +00:00
Daniel Dunbar
b039caa1c3
Simplify.
...
llvm-svn: 80176
2009-08-26 23:12:33 +00:00
Anders Carlsson
3c912f66c8
Remove another unused argument.
...
llvm-svn: 80175
2009-08-26 23:00:36 +00:00
Anders Carlsson
029fc690d3
Remove the PrintType argument from RequireCompleteType.
...
llvm-svn: 80174
2009-08-26 22:59:12 +00:00
Douglas Gregor
985c9f418a
Regenerate configure
...
llvm-svn: 80173
2009-08-26 22:59:05 +00:00
Gabor Greif
a9ced1d3ae
eliminate references to ADT/iterator.h
...
llvm-svn: 80171
2009-08-26 22:55:19 +00:00
Owen Anderson
109ca5a14a
Make this into a static method.
...
llvm-svn: 80170
2009-08-26 22:55:11 +00:00