Jakob Stoklund Olesen
7ef502f6d1
Delete the 'standard' spiller with used the old spilling framework.
...
The current register allocators all use the inline spiller.
llvm-svn: 144477
2011-11-12 23:29:02 +00:00
Jakob Stoklund Olesen
11bb63a756
Switch PBQP to the modern InlineSpiller framework.
...
It is worth noting that the old spiller would split live ranges around
basic blocks. The new spiller doesn't do that.
PBQP should do its own live range splitting with
SplitEditor::splitSingleBlock() if desired. See
RAGreedy::tryBlockSplit().
llvm-svn: 144476
2011-11-12 23:17:52 +00:00
Jakob Stoklund Olesen
e7e50e6f45
Delete the linear scan register allocator.
...
RegAllocGreedy has been the default for six months now.
Deleting RegAllocLinearScan makes it possible to also delete
VirtRegRewriter and clean up the spiller code.
llvm-svn: 144475
2011-11-12 22:39:45 +00:00
Jakob Stoklund Olesen
ce4ef9f8d5
Remove histogram tests.
...
Counting the number of occurences of each opcode is not a useful test.
llvm-svn: 144474
2011-11-12 22:39:40 +00:00
Jakob Stoklund Olesen
0eac531bc2
RAGreedy is better about hinting now.
...
Or maybe we are just getting lucky.
llvm-svn: 144473
2011-11-12 22:39:37 +00:00
Jakob Stoklund Olesen
8ec1a92afd
Linear scan is going away.
...
llvm-svn: 144472
2011-11-12 22:39:34 +00:00
Jakob Stoklund Olesen
654d60888e
XFAIL test that depends on linear scan to remove dead code.
...
Filed PR11364 to track the problem. Should the register allocator
eliminate dead code?
llvm-svn: 144471
2011-11-12 22:39:30 +00:00
Jakob Stoklund Olesen
fa3a8ee6e2
Remove obsolete test.
...
This test was committed with a bugfix to RemoveCopyByCommutingDef, but
that optimization is no longer triggered by this test.
llvm-svn: 144470
2011-11-12 22:39:27 +00:00
Jakob Stoklund Olesen
80b3d299a9
Remove obsolete test.
...
This test is for a very specific LocalRewriter bug. LocalRewriter is
going away.
llvm-svn: 144469
2011-11-12 22:39:24 +00:00
Richard Smith
ce40ad677e
Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr
...
or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to
static member functions and static data members are now emitted as constant
expressions.
llvm-svn: 144468
2011-11-12 22:28:03 +00:00
Argyrios Kyrtzidis
f9d0f4744e
[PCH] Fix the test.
...
llvm-svn: 144467
2011-11-12 21:07:54 +00:00
Argyrios Kyrtzidis
0ca3a8b6ef
Add a method in ASTMutationListener for the last use of Decl's [is/set]ChangedSinceDeserialization
...
and remove them.
llvm-svn: 144466
2011-11-12 21:07:52 +00:00
Argyrios Kyrtzidis
b97a4025ff
[PCH] When completing an objc forward reference, do not serialize the chain of its categories because
...
it is going to be rewritten (and the chain will be serialized again), otherwise we may form a cycle in its
categories list when deserializing.
Also introduce ASTMutationListener::CompletedObjCForwardRef to notify that a forward reference
was completed; using Decl's isChangedSinceDeserialization/setChangedSinceDeserialization
is bug inducing and kinda gross, we should phase it out.
Fixes infinite loop in rdar://10418538.
llvm-svn: 144465
2011-11-12 21:07:46 +00:00
David Blaikie
256ee1963d
Remove unnecessary 'else's after 'return's.
...
llvm-svn: 144464
2011-11-12 20:54:14 +00:00
Jakob Stoklund Olesen
0c7d9d90ef
Remove obsolete test.
...
I don't think this test does what is was supposed to do, and
LocalRewriter is going away anyway.
llvm-svn: 144463
2011-11-12 20:37:57 +00:00
Jakob Stoklund Olesen
126f9779c3
Eliminate more linear scan tests.
...
llvm-svn: 144462
2011-11-12 20:35:26 +00:00
Jakob Stoklund Olesen
9d090daa33
Switch a couple -O0 tests to RABasic.
...
llvm-svn: 144461
2011-11-12 20:11:04 +00:00
Jakob Stoklund Olesen
4deff7bc1d
Switch a few tests off linearscan.
...
llvm-svn: 144460
2011-11-12 19:53:52 +00:00
Jakob Stoklund Olesen
6ac6aa782d
Delete old test of a VirtRegRewriter feature.
...
This test doesn't expose the issue with RAGreedy.
I filed PR11363 to track the missing InlineSpiller feature.
llvm-svn: 144459
2011-11-12 19:53:48 +00:00
Jakob Stoklund Olesen
74d091b395
Remove old test that doesn't make sense.
...
The test is checking that the output doesn't contains any 'mov '
strings. It does contain movl, though.
llvm-svn: 144458
2011-11-12 19:53:45 +00:00
Craig Topper
3dc75f9e3b
Add more AVX2 shift lowering support. Move AVX2 variable shift to use patterns instead of custom lowering code.
...
llvm-svn: 144457
2011-11-12 09:58:49 +00:00
Eli Friedman
47133bed4a
Add missing casts to AST.
...
llvm-svn: 144455
2011-11-12 03:56:23 +00:00
Nick Lewycky
d48ab84556
Don't try to loop on iterators that are potentially invalidated inside the loop. Fixes PR11361!
...
llvm-svn: 144454
2011-11-12 03:09:12 +00:00
Akira Hatanaka
77733535eb
Fix typo.
...
llvm-svn: 144453
2011-11-12 02:38:12 +00:00
Akira Hatanaka
19891f843c
Implement Mips64's handling of byval arguments in LowerCall.
...
llvm-svn: 144452
2011-11-12 02:34:50 +00:00
Sean Callanan
0772ae1b53
Fixed the MCJIT so that it can emit not only instance
...
methods but also class methods for Objective-C.
Clang emits Objective-C method names with '\1' at the
beginning, and the JIT has pre-existing logic to try
prepending a '\1' when searching a module for an
instance method (that is, a method whose name begins
with '-'). I simply extended it to do the same thing
when it encountered a class method (a method whose
name begins with '+').
llvm-svn: 144451
2011-11-12 02:31:32 +00:00
Johnny Chen
10d7e4fe59
Make the test case more robust by using line number to break, instead.
...
llvm-svn: 144450
2011-11-12 02:30:23 +00:00
Akira Hatanaka
fb9bae34da
Implement Mips64's handling of byval arguments in LowerFormalArguments.
...
llvm-svn: 144449
2011-11-12 02:29:58 +00:00
Akira Hatanaka
5ed07c03f4
64-bit arbitrary immediate pattern.
...
llvm-svn: 144448
2011-11-12 02:25:00 +00:00
Akira Hatanaka
202f6400ef
Function for handling byval arguments.
...
llvm-svn: 144447
2011-11-12 02:20:46 +00:00
Argyrios Kyrtzidis
3e429e7cc4
[libclang] Further simplify the indexing API.
...
That stuff can be added later on if we need them.
Also add some const goodness.
llvm-svn: 144446
2011-11-12 02:16:30 +00:00
Daniel Dunbar
415ecbc34a
LLVMBuild: Add info for gtest.
...
llvm-svn: 144445
2011-11-12 02:11:04 +00:00
Daniel Dunbar
52823cc91c
build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies.
...
- The hope is that we have a tool/test to verify these are accurate (and tight) soon.
llvm-svn: 144444
2011-11-12 02:10:57 +00:00
Greg Clayton
c9ed478a39
Added the ability to run a process in a shell on MacOSX currently when using
...
the --tty option. So you can now get shell expansion and file redirection:
(lldb) process launch --tty --shell -- *.jpg < in.txt > out.txt
Again, the "--tty" is mandatory for now until we hook this up to other
functions. The shell is also currently hard coded to "/bin/bash" and not the
"SHELL" variable. "/bin/tcsh" was causing problems which I need to dig into.
llvm-svn: 144443
2011-11-12 02:10:56 +00:00
Eli Friedman
ecb453805d
Make sure scalarrepl picks the correct alloca when it rewrites a bitcast. Fixes PR11353.
...
llvm-svn: 144442
2011-11-12 02:07:50 +00:00
Rafael Espindola
e7cc8bff82
The dwarf standard says that the only differences between a out-of-line
...
instance and a concrete inlined instance are the use of DW_TAG_subprogram
instead of DW_TAG_inlined_subroutine and the who owns the tree.
We were also omitting DW_AT_inline from the abstract roots. To fix this,
make sure we mark abstract instance roots with DW_AT_inline even when
we have only out-of-line instances referring to them with DW_AT_abstract_origin.
FileCheck is not a very good tool for tests like this, maybe we should add
a -verify mode to llvm-dwarfdump.
llvm-svn: 144441
2011-11-12 01:57:54 +00:00
Jim Ingham
e3ae82af89
Add code that reads the APPLE_property debug info, and makes up properties from them.
...
llvm-svn: 144440
2011-11-12 01:36:43 +00:00
Jim Grosbach
3a3d8e82bc
ARM refactor simple immediate asm operand render methods.
...
These immediate operands all use the same simple logic for rendering to
MCInst, so have them share the method for doing so.
llvm-svn: 144439
2011-11-12 00:58:43 +00:00
Eli Friedman
9d448e4a42
Don't try to form pre/post-indexed loads/stores until after LegalizeDAG runs. Fixes PR11029.
...
llvm-svn: 144438
2011-11-12 00:35:34 +00:00
Jim Grosbach
8ca13deecf
Re-apply 144430, this time with the associated isel and disassmbler bits.
...
Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437
2011-11-12 00:31:53 +00:00
Douglas Gregor
0daa607f55
Tweak the module map file test slightly, by putting one of the headers
...
into a submodule. Submodules aren't actually supported anywhere else,
but we do parse them, so this verifies that we're at least seeing
through them properly.
llvm-svn: 144436
2011-11-12 00:24:49 +00:00
Douglas Gregor
80b6904baf
Implement a minor optimization when loading module maps to satisfy a
...
module import: don't re-check for a loaded module unless we've
actually loaded a new module map file. Already-loaded module map files
aren't interesting.
llvm-svn: 144435
2011-11-12 00:22:19 +00:00
Daniel Dunbar
48032f9cde
build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than
...
ARCH, which gets tested in many more contexts.
llvm-svn: 144434
2011-11-12 00:18:02 +00:00
Douglas Gregor
af28ec80a3
When searching for a module, speculatively load module maps to see if
...
the module is described in one of the module maps in a search path or
in a subdirectory off the search path that has the same name as the
module we're looking for.
llvm-svn: 144433
2011-11-12 00:05:07 +00:00
Eli Friedman
1347715644
Some cleanup and bulletproofing for node replacement in LegalizeDAG. To maintain LegalizeDAG invariants, whenever we a node is replaced, we must attempt to delete it, and if it still
...
has uses after it is replaced (which can happen in rare cases due to CSE), we must revisit it.
llvm-svn: 144432
2011-11-11 23:58:27 +00:00
Jim Grosbach
155763b630
Oops. Missed the isel half of this. revert while I sort that out.
...
llvm-svn: 144431
2011-11-11 23:51:31 +00:00
Jim Grosbach
28f721a2b4
ARM assembly parsing for VST1 two-register encoding.
...
llvm-svn: 144430
2011-11-11 23:45:47 +00:00
Daniel Dunbar
4d32481618
build/Make: Tweak Clang include paths to use LLVM_{SRC,OBJ}_ROOT instead of
...
level based, so that lldb itself can be a symlink inside the tools dir.
llvm-svn: 144429
2011-11-11 23:36:19 +00:00
Eli Friedman
b29c8d55b9
Make test compatible with ARM hosts.
...
llvm-svn: 144428
2011-11-11 23:36:04 +00:00
Jim Grosbach
609d113874
ARM optional size suffix for VLDR/VSTR syntax.
...
llvm-svn: 144427
2011-11-11 23:34:43 +00:00