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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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