oota-llvm.git
13 years agoMake this testcase actually executed with fast-isel on arm.
Eric Christopher [Wed, 25 Aug 2010 07:47:00 +0000 (07:47 +0000)]
Make this testcase actually executed with fast-isel on arm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112033 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReorganize load mechanisms. Handle types in a little less fixed way.
Eric Christopher [Wed, 25 Aug 2010 07:23:49 +0000 (07:23 +0000)]
Reorganize load mechanisms. Handle types in a little less fixed way.
Fix some todos.  No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112031 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoApparently this is needed for llvm-link to link.
Eric Christopher [Wed, 25 Aug 2010 06:45:22 +0000 (06:45 +0000)]
Apparently this is needed for llvm-link to link.

Untested.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112029 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAllow strict subclasses of register classes, this way we can handle
Eric Christopher [Wed, 25 Aug 2010 04:58:56 +0000 (04:58 +0000)]
Allow strict subclasses of register classes, this way we can handle
ARM instructions with:

foo GPR, rGPR

which happens a lot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112025 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agobuildbot/valgrind: Ignore leaks in /usr/bin/as.
Daniel Dunbar [Wed, 25 Aug 2010 03:40:20 +0000 (03:40 +0000)]
buildbot/valgrind: Ignore leaks in /usr/bin/as.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112022 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPUNPCKLDQ should also be used for v4f32
Bruno Cardoso Lopes [Wed, 25 Aug 2010 02:55:40 +0000 (02:55 +0000)]
PUNPCKLDQ should also be used for v4f32

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112020 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoteach lowering to get target specific nodes for pshufd, emulating the same isel behav...
Bruno Cardoso Lopes [Wed, 25 Aug 2010 02:35:37 +0000 (02:35 +0000)]
teach lowering to get target specific nodes for pshufd, emulating the same isel behavior for now, so we can pass all vector shuffle tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112017 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoConvert test to use filecheck and make it more specific
Bruno Cardoso Lopes [Wed, 25 Aug 2010 01:47:16 +0000 (01:47 +0000)]
Convert test to use filecheck and make it more specific

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112016 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoIn the default address space, any GEP off of null results in a trap value if you...
Owen Anderson [Wed, 25 Aug 2010 01:16:47 +0000 (01:16 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112015 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSplit out register class subclassing to a separate function and clean up
Eric Christopher [Wed, 25 Aug 2010 00:41:18 +0000 (00:41 +0000)]
Split out register class subclassing to a separate function and clean up
accordingly.  No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112008 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix comment.
Eric Christopher [Tue, 24 Aug 2010 23:21:59 +0000 (23:21 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111996 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't include the is-function-local bit in the FoldingSetNodeID
Dan Gohman [Tue, 24 Aug 2010 23:21:12 +0000 (23:21 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111995 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agosplit the vector case of getCopyFromParts out to its own function,
Chris Lattner [Tue, 24 Aug 2010 23:20:40 +0000 (23:20 +0000)]
split the vector case of getCopyFromParts out to its own function,
no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111994 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse Bits.data() instead of &Bits[0].
Dan Gohman [Tue, 24 Aug 2010 23:16:53 +0000 (23:16 +0000)]
Use Bits.data() instead of &Bits[0].

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111993 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agosplit the vector case out of getCopyToParts into its own function. No
Chris Lattner [Tue, 24 Aug 2010 23:10:06 +0000 (23:10 +0000)]
split the vector case out of getCopyToParts into its own function.  No
functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111990 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up, reduce indentation
Chris Lattner [Tue, 24 Aug 2010 22:43:11 +0000 (22:43 +0000)]
tidy up, reduce indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111982 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix predicate and add a comment.
Eric Christopher [Tue, 24 Aug 2010 22:34:11 +0000 (22:34 +0000)]
Fix predicate and add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111981 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRework braindead conditionals I put in yesterday.
Eric Christopher [Tue, 24 Aug 2010 22:07:27 +0000 (22:07 +0000)]
Rework braindead conditionals I put in yesterday.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111974 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix thumb2 mode loads to have the correct operand ordering. Add a todo
Eric Christopher [Tue, 24 Aug 2010 22:03:02 +0000 (22:03 +0000)]
Fix thumb2 mode loads to have the correct operand ordering.  Add a todo
to fix this in the port.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111973 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoNULL loads are only invalid in the default address space.
Owen Anderson [Tue, 24 Aug 2010 22:00:55 +0000 (22:00 +0000)]
NULL loads are only invalid in the default address space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111972 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd support for inferring values for the default cases of switches.
Owen Anderson [Tue, 24 Aug 2010 21:59:42 +0000 (21:59 +0000)]
Add support for inferring values for the default cases of switches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111971 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd ARM heuristic for when to allocate a virtual base register for stack
Jim Grosbach [Tue, 24 Aug 2010 21:19:33 +0000 (21:19 +0000)]
Add ARM heuristic for when to allocate a virtual base register for stack
access. rdar://8277890&7352504

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111968 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoChange the parsing of .loc back to allow the LineNumber field to be optional as
Kevin Enderby [Tue, 24 Aug 2010 21:14:47 +0000 (21:14 +0000)]
Change the parsing of .loc back to allow the LineNumber field to be optional as
it is with other assemblers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111967 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix COFF x86-64 relocations. PR7960.
Michael J. Spencer [Tue, 24 Aug 2010 21:04:52 +0000 (21:04 +0000)]
Fix COFF x86-64 relocations. PR7960.

Multiple symbol reloc handling part of the patch by Cameron Esfahani.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111963 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoXFAIL this on mingw, following remove_arguments_test.ll.
Dan Gohman [Tue, 24 Aug 2010 20:54:50 +0000 (20:54 +0000)]
XFAIL this on mingw, following remove_arguments_test.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111962 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd support for inferring that a load from a pointer implies that it is not null.
Owen Anderson [Tue, 24 Aug 2010 20:47:29 +0000 (20:47 +0000)]
Add support for inferring that a load from a pointer implies that it is not null.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111959 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFirst bit of support for the dwarf .loc directive. This patch updates the
Kevin Enderby [Tue, 24 Aug 2010 20:32:42 +0000 (20:32 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111956 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a testcase for basic bugpointing in the presence of metadata.
Dan Gohman [Tue, 24 Aug 2010 20:23:51 +0000 (20:23 +0000)]
Add a testcase for basic bugpointing in the presence of metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111955 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago- Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
Bill Wendling [Tue, 24 Aug 2010 20:00:52 +0000 (20:00 +0000)]
- Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111952 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/X86: Tweak imul recognition, previous hack only applies for the imul form
Daniel Dunbar [Tue, 24 Aug 2010 19:37:56 +0000 (19:37 +0000)]
MC/X86: Tweak imul recognition, previous hack only applies for the imul form
taking immediates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111950 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLink NamedMDNodes after linking GlobalValues, so that MDNodes
Dan Gohman [Tue, 24 Aug 2010 19:37:11 +0000 (19:37 +0000)]
Link NamedMDNodes after linking GlobalValues, so that MDNodes
which reference GlobalValues are properly remapped.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111949 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen linking NamedMDNodes, remap their operands.
Dan Gohman [Tue, 24 Aug 2010 19:31:04 +0000 (19:31 +0000)]
When linking NamedMDNodes, remap their operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111948 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/X86: Add custom hack for recognizing "imul $12, %eax" and friends.
Daniel Dunbar [Tue, 24 Aug 2010 19:24:18 +0000 (19:24 +0000)]
MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111947 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
Daniel Dunbar [Tue, 24 Aug 2010 19:13:42 +0000 (19:13 +0000)]
MC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
dollars in identifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111946 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/X86: Warn on scale factors > 1 without index register, instead of erroring,
Daniel Dunbar [Tue, 24 Aug 2010 19:13:38 +0000 (19:13 +0000)]
MC/X86: Warn on scale factors > 1 without index register, instead of erroring,
for 'as' compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111945 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove enabling the local stack allocation pass into the target where it belongs.
Jim Grosbach [Tue, 24 Aug 2010 19:05:43 +0000 (19:05 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111942 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse MapValue in the Linker instead of having a private function
Dan Gohman [Tue, 24 Aug 2010 18:50:07 +0000 (18:50 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111941 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/Parser: Accept leading dollar signs in identifiers.
Daniel Dunbar [Tue, 24 Aug 2010 18:12:12 +0000 (18:12 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111934 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't cast away qualifiers with C-style casts.
Dan Gohman [Tue, 24 Aug 2010 18:09:44 +0000 (18:09 +0000)]
Don't cast away qualifiers with C-style casts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111933 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoadd ARM cmd line option to force always using virtual base regs when possible.
Jim Grosbach [Tue, 24 Aug 2010 18:04:52 +0000 (18:04 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111930 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoApply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
Chris Lattner [Tue, 24 Aug 2010 17:44:07 +0000 (17:44 +0000)]
Apply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
patch by NAKAMURA Takumi!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111929 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRelocate against parent if the symbol is not in section or it's a common symbol,...
Benjamin Kramer [Tue, 24 Aug 2010 17:34:39 +0000 (17:34 +0000)]
Relocate against parent if the symbol is not in section or it's a common symbol, from Roman Divacky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111925 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTurn LVI on, previously detected failures should be fixed now.
Owen Anderson [Tue, 24 Aug 2010 17:21:18 +0000 (17:21 +0000)]
Turn LVI on, previously detected failures should be fixed now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111923 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMapValue support for MDNodes. This is similar to r109117, except
Dan Gohman [Tue, 24 Aug 2010 17:10:10 +0000 (17:10 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111922 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix X86's isLegalAddressingMode to recognize that static addresses
Dan Gohman [Tue, 24 Aug 2010 15:55:12 +0000 (15:55 +0000)]
Fix X86's isLegalAddressingMode to recognize that static addresses
need not be RIP-relative in small mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111917 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMDNode, MDString, and NamedMDNode are not meant to be subclassed;
Dan Gohman [Tue, 24 Aug 2010 15:34:03 +0000 (15:34 +0000)]
MDNode, MDString, and NamedMDNode are not meant to be subclassed;
make their protected members private. And remove an unnecessary
explicit keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111915 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a comment explaining why this code doesn't just call
Dan Gohman [Tue, 24 Aug 2010 14:35:45 +0000 (14:35 +0000)]
Add a comment explaining why this code doesn't just call
ParseMetadataValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111914 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a comment explaining why this code is more complex than it
Dan Gohman [Tue, 24 Aug 2010 14:31:06 +0000 (14:31 +0000)]
Add a comment explaining why this code is more complex than it
initially seems it should require.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111913 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix SPU BE to use all the available return registers.
Kalle Raiskila [Tue, 24 Aug 2010 11:50:48 +0000 (11:50 +0000)]
Fix SPU BE to use all the available return registers.
llc used to assert on the added testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111911 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove some dead code from SPU BE that remained
Kalle Raiskila [Tue, 24 Aug 2010 11:05:51 +0000 (11:05 +0000)]
Remove some dead code from SPU BE that remained
from 64bit vector support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111910 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCheck in a couple of changes that I apparently never committed:
John McCall [Tue, 24 Aug 2010 09:16:51 +0000 (09:16 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111909 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't assume that all constants with integer types are ConstantInts.
Owen Anderson [Tue, 24 Aug 2010 07:55:44 +0000 (07:55 +0000)]
Don't assume that all constants with integer types are ConstantInts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111906 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd braces to fix dangling else.
Dan Gohman [Tue, 24 Aug 2010 02:40:27 +0000 (02:40 +0000)]
Add braces to fix dangling else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111896 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoExtend function-local metadata to be usable as attachments.
Dan Gohman [Tue, 24 Aug 2010 02:24:03 +0000 (02:24 +0000)]
Extend function-local metadata to be usable as attachments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111895 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen we know we have an MDValue or MDString, call EnumerateMetadata
Dan Gohman [Tue, 24 Aug 2010 02:10:52 +0000 (02:10 +0000)]
When we know we have an MDValue or MDString, call EnumerateMetadata
directly instead of going through EnumerateValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111894 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoGive ParseInstructionMetadata access to the PerFunctionState object.
Dan Gohman [Tue, 24 Aug 2010 02:05:17 +0000 (02:05 +0000)]
Give ParseInstructionMetadata access to the PerFunctionState object.
This is in preparation for generalizing its parsing of function-local
values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111893 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSimplify this code. NamedMDNode operands are MDNodes.
Dan Gohman [Tue, 24 Aug 2010 02:01:24 +0000 (02:01 +0000)]
Simplify this code. NamedMDNode operands are MDNodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111892 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse pshufhw and pshuflw in more cases and fix getTargetShuffleNode number of arguments
Bruno Cardoso Lopes [Tue, 24 Aug 2010 01:16:15 +0000 (01:16 +0000)]
Use pshufhw and pshuflw in more cases and fix getTargetShuffleNode number of arguments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111890 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd comments for what the condition code symbols mean.
Bill Wendling [Tue, 24 Aug 2010 01:11:30 +0000 (01:11 +0000)]
Add comments for what the condition code symbols mean.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111889 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate comment.
Eric Christopher [Tue, 24 Aug 2010 01:10:52 +0000 (01:10 +0000)]
Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111887 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: Improve error handling in EmitEdgeClasses().
Mikhail Glushenkov [Tue, 24 Aug 2010 01:10:22 +0000 (01:10 +0000)]
llvmc: Improve error handling in EmitEdgeClasses().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111886 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix the opcode and the operands for the load instruction.
Eric Christopher [Tue, 24 Aug 2010 01:10:04 +0000 (01:10 +0000)]
Fix the opcode and the operands for the load instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111885 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd register class hack that needs to go away, but makes it more obvious
Eric Christopher [Tue, 24 Aug 2010 00:50:47 +0000 (00:50 +0000)]
Add register class hack that needs to go away, but makes it more obvious
that it needs to go away.  Use loadRegFromStackSlot where possible.

Also, remember to update the value map.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111883 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agofix rdar://7997827 - Accept and ignore LL and ULL suffixes on integer literals.
Chris Lattner [Tue, 24 Aug 2010 00:43:25 +0000 (00:43 +0000)]
fix rdar://7997827 - Accept and ignore LL and ULL suffixes on integer literals.

Also fix 0b010 syntax to actually work while we're at it :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111876 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd some more debugging code, make it more obvious that RegOffset is
Eric Christopher [Tue, 24 Aug 2010 00:07:24 +0000 (00:07 +0000)]
Add some more debugging code, make it more obvious that RegOffset is
getting an address for an object and select some default values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111871 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r107202. It is not adding any value.
Devang Patel [Tue, 24 Aug 2010 00:06:12 +0000 (00:06 +0000)]
Revert r107202. It is not adding any value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111870 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't need the extra register here.
Eric Christopher [Mon, 23 Aug 2010 23:28:04 +0000 (23:28 +0000)]
Don't need the extra register here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111864 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: Make syntax more consistent.
Mikhail Glushenkov [Mon, 23 Aug 2010 23:21:23 +0000 (23:21 +0000)]
llvmc: Make syntax more consistent.

CompilationGraph and LanguageMap definitions do not use special syntax anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111862 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLet FE use derived types for DW_TAG_friend.
Devang Patel [Mon, 23 Aug 2010 23:16:25 +0000 (23:16 +0000)]
Let FE use derived types for DW_TAG_friend.
Patch by Alexander Herz!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111861 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd some more "get address into register" code and a more TODOs/FIXMEs.
Eric Christopher [Mon, 23 Aug 2010 23:14:31 +0000 (23:14 +0000)]
Add some more "get address into register" code and a more TODOs/FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111860 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd an ARMFunctionInfo member and use it.
Eric Christopher [Mon, 23 Aug 2010 22:32:45 +0000 (22:32 +0000)]
Add an ARMFunctionInfo member and use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111854 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoVerify that a non-uniqued non-temporary MDNode is not deleted via
Dan Gohman [Mon, 23 Aug 2010 22:32:05 +0000 (22:32 +0000)]
Verify that a non-uniqued non-temporary MDNode is not deleted via
MDNode::deleteTemporary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111853 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoStart getting ARM loads/address computation going.
Eric Christopher [Mon, 23 Aug 2010 21:44:12 +0000 (21:44 +0000)]
Start getting ARM loads/address computation going.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111850 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix thinko. Having no tests is great ...
Benjamin Kramer [Mon, 23 Aug 2010 21:32:00 +0000 (21:32 +0000)]
Fix thinko. Having no tests is great ...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111848 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove the MFI storage of the local allocation block size. It's not needed.
Jim Grosbach [Mon, 23 Aug 2010 21:29:29 +0000 (21:29 +0000)]
Remove the MFI storage of the local allocation block size. It's not needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111847 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReduce code duplication.
Benjamin Kramer [Mon, 23 Aug 2010 21:23:52 +0000 (21:23 +0000)]
Reduce code duplication.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111846 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoELFObjectWriter: Run ComputeSymbolTable before recording relocations. This way we...
Benjamin Kramer [Mon, 23 Aug 2010 21:19:37 +0000 (21:19 +0000)]
ELFObjectWriter: Run ComputeSymbolTable before recording relocations. This way we can use the information it has computed and don't have to recompute the same stuff over and over again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111844 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoStart using target speficic nodes for shuffles: pshufhw and pshuflw
Bruno Cardoso Lopes [Mon, 23 Aug 2010 20:41:02 +0000 (20:41 +0000)]
Start using target speficic nodes for shuffles: pshufhw and pshuflw

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111837 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoBetter handling of local offsets for downwards growing stacks. This corrects
Jim Grosbach [Mon, 23 Aug 2010 20:40:38 +0000 (20:40 +0000)]
Better handling of local offsets for downwards growing stacks. This corrects
relative offsets when there are offsets encoded in the instructions and
simplifies final allocation in PEI. rdar://8277890

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111836 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotyops
Gabor Greif [Mon, 23 Aug 2010 20:30:51 +0000 (20:30 +0000)]
tyops

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111835 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTurn LVI back off, I have a testcase now.
Owen Anderson [Mon, 23 Aug 2010 19:59:27 +0000 (19:59 +0000)]
Turn LVI back off, I have a testcase now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111834 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a new llvm.x86.int intrinsic, allowing access to the
Chris Lattner [Mon, 23 Aug 2010 19:39:25 +0000 (19:39 +0000)]
Add a new llvm.x86.int intrinsic, allowing access to the
x86 int and int3 instructions.  Patch by Peter Housel!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111831 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: Allow multiple LanguageMaps.
Mikhail Glushenkov [Mon, 23 Aug 2010 19:24:16 +0000 (19:24 +0000)]
llvmc: Allow multiple LanguageMaps.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111829 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a TODO.
Mikhail Glushenkov [Mon, 23 Aug 2010 19:24:12 +0000 (19:24 +0000)]
Add a TODO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111828 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: Properly handle (error) in edge properties.
Mikhail Glushenkov [Mon, 23 Aug 2010 19:24:08 +0000 (19:24 +0000)]
llvmc: Properly handle (error) in edge properties.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111827 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvmc: Do not mention plugins in the code.
Mikhail Glushenkov [Mon, 23 Aug 2010 19:24:00 +0000 (19:24 +0000)]
llvmc: Do not mention plugins in the code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111826 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTrailing whitespace.
Mikhail Glushenkov [Mon, 23 Aug 2010 19:23:54 +0000 (19:23 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111825 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd the symbol offset to the relocation value when we relocate against section. By...
Benjamin Kramer [Mon, 23 Aug 2010 19:05:46 +0000 (19:05 +0000)]
Add the symbol offset to the relocation value when we relocate against section. By Roman Divacky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111824 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoformatted_tool_output_file::close needs to flush its buffer before
Dan Gohman [Mon, 23 Aug 2010 18:43:24 +0000 (18:43 +0000)]
formatted_tool_output_file::close needs to flush its buffer before
closing the underlying stream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111822 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoHandle qualified constants that are directly folded by FE.
Devang Patel [Mon, 23 Aug 2010 18:25:56 +0000 (18:25 +0000)]
Handle qualified constants that are directly folded by FE.
PR 7920.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse the proper relocation section + cleanup, from Roman Divacky.
Benjamin Kramer [Mon, 23 Aug 2010 18:24:20 +0000 (18:24 +0000)]
Use the proper relocation section + cleanup, from Roman Divacky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111819 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAvoid O(n*m) complexity in StringRef::find_first(_not)_of(StringRef).
Benjamin Kramer [Mon, 23 Aug 2010 18:16:08 +0000 (18:16 +0000)]
Avoid O(n*m) complexity in StringRef::find_first(_not)_of(StringRef).

- Cache used characters in a bitset to reduce memory overhead to just 32 bytes.
- On my core2 this code is faster except when the checked string was very short
  (smaller than the list of delimiters).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111817 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRe-enable LazyValueInfo. Monitoring for failures.
Owen Anderson [Mon, 23 Aug 2010 18:12:23 +0000 (18:12 +0000)]
Re-enable LazyValueInfo.  Monitoring for failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111816 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoNow that PassInfo and Pass::ID have been separated, move the rest of the passes over...
Owen Anderson [Mon, 23 Aug 2010 17:52:01 +0000 (17:52 +0000)]
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111815 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoStringRef tweaks:
Benjamin Kramer [Mon, 23 Aug 2010 17:44:13 +0000 (17:44 +0000)]
StringRef tweaks:

- Respect find_first_of(char's From parameter instead of silently dropping it.
- Prefer std::string() to std::string("")

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111814 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agorandom improvement for variable shift codegen.
Chris Lattner [Mon, 23 Aug 2010 17:30:29 +0000 (17:30 +0000)]
random improvement for variable shift codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111813 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTry to escape the '$'s in these so they reach the underlying 'sh' invocation.
Chandler Carruth [Mon, 23 Aug 2010 08:54:19 +0000 (08:54 +0000)]
Try to escape the '$'s in these so they reach the underlying 'sh' invocation.
I have no idea how lit did the right thing here, but other test runners don't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111805 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix some GCC warnings by providing a virtual destructor in the base of a class
Chandler Carruth [Mon, 23 Aug 2010 08:25:07 +0000 (08:25 +0000)]
Fix some GCC warnings by providing a virtual destructor in the base of a class
hierarchy with virtual methods and using llvm_unreachable to properly indicate
unreachable states which would otherwise leave variables uninitialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111803 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert invalid r111792. Jump tables are not broken on x86-64 / coff,
Anton Korobeynikov [Mon, 23 Aug 2010 07:38:51 +0000 (07:38 +0000)]
Revert invalid r111792. Jump tables are not broken on x86-64 / coff,
it's COFF emitter which does not support differences of two symbols
(and needs to be fixed). GAS is pretty fine with code produced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111801 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert part of my last commit. the mingw32 build bot doesn't seem to like it.
Michael J. Spencer [Mon, 23 Aug 2010 05:25:23 +0000 (05:25 +0000)]
Revert part of my last commit. the mingw32 build bot doesn't seem to like it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111793 91177308-0d34-0410-b5e6-96231b3b80d8