oota-llvm.git
14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 years agoWorkaround broken jump tables on x86-64 COFF.
Michael J. Spencer [Mon, 23 Aug 2010 04:45:37 +0000 (04:45 +0000)]
Workaround broken jump tables on x86-64 COFF.

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

14 years agoremove some dead code.
Chris Lattner [Mon, 23 Aug 2010 03:12:06 +0000 (03:12 +0000)]
remove some dead code.

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

14 years agoVerify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!
Nick Lewycky [Sun, 22 Aug 2010 23:45:14 +0000 (23:45 +0000)]
Verify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!

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

14 years agoDelete dead comment.
Eli Friedman [Sat, 21 Aug 2010 20:19:51 +0000 (20:19 +0000)]
Delete dead comment.

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

14 years agoUse rip-rel addressing on win64 by default. For this we just
Anton Korobeynikov [Sat, 21 Aug 2010 17:21:11 +0000 (17:21 +0000)]
Use rip-rel addressing on win64 by default. For this we just
defaults to small pic code model.

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

14 years agoUse MDNode::destroy(). Fixes a delete/free mismatch.
Benjamin Kramer [Sat, 21 Aug 2010 15:07:23 +0000 (15:07 +0000)]
Use MDNode::destroy(). Fixes a delete/free mismatch.

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

14 years agoMC: Add partial x86-64 support to COFF.
Michael J. Spencer [Sat, 21 Aug 2010 05:58:13 +0000 (05:58 +0000)]
MC: Add partial x86-64 support to COFF.

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

14 years agoAdd an assert to MDNode::deleteTemporary check that the node being deleted
Dan Gohman [Sat, 21 Aug 2010 02:52:29 +0000 (02:52 +0000)]
Add an assert to MDNode::deleteTemporary check that the node being deleted
is not non-temporary.

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

14 years agoFix x86 fast-isel's cmp+branch folding to avoid folding when the
Dan Gohman [Sat, 21 Aug 2010 02:32:36 +0000 (02:32 +0000)]
Fix x86 fast-isel's cmp+branch folding to avoid folding when the
comparison is in a different basic block from the branch. In such
cases, the comparison's operands may not have initialized virtual
registers available.

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

14 years agoPrepare LowerVECTOR_SHUFFLEv8i16 to use x86 target specific nodes directly
Bruno Cardoso Lopes [Sat, 21 Aug 2010 01:32:18 +0000 (01:32 +0000)]
Prepare LowerVECTOR_SHUFFLEv8i16 to use x86 target specific nodes directly

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

14 years agoReplace some NEON vmovl intrinsic that I missed earlier.
Bob Wilson [Fri, 20 Aug 2010 23:22:43 +0000 (23:22 +0000)]
Replace some NEON vmovl intrinsic that I missed earlier.

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

14 years agoThis is the first step towards refactoring the x86 vector shuffle code. The
Bruno Cardoso Lopes [Fri, 20 Aug 2010 22:55:05 +0000 (22:55 +0000)]
This is the first step towards refactoring the x86 vector shuffle code. The
general idea here is to have a group of x86 target specific nodes which are
going to be selected during lowering and then directly matched in isel.

The commit includes the addition of those specific nodes and a *bunch* of
patterns, and incrementally we're going to switch between them and what we
have right now. Both the patterns and target specific nodes can change as
we move forward with this work.

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

14 years agoCreateTemporaryType doesn't needs its Context argument.
Dan Gohman [Fri, 20 Aug 2010 22:39:47 +0000 (22:39 +0000)]
CreateTemporaryType doesn't needs its Context argument.

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

14 years agoCreate the new linker type "linker_private_weak_def_auto".
Bill Wendling [Fri, 20 Aug 2010 22:05:50 +0000 (22:05 +0000)]
Create the new linker type "linker_private_weak_def_auto".

It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility.  The symbols are removed by the linker from the final linked image
(executable or dynamic library).

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

14 years agoIntroduce a new temporary MDNode concept. Temporary MDNodes are
Dan Gohman [Fri, 20 Aug 2010 22:02:26 +0000 (22:02 +0000)]
Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.

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

14 years agoTest should pass on non-Darwin x86.
Dale Johannesen [Fri, 20 Aug 2010 21:18:55 +0000 (21:18 +0000)]
Test should pass on non-Darwin x86.

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

14 years agoFix --disable-threads build, PR7949.
Daniel Dunbar [Fri, 20 Aug 2010 20:54:37 +0000 (20:54 +0000)]
Fix --disable-threads build, PR7949.

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

14 years agoDownwards growing stack allocation order reverses relative offsets
Jim Grosbach [Fri, 20 Aug 2010 20:25:31 +0000 (20:25 +0000)]
Downwards growing stack allocation order reverses relative offsets

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

14 years agoAdd more dbg output
Jim Grosbach [Fri, 20 Aug 2010 19:04:43 +0000 (19:04 +0000)]
Add more dbg output

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

14 years agoUpdate CMake build.
Benjamin Kramer [Fri, 20 Aug 2010 18:56:46 +0000 (18:56 +0000)]
Update CMake build.

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

14 years agoDon't run test on PPC darwin.
Dale Johannesen [Fri, 20 Aug 2010 18:29:27 +0000 (18:29 +0000)]
Don't run test on PPC darwin.

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

14 years agoRe-apply r111568 with a fix for the clang self-host.
Owen Anderson [Fri, 20 Aug 2010 18:24:43 +0000 (18:24 +0000)]
Re-apply r111568 with a fix for the clang self-host.

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

14 years agoFix vmcore.ml test.
Erick Tryzelaar [Fri, 20 Aug 2010 18:24:35 +0000 (18:24 +0000)]
Fix vmcore.ml test.

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

14 years agoReword NamedMDNode's comment.
Dan Gohman [Fri, 20 Aug 2010 18:22:57 +0000 (18:22 +0000)]
Reword NamedMDNode's comment.

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

14 years agollvmc: Fix alias generation.
Mikhail Glushenkov [Fri, 20 Aug 2010 18:16:26 +0000 (18:16 +0000)]
llvmc: Fix alias generation.

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

14 years agoDelete SlowOperationInformer, which is no longer used.
Dan Gohman [Fri, 20 Aug 2010 18:07:37 +0000 (18:07 +0000)]
Delete SlowOperationInformer, which is no longer used.

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

14 years agoConvert DbgInfoPrinter to use errs() instead of outs().
Dan Gohman [Fri, 20 Aug 2010 18:03:05 +0000 (18:03 +0000)]
Convert DbgInfoPrinter to use errs() instead of outs().

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

14 years agoAdd include guards to Support/Regex.h.
Mikhail Glushenkov [Fri, 20 Aug 2010 17:38:44 +0000 (17:38 +0000)]
Add include guards to Support/Regex.h.

If the omission was intentional, please add a comment.

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

14 years agoTrailing whitespace.
Mikhail Glushenkov [Fri, 20 Aug 2010 17:38:38 +0000 (17:38 +0000)]
Trailing whitespace.

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

14 years agoAdd explicit initializer for UseLocalStackAllocationBlock in MFI constructor
Jim Grosbach [Fri, 20 Aug 2010 17:34:22 +0000 (17:34 +0000)]
Add explicit initializer for UseLocalStackAllocationBlock in MFI constructor

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

14 years agoConvert tools to use tool_output_file, and introduce error
Dan Gohman [Fri, 20 Aug 2010 16:59:15 +0000 (16:59 +0000)]
Convert tools to use tool_output_file, and introduce error
checking to places which previously lacked it.

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

14 years agoDiagnose attempts to update standard output.
Dan Gohman [Fri, 20 Aug 2010 16:56:11 +0000 (16:56 +0000)]
Diagnose attempts to update standard output.

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

14 years agoConvert FileUpdate to use tool_output_file, and to use
Dan Gohman [Fri, 20 Aug 2010 16:54:27 +0000 (16:54 +0000)]
Convert FileUpdate to use tool_output_file, and to use
errs() instead of outs() for its verbose messages.

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

14 years agoproperly check for whether base regs were inserted
Jim Grosbach [Fri, 20 Aug 2010 16:48:30 +0000 (16:48 +0000)]
properly check for whether base regs were inserted

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

14 years agoConvert tablegen to use tool_output_file.
Dan Gohman [Fri, 20 Aug 2010 16:45:58 +0000 (16:45 +0000)]
Convert tablegen to use tool_output_file.

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

14 years agoMake outs() close its file when its stream is destructed, so that
Dan Gohman [Fri, 20 Aug 2010 16:44:56 +0000 (16:44 +0000)]
Make outs() close its file when its stream is destructed, so that
pending output errors are detected.

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

14 years agoDelete raw_stdout_ostream and raw_stderr_ostream, which are unused
Dan Gohman [Fri, 20 Aug 2010 16:39:41 +0000 (16:39 +0000)]
Delete raw_stdout_ostream and raw_stderr_ostream, which are unused
outside of outs() and errs() themselves, and they don't really
need custom classes.

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

14 years agoAdd an inspirational quote.
Dan Gohman [Fri, 20 Aug 2010 16:36:19 +0000 (16:36 +0000)]
Add an inspirational quote.

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

14 years agoAdd a comment.
Dan Gohman [Fri, 20 Aug 2010 16:35:30 +0000 (16:35 +0000)]
Add a comment.

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

14 years agoMove raw_ostream's Error flag into raw_fd_ostream, as that's the only
Dan Gohman [Fri, 20 Aug 2010 16:34:20 +0000 (16:34 +0000)]
Move raw_ostream's Error flag into raw_fd_ostream, as that's the only
class which is using it.

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

14 years agoExport error-handling functions in formatted_tool_output_file.
Dan Gohman [Fri, 20 Aug 2010 16:27:38 +0000 (16:27 +0000)]
Export error-handling functions in formatted_tool_output_file.

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

14 years agoFix a typo.
Bob Wilson [Fri, 20 Aug 2010 14:54:37 +0000 (14:54 +0000)]
Fix a typo.

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

14 years agoFix the running of ocaml tests.
Erick Tryzelaar [Fri, 20 Aug 2010 14:51:26 +0000 (14:51 +0000)]
Fix the running of ocaml tests.

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

14 years agoExpose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.
Erick Tryzelaar [Fri, 20 Aug 2010 14:51:22 +0000 (14:51 +0000)]
Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.

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

14 years agoFix arguments to ocaml's llvm_params.
Erick Tryzelaar [Fri, 20 Aug 2010 14:51:16 +0000 (14:51 +0000)]
Fix arguments to ocaml's llvm_params.

Thanks to Jianzhou Zhao for finding this.

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

14 years agoFix some Ocaml tests: the %t substitution now returns an absolute path.
Bob Wilson [Fri, 20 Aug 2010 14:20:17 +0000 (14:20 +0000)]
Fix some Ocaml tests: the %t substitution now returns an absolute path.

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

14 years agoThe %ocamlopt setting has embedded quotes. Copy the entire value instead
Bob Wilson [Fri, 20 Aug 2010 14:19:38 +0000 (14:19 +0000)]
The %ocamlopt setting has embedded quotes.  Copy the entire value instead
of stopping at the first embedded quote.

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

14 years agoUpdate LLVMC tests for r111620.
Benjamin Kramer [Fri, 20 Aug 2010 13:03:33 +0000 (13:03 +0000)]
Update LLVMC tests for r111620.

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

14 years agollvmc: Do not prefix option names with AutoGenerated.
Mikhail Glushenkov [Fri, 20 Aug 2010 11:24:51 +0000 (11:24 +0000)]
llvmc: Do not prefix option names with AutoGenerated.

Since they now live in the namespace 'autogenerated'.

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