Eric Christopher
4a0b108f33
Apparently this is needed for llvm-link to link.
...
Untested.
llvm-svn: 112029
2010-08-25 06:45:22 +00:00
Eric Christopher
7637f43217
Allow strict subclasses of register classes, this way we can handle
...
ARM instructions with:
foo GPR, rGPR
which happens a lot.
llvm-svn: 112025
2010-08-25 04:58:56 +00:00
Daniel Dunbar
ff2830f285
buildbot/valgrind: Ignore leaks in /usr/bin/as.
...
llvm-svn: 112022
2010-08-25 03:40:20 +00:00
Bruno Cardoso Lopes
af72dd7362
PUNPCKLDQ should also be used for v4f32
...
llvm-svn: 112020
2010-08-25 02:55:40 +00:00
Bruno Cardoso Lopes
33aa4f7d1c
teach lowering to get target specific nodes for pshufd, emulating the same isel behavior for now, so we can pass all vector shuffle tests
...
llvm-svn: 112017
2010-08-25 02:35:37 +00:00
Bruno Cardoso Lopes
c51b6e98c7
Convert test to use filecheck and make it more specific
...
llvm-svn: 112016
2010-08-25 01:47:16 +00:00
Owen Anderson
e0cdfa265a
In the default address space, any GEP off of null results in a trap value if you try to load it. Thus,
...
any load in the default address space that completes implies that the base value that it GEP'd from
was not null.
llvm-svn: 112015
2010-08-25 01:16:47 +00:00
Eric Christopher
70a1a20101
Split out register class subclassing to a separate function and clean up
...
accordingly. No functional change.
llvm-svn: 112008
2010-08-25 00:41:18 +00:00
Eric Christopher
109fe5d8f8
Fix comment.
...
llvm-svn: 111996
2010-08-24 23:21:59 +00:00
Dan Gohman
6e1e480f13
Don't include the is-function-local bit in the FoldingSetNodeID
...
for MDNodes, since this information is effectively implied by
the operands. This allow allows the code to avoid doing a
recursive is-it-really-function-local check in some cases.
llvm-svn: 111995
2010-08-24 23:21:12 +00:00
Chris Lattner
29cbd8d71c
split the vector case of getCopyFromParts out to its own function,
...
no functionality change.
llvm-svn: 111994
2010-08-24 23:20:40 +00:00
Dan Gohman
8d2ed57538
Use Bits.data() instead of &Bits[0].
...
llvm-svn: 111993
2010-08-24 23:16:53 +00:00
Chris Lattner
ba2d0c8cca
split the vector case out of getCopyToParts into its own function. No
...
functionality change.
llvm-svn: 111990
2010-08-24 23:10:06 +00:00
Chris Lattner
6246ba23da
tidy up, reduce indentation
...
llvm-svn: 111982
2010-08-24 22:43:11 +00:00
Eric Christopher
a2d3859ee7
Fix predicate and add a comment.
...
llvm-svn: 111981
2010-08-24 22:34:11 +00:00
Eric Christopher
5477fa47fd
Rework braindead conditionals I put in yesterday.
...
llvm-svn: 111974
2010-08-24 22:07:27 +00:00
Eric Christopher
10422f70dc
Fix thumb2 mode loads to have the correct operand ordering. Add a todo
...
to fix this in the port.
llvm-svn: 111973
2010-08-24 22:03:02 +00:00
Owen Anderson
5362513cf2
NULL loads are only invalid in the default address space.
...
llvm-svn: 111972
2010-08-24 22:00:55 +00:00
Owen Anderson
5acb4e1218
Add support for inferring values for the default cases of switches.
...
llvm-svn: 111971
2010-08-24 21:59:42 +00:00
Jim Grosbach
1b102f0b63
Add ARM heuristic for when to allocate a virtual base register for stack
...
access. rdar://8277890&7352504
llvm-svn: 111968
2010-08-24 21:19:33 +00:00
Kevin Enderby
bb121d1dc2
Change the parsing of .loc back to allow the LineNumber field to be optional as
...
it is with other assemblers.
llvm-svn: 111967
2010-08-24 21:14:47 +00:00
Michael J. Spencer
526e183800
Fix COFF x86-64 relocations. PR7960.
...
Multiple symbol reloc handling part of the patch by Cameron Esfahani.
llvm-svn: 111963
2010-08-24 21:04:52 +00:00
Dan Gohman
cf8975d0ec
XFAIL this on mingw, following remove_arguments_test.ll.
...
llvm-svn: 111962
2010-08-24 20:54:50 +00:00
Owen Anderson
4db6284783
Add support for inferring that a load from a pointer implies that it is not null.
...
llvm-svn: 111959
2010-08-24 20:47:29 +00:00
Kevin Enderby
024b04ad93
First bit of support for the dwarf .loc directive. This patch updates the
...
needed parsing for the .loc directive and saves the current info from that
into the context. The next patch will take the current loc info after an
instruction is assembled and save that info into a vector for each section for
use to build the line number tables. The patch after that will encode the info
from those vectors into the output file as the dwarf line tables.
llvm-svn: 111956
2010-08-24 20:32:42 +00:00
Dan Gohman
a22c589850
Add a testcase for basic bugpointing in the presence of metadata.
...
llvm-svn: 111955
2010-08-24 20:23:51 +00:00
Bill Wendling
9e3d8d1a60
- Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
...
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.
llvm-svn: 111952
2010-08-24 20:00:52 +00:00
Daniel Dunbar
b96b0c40d3
MC/X86: Tweak imul recognition, previous hack only applies for the imul form
...
taking immediates.
llvm-svn: 111950
2010-08-24 19:37:56 +00:00
Dan Gohman
2dfd959d32
Link NamedMDNodes after linking GlobalValues, so that MDNodes
...
which reference GlobalValues are properly remapped.
llvm-svn: 111949
2010-08-24 19:37:11 +00:00
Dan Gohman
dbd04d0886
When linking NamedMDNodes, remap their operands.
...
llvm-svn: 111948
2010-08-24 19:31:04 +00:00
Daniel Dunbar
3b74f75d13
MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends.
...
llvm-svn: 111947
2010-08-24 19:24:18 +00:00
Daniel Dunbar
bd6901864b
MC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
...
dollars in identifiers.
llvm-svn: 111946
2010-08-24 19:13:42 +00:00
Daniel Dunbar
75e77b0063
MC/X86: Warn on scale factors > 1 without index register, instead of erroring,
...
for 'as' compatibility.
llvm-svn: 111945
2010-08-24 19:13:38 +00:00
Jim Grosbach
0c3eb7ca50
Move enabling the local stack allocation pass into the target where it belongs.
...
For now it's still a command line option, but the interface to the generic
code doesn't need to know that.
llvm-svn: 111942
2010-08-24 19:05:43 +00:00
Dan Gohman
30fd721e48
Use MapValue in the Linker instead of having a private function
...
which does the same thing. This eliminates redundant code and
handles MDNodes better. MDNode linking still doesn't fully
work yet though.
llvm-svn: 111941
2010-08-24 18:50:07 +00:00
Daniel Dunbar
7859dfd71b
MC/Parser: Accept leading dollar signs in identifiers.
...
- Implemented by manually splicing the tokens. If this turns out to be
problematically platform specific, a more elegant solution would be to
implement some context dependent lexing support.
llvm-svn: 111934
2010-08-24 18:12:12 +00:00
Dan Gohman
c4d5e30436
Don't cast away qualifiers with C-style casts.
...
llvm-svn: 111933
2010-08-24 18:09:44 +00:00
Jim Grosbach
a110ecf96a
add ARM cmd line option to force always using virtual base regs when possible.
...
Intended to help ease reproducing problems by increasing base register usage
after heuristics for only using the when needed are in place.
llvm-svn: 111930
2010-08-24 18:04:52 +00:00
Chris Lattner
a97cbccf90
Apply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
...
patch by NAKAMURA Takumi!
llvm-svn: 111929
2010-08-24 17:44:07 +00:00
Benjamin Kramer
958ba693b5
Relocate against parent if the symbol is not in section or it's a common symbol, from Roman Divacky.
...
llvm-svn: 111925
2010-08-24 17:34:39 +00:00
Owen Anderson
a4d73e6be9
Turn LVI on, previously detected failures should be fixed now.
...
llvm-svn: 111923
2010-08-24 17:21:18 +00:00
Dan Gohman
5cbd5888e7
MapValue support for MDNodes. This is similar to r109117, except
...
that it avoids a lot of unnecessary cloning by avoiding remapping
MDNode cycles when none of the nodes in the cycle actually need to
be remapped. Also it uses the new temporary MDNode mechanism.
llvm-svn: 111922
2010-08-24 17:10:10 +00:00
Dan Gohman
e400c660e4
Fix X86's isLegalAddressingMode to recognize that static addresses
...
need not be RIP-relative in small mode.
llvm-svn: 111917
2010-08-24 15:55:12 +00:00
Dan Gohman
50869535fc
MDNode, MDString, and NamedMDNode are not meant to be subclassed;
...
make their protected members private. And remove an unnecessary
explicit keyword.
llvm-svn: 111915
2010-08-24 15:34:03 +00:00
Dan Gohman
afd801ac45
Add a comment explaining why this code doesn't just call
...
ParseMetadataValue.
llvm-svn: 111914
2010-08-24 14:35:45 +00:00
Dan Gohman
979850aeb6
Add a comment explaining why this code is more complex than it
...
initially seems it should require.
llvm-svn: 111913
2010-08-24 14:31:06 +00:00
Kalle Raiskila
1be8a5f947
Fix SPU BE to use all the available return registers.
...
llc used to assert on the added testcase.
llvm-svn: 111911
2010-08-24 11:50:48 +00:00
Kalle Raiskila
ef9e592448
Remove some dead code from SPU BE that remained
...
from 64bit vector support.
llvm-svn: 111910
2010-08-24 11:05:51 +00:00
John McCall
4e49cb4a11
Check in a couple of changes that I apparently never committed:
...
- teach DifferenceEngine to unify successors of calls and invokes
in certain circumstances
- basic blocks actually don't have their own numbering; did that change?
- add llvm-diff to the Makefile and CMake build systems
llvm-svn: 111909
2010-08-24 09:16:51 +00:00
Owen Anderson
cb599851f2
Don't assume that all constants with integer types are ConstantInts.
...
llvm-svn: 111906
2010-08-24 07:55:44 +00:00