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
Bob Wilson
904d4c71d5
Fix bad length argument to substr calls. Apparently I'm the first one to
...
attempt more than 2 constraints on an instruction.
llvm-svn: 80169
2009-08-26 22:50:39 +00:00
Daniel Dunbar
4d7b2e3307
llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
...
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.
llvm-svn: 80168
2009-08-26 22:49:51 +00:00
Douglas Gregor
c190523d7a
When a member reference expression includes a qualifier on the member
...
name, e.g.,
x->Base::f()
retain the qualifier (and its source range information) in a new
subclass of MemberExpr called CXXQualifiedMemberExpr. Provide
construction, transformation, profiling, printing, etc., for this new
expression type.
When a virtual function is called via a qualified name, don't emit a
virtual call. Instead, call that function directly. Mike, could you
add a CodeGen test for this, too?
llvm-svn: 80167
2009-08-26 22:36:53 +00:00
Ted Kremenek
b60d87c517
Add initial boilerplate for CIndex, a shared library that will vend high-level
...
source symbol information (harvested by Clang) through a C API.
llvm-svn: 80166
2009-08-26 22:36:44 +00:00
Anders Carlsson
f68079e77b
Add a RequireCompleteType variant that takes a PartialDiagnostic. The old RequireCompleteType now creates a PartialDiagnostic and calls the new function.
...
llvm-svn: 80165
2009-08-26 22:33:56 +00:00
Anders Carlsson
4fa923c5bc
The PartialDiagnostic constructor doesn't need to be explicit.
...
llvm-svn: 80164
2009-08-26 22:31:44 +00:00
Mike Stump
3722f5896c
Regularize the case and sort.
...
llvm-svn: 80163
2009-08-26 22:31:08 +00:00
Daniel Dunbar
e73b267301
llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
...
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).
llvm-svn: 80162
2009-08-26 22:13:22 +00:00
Douglas Gregor
7e3778948a
De-bork CMake build
...
llvm-svn: 80161
2009-08-26 22:12:02 +00:00
Anders Carlsson
024ef42ed8
More improvements to PartialDiagnostic.
...
llvm-svn: 80158
2009-08-26 21:48:37 +00:00
Eric Christopher
9233565a0a
Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
...
personality function.
llvm-svn: 80153
2009-08-26 21:44:57 +00:00
Gabor Greif
36595c8653
nobody includes llvm/ADT/iterator.h any more,
...
so get rid of this monstrosity. iterator.h.in is scheduled for deletion in my working copy,
but I wait till I see that configure gets regenerated, as it depends on it. I'll commit
then.
There are still some AC_* tests in the configure.ac dealing with iterators, those can
be zapped probably too.
llvm-svn: 80147
2009-08-26 21:36:59 +00:00
Eric Christopher
a258c62ea1
If we're emitting additional CIEs due to personality functions
...
don't emit the default one. Explicitly check for the NULL
CIE later.
llvm-svn: 80146
2009-08-26 21:30:49 +00:00
Eric Christopher
c2645717ca
Nuke trailing whitespace.
...
llvm-svn: 80145
2009-08-26 21:27:09 +00:00
Daniel Dunbar
e2697738a4
llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.
...
llvm-svn: 80144
2009-08-26 21:22:22 +00:00
Douglas Gregor
402250f2f9
Implement support for C++ direct initializers that involve dependent
...
types or type-dependent expressions.
llvm-svn: 80143
2009-08-26 21:14:46 +00:00
Mike Stump
849416a388
More work for conversion functions.
...
llvm-svn: 80142
2009-08-26 21:11:25 +00:00