oota-llvm.git
13 years agoRegenerate configure.
Eric Christopher [Mon, 19 Sep 2011 20:46:12 +0000 (20:46 +0000)]
Regenerate configure.

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

13 years agoRename LLVM_MULTITHREADED define and fix build without threads.
Eric Christopher [Mon, 19 Sep 2011 20:43:23 +0000 (20:43 +0000)]
Rename LLVM_MULTITHREADED define and fix build without threads.

Patch by Arrowdodger.

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

13 years agoTidy up a bit.
Jim Grosbach [Mon, 19 Sep 2011 20:31:59 +0000 (20:31 +0000)]
Tidy up a bit.

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

13 years agoRemove FIXME. TBB/TBH are Thumb mode only instructions.
Jim Grosbach [Mon, 19 Sep 2011 20:30:29 +0000 (20:30 +0000)]
Remove FIXME. TBB/TBH are Thumb mode only instructions.

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

13 years agoThumb2 assembly parsing and encoding for SXTB/SXTB16/SXTH.
Jim Grosbach [Mon, 19 Sep 2011 20:29:33 +0000 (20:29 +0000)]
Thumb2 assembly parsing and encoding for SXTB/SXTB16/SXTH.

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

13 years agoMake changes to avoid creating nested CALLSEQ_START/END constructs, which aren't
Akira Hatanaka [Mon, 19 Sep 2011 20:26:02 +0000 (20:26 +0000)]
Make changes to avoid creating nested CALLSEQ_START/END constructs, which aren't
yet legal according to comments in LegalizeDAG.cpp:227.

Memcpy nodes created for copying byval arguments are inserted before
CALLSEQ_START.

The two failing tests reported in PR10876 pass after applying this patch.

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

13 years agoNope, there's another one!
Benjamin Kramer [Mon, 19 Sep 2011 20:23:01 +0000 (20:23 +0000)]
Nope, there's another one!

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

13 years agoMissed one instance of implicit pointer conversion.
Benjamin Kramer [Mon, 19 Sep 2011 20:14:46 +0000 (20:14 +0000)]
Missed one instance of implicit pointer conversion.

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

13 years agoSilence -Wsign-compare warnings from GCC.
Benjamin Kramer [Mon, 19 Sep 2011 20:08:54 +0000 (20:08 +0000)]
Silence -Wsign-compare warnings from GCC.

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

13 years agoTry to make MSVC 2010 happy.
Benjamin Kramer [Mon, 19 Sep 2011 20:08:52 +0000 (20:08 +0000)]
Try to make MSVC 2010 happy.

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

13 years agoSpecify an additional fixed bit in the Thumb2 SSAT encoding to prevent the decoder...
Owen Anderson [Mon, 19 Sep 2011 20:00:02 +0000 (20:00 +0000)]
Specify an additional fixed bit in the Thumb2 SSAT encoding to prevent the decoder from emitting gibberish for this invalid encoding.

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

13 years agoFix a typo in the bitcode reader in the handling of atomic stores. Reported by David...
Eli Friedman [Mon, 19 Sep 2011 19:41:28 +0000 (19:41 +0000)]
Fix a typo in the bitcode reader in the handling of atomic stores.  Reported by David Meyer on llvmdev.

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

13 years agoARM asm parsing should handle pre-indexed writeback w/o immediate.
Jim Grosbach [Mon, 19 Sep 2011 18:42:21 +0000 (18:42 +0000)]
ARM asm parsing should handle pre-indexed writeback w/o immediate.

For example, 'ldrb r9, [sp]!' is odd, but valid.

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

13 years agoBetter Error Reporting
David Greene [Mon, 19 Sep 2011 18:26:07 +0000 (18:26 +0000)]
Better Error Reporting

Report missing template arguments more helpfully by supplying the name
of the missing argument in the error message.

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

13 years agoX86 has asterisk-free inline asm support now.
Jakob Stoklund Olesen [Mon, 19 Sep 2011 18:15:46 +0000 (18:15 +0000)]
X86 has asterisk-free inline asm support now.

Floating point stack inline asm works.

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

13 years agoHandle STRT (and friends) like LDRT (and friends) for decoding purposes. Port over...
Owen Anderson [Mon, 19 Sep 2011 18:07:10 +0000 (18:07 +0000)]
Handle STRT (and friends) like LDRT (and friends) for decoding purposes.  Port over additional encoding tests to decoding tests.

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

13 years agoThumb2 assembly parsing and encoding for SXTAB/SXTAB16/SXTAH.
Jim Grosbach [Mon, 19 Sep 2011 17:56:37 +0000 (17:56 +0000)]
Thumb2 assembly parsing and encoding for SXTAB/SXTAB16/SXTAH.

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

13 years agoAdd a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional...
Benjamin Kramer [Mon, 19 Sep 2011 17:56:04 +0000 (17:56 +0000)]
Add a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional information that are only available on MachO.

- It can take FunctionStarts from a binary to find entry points more accurately.
- Symbol offsets in executables are correct now.

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

13 years agoMCInstrAnalysis: Don't crash on instructions with no operands.
Benjamin Kramer [Mon, 19 Sep 2011 17:56:00 +0000 (17:56 +0000)]
MCInstrAnalysis: Don't crash on instructions with no operands.

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

13 years ago[indvars] Fix PR10946: SCEV cannot handle Vector IVs.
Andrew Trick [Mon, 19 Sep 2011 17:54:39 +0000 (17:54 +0000)]
[indvars] Fix PR10946: SCEV cannot handle Vector IVs.

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

13 years agoThumb2 assembly parsing and encoding for SVC.
Jim Grosbach [Mon, 19 Sep 2011 17:40:35 +0000 (17:40 +0000)]
Thumb2 assembly parsing and encoding for SVC.

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

13 years agoThumb2 assembly parsing and encoding for SUB(register).
Jim Grosbach [Mon, 19 Sep 2011 17:37:48 +0000 (17:37 +0000)]
Thumb2 assembly parsing and encoding for SUB(register).

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

13 years agoAdded regression test for bug #10869.
Stepan Dyatkovskiy [Mon, 19 Sep 2011 07:48:08 +0000 (07:48 +0000)]
Added regression test for bug #10869.

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

13 years agoAdd Win32 support to llvm::llvm_execute_on_thread(). Thanks to Aaron Ballman!
NAKAMURA Takumi [Mon, 19 Sep 2011 07:41:43 +0000 (07:41 +0000)]
Add Win32 support to llvm::llvm_execute_on_thread(). Thanks to Aaron Ballman!

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

13 years agoClaimed.
Jakob Stoklund Olesen [Mon, 19 Sep 2011 05:34:10 +0000 (05:34 +0000)]
Claimed.

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

13 years agoFix typos in my prev commit, found by Tobi.
Nadav Rotem [Sun, 18 Sep 2011 19:00:23 +0000 (19:00 +0000)]
Fix typos in my prev commit, found by Tobi.

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

13 years agosetOperationAction should be done on the return value of the type, not the operands.
Nadav Rotem [Sun, 18 Sep 2011 14:57:03 +0000 (14:57 +0000)]
setOperationAction should be done on the return value of the type, not the operands.

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

13 years agoRemove obsolete .pod files.
Bill Wendling [Sun, 18 Sep 2011 12:52:55 +0000 (12:52 +0000)]
Remove obsolete .pod files.

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

13 years agoFix up the formating and change llvm-gcc to clang.
Bill Wendling [Sun, 18 Sep 2011 12:51:05 +0000 (12:51 +0000)]
Fix up the formating and change llvm-gcc to clang.

Note that this example doesn't work anymore!

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

13 years agoRemove mention of llvm-gcc/llvm-g++ from doc.
Bill Wendling [Sun, 18 Sep 2011 12:37:20 +0000 (12:37 +0000)]
Remove mention of llvm-gcc/llvm-g++ from doc.

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

13 years agoWhen promoting integer vectors we often create ext-loads. This patch adds a
Nadav Rotem [Sun, 18 Sep 2011 10:39:32 +0000 (10:39 +0000)]
When promoting integer vectors we often create ext-loads. This patch adds a
dag-combine optimization to implement the ext-load efficiently (using shuffles).

For example the type <4 x i8> is stored in memory as i32, but it needs to
find its way into a <4 x i32> register. Previously we scalarized the memory
access, now we use shuffles.

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

13 years agowhite space cleanups
Nadav Rotem [Sun, 18 Sep 2011 10:29:29 +0000 (10:29 +0000)]
white space cleanups

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

13 years agoFix typo by changing Lower256IntVETCC to Lower256IntVSETCC.
Craig Topper [Sun, 18 Sep 2011 08:03:58 +0000 (08:03 +0000)]
Fix typo by changing Lower256IntVETCC to Lower256IntVSETCC.

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

13 years agoApply Duncan's test fix from r139986 to the avx version of that test too.
Benjamin Kramer [Sun, 18 Sep 2011 00:41:38 +0000 (00:41 +0000)]
Apply Duncan's test fix from r139986 to the avx version of that test too.

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

13 years agoSynthesize x86 max/min instructions also for vectors (i.e. produce
Duncan Sands [Sat, 17 Sep 2011 16:49:39 +0000 (16:49 +0000)]
Synthesize x86 max/min instructions also for vectors (i.e. produce
maxps and maxpd).  This broke the sse41-blend.ll testcase by causing
maxpd to be produced rather than a cmp+blend pair, which is the reason
I tweaked it.  Gives a small speedup on doduc with dragonegg when the
GCC vectorizer is used.

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

13 years agoDescribe more AVX 128-bit convert instructions without patterns to have
Bruno Cardoso Lopes [Fri, 16 Sep 2011 23:41:29 +0000 (23:41 +0000)]
Describe more AVX 128-bit convert instructions without patterns to have
mayLoad = 1

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

13 years agoBitfield mask instructions are unpredictable if the encoded LSB is higher than the...
Owen Anderson [Fri, 16 Sep 2011 23:30:01 +0000 (23:30 +0000)]
Bitfield mask instructions are unpredictable if the encoded LSB is higher than the encoded MSB.

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

13 years agoAdd a testcase for another corner-case decoding.
Owen Anderson [Fri, 16 Sep 2011 23:15:29 +0000 (23:15 +0000)]
Add a testcase for another corner-case decoding.

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

13 years agoFix bitfield decoding based on Eli's feedback.
Owen Anderson [Fri, 16 Sep 2011 23:04:48 +0000 (23:04 +0000)]
Fix bitfield decoding based on Eli's feedback.

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

13 years agoAdd ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and...
Ted Kremenek [Fri, 16 Sep 2011 23:01:25 +0000 (23:01 +0000)]
Add ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and its Factory.  This may eventually replace Immtuable[Map,Set].

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

13 years agoThumb2 assembly parsing and encoding for SUB(immediate).
Jim Grosbach [Fri, 16 Sep 2011 22:58:42 +0000 (22:58 +0000)]
Thumb2 assembly parsing and encoding for SUB(immediate).

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

13 years agoThumb2 pre-indexed loads/stores use the restricted GPR set for Rt.
Owen Anderson [Fri, 16 Sep 2011 22:42:36 +0000 (22:42 +0000)]
Thumb2 pre-indexed loads/stores use the restricted GPR set for Rt.

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

13 years agoFix disassembly of Thumb2 BFI instructions with bit range of [0, 32).
Owen Anderson [Fri, 16 Sep 2011 22:29:48 +0000 (22:29 +0000)]
Fix disassembly of Thumb2 BFI instructions with bit range of [0, 32).

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

13 years agoThumb2 assembly parsing and encoding for STRT.
Jim Grosbach [Fri, 16 Sep 2011 22:27:12 +0000 (22:27 +0000)]
Thumb2 assembly parsing and encoding for STRT.

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

13 years agoThumb2 assembly parsing and encoding for LDRHT/STRHT.
Jim Grosbach [Fri, 16 Sep 2011 22:26:01 +0000 (22:26 +0000)]
Thumb2 assembly parsing and encoding for LDRHT/STRHT.

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

13 years agoThumb2 assembly parsing and encoding for STREX/STREXB/STREXH/STREXD.
Jim Grosbach [Fri, 16 Sep 2011 22:22:07 +0000 (22:22 +0000)]
Thumb2 assembly parsing and encoding for STREX/STREXB/STREXH/STREXD.

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

13 years agoThumb2 assembly parsing and encoding for STRD.
Jim Grosbach [Fri, 16 Sep 2011 22:19:38 +0000 (22:19 +0000)]
Thumb2 assembly parsing and encoding for STRD.

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

13 years agoSimplify comment. There's no Thumb LDRD(register) encoding. That's ARM only.
Jim Grosbach [Fri, 16 Sep 2011 22:18:42 +0000 (22:18 +0000)]
Simplify comment. There's no Thumb LDRD(register) encoding. That's ARM only.

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

13 years agoAdd fixed bits to correctly distinguish Thumb2 SSAT/SSAT16's.
Owen Anderson [Fri, 16 Sep 2011 22:17:02 +0000 (22:17 +0000)]
Add fixed bits to correctly distinguish Thumb2 SSAT/SSAT16's.

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

13 years agoThumb2 assembly parsing and encoding for STRBT.
Jim Grosbach [Fri, 16 Sep 2011 22:15:51 +0000 (22:15 +0000)]
Thumb2 assembly parsing and encoding for STRBT.

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

13 years agoThumb2 assembly parsing and encoding for STRH.
Jim Grosbach [Fri, 16 Sep 2011 22:12:19 +0000 (22:12 +0000)]
Thumb2 assembly parsing and encoding for STRH.

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

13 years agoRemove test of undocumented format.
Jim Grosbach [Fri, 16 Sep 2011 22:09:58 +0000 (22:09 +0000)]
Remove test of undocumented format.

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

13 years agoThumb2 assembly parsing and encoding for STRB.
Jim Grosbach [Fri, 16 Sep 2011 22:09:19 +0000 (22:09 +0000)]
Thumb2 assembly parsing and encoding for STRB.

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

13 years agoAdd mayLoad attribute to AVX convert instructions, since non of them
Bruno Cardoso Lopes [Fri, 16 Sep 2011 22:02:14 +0000 (22:02 +0000)]
Add mayLoad attribute to AVX convert instructions, since non of them
are declared with load patterns. This fix the crash in PR10941. No testcases,
since a fold is triggered and then converted back to the register form
afterwards.

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

13 years agoShuffle a few more thumb2 tests to match the comment headings.
Jim Grosbach [Fri, 16 Sep 2011 22:01:18 +0000 (22:01 +0000)]
Shuffle a few more thumb2 tests to match the comment headings.

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

13 years agoThumb2 tests for STR(literal), STR(register) and STR pre/post indexed immediate.
Jim Grosbach [Fri, 16 Sep 2011 21:59:13 +0000 (21:59 +0000)]
Thumb2 tests for STR(literal), STR(register) and STR pre/post indexed immediate.

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

13 years agoShuffle a few tests around.
Jim Grosbach [Fri, 16 Sep 2011 21:57:10 +0000 (21:57 +0000)]
Shuffle a few tests around.

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

13 years agoThumb2 assembly parsing and encoding for STR.
Jim Grosbach [Fri, 16 Sep 2011 21:55:56 +0000 (21:55 +0000)]
Thumb2 assembly parsing and encoding for STR.

More addressing mode encoding bits. Handle pre increment for STR/STRB/STRH
and STR(register).

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

13 years agoAdd -rfunc and -rglob options to llvm-extract to support regular
Chad Rosier [Fri, 16 Sep 2011 21:09:17 +0000 (21:09 +0000)]
Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

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

13 years agoTidy up. 80 columns.
Jim Grosbach [Fri, 16 Sep 2011 21:09:00 +0000 (21:09 +0000)]
Tidy up. 80 columns.

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

13 years agoFix disassembly of Thumb2 LDRSH with a #-0 offset.
Owen Anderson [Fri, 16 Sep 2011 21:08:33 +0000 (21:08 +0000)]
Fix disassembly of Thumb2 LDRSH with a #-0 offset.

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

13 years agoThumb2 assembly parsing and encoding for STR(immediate).
Jim Grosbach [Fri, 16 Sep 2011 21:06:12 +0000 (21:06 +0000)]
Thumb2 assembly parsing and encoding for STR(immediate).

Add aliases for STRB/STRH while there. Tests forthcoming for those.

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

13 years agoThumb2 assembly parsing and encoding for STMDB.
Jim Grosbach [Fri, 16 Sep 2011 20:58:38 +0000 (20:58 +0000)]
Thumb2 assembly parsing and encoding for STMDB.

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

13 years agoFix PR10884.
Bruno Cardoso Lopes [Fri, 16 Sep 2011 20:58:28 +0000 (20:58 +0000)]
Fix PR10884.

This PR basically reports a problem where a crash in generated code
happened due to %rbp being clobbered:

  pushq %rbp
  movq  %rsp, %rbp
  ....
  vmovmskps %ymm12, %ebp
  ....
  movq  %rbp, %rsp
  popq  %rbp
  ret

Since Eric's r123367 commit, the default stack alignment for x86 32-bit
has changed to be 16-bytes. Since then, the MaxStackAlignmentHeuristicPass
hasn't been really used, but with AVX it becomes useful again, since per
ABI compliance we don't always align the stack to 256-bit, but only when
there are 256-bit incoming arguments.

ReserveFP was only used by this pass, but there's no RA target hook that
uses getReserveFP() to check for the presence of FP (since nothing was
triggering the pass to run, the uses of getReserveFP() were removed
through time without being noticed). Change this pass to use
setForceFramePointer, which is properly called by MachineFunction
hasFP method.

The testcase is very big and dependent on RA, not sure if it's worth
adding to test/CodeGen/X86.

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

13 years agoThumb2 assembly parsing and encoding for STMIA.
Jim Grosbach [Fri, 16 Sep 2011 20:50:13 +0000 (20:50 +0000)]
Thumb2 assembly parsing and encoding for STMIA.

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

13 years agoMove the AC_PROG_CC checks earlier in the configure file. The lateness
Eric Christopher [Fri, 16 Sep 2011 20:36:25 +0000 (20:36 +0000)]
Move the AC_PROG_CC checks earlier in the configure file. The lateness
of the original check meant that configure was caching the default
CC check and using that instead of the result of AC_PROG_CC in both
configure checks and during compilation.

This wasn't affecting C++ so it was hard to notice.

Regenerate configure.

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

13 years agoMigrate this to use clang by default as well.
Eric Christopher [Fri, 16 Sep 2011 20:36:22 +0000 (20:36 +0000)]
Migrate this to use clang by default as well.

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

13 years agoWe now look for clang, then llvm-gcc, then gcc as our compiler. We don't need
Eric Christopher [Fri, 16 Sep 2011 20:36:20 +0000 (20:36 +0000)]
We now look for clang, then llvm-gcc, then gcc as our compiler. We don't need
this anymore.

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

13 years agoHave the llvm configure process look for clang, then llvm-gcc, and then gcc
Eric Christopher [Fri, 16 Sep 2011 20:36:16 +0000 (20:36 +0000)]
Have the llvm configure process look for clang, then llvm-gcc, and then gcc
on all platforms.

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

13 years agoThumb2 assembly parsing and encoding for SSUB16/SSUB8.
Jim Grosbach [Fri, 16 Sep 2011 18:52:36 +0000 (18:52 +0000)]
Thumb2 assembly parsing and encoding for SSUB16/SSUB8.

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

13 years agoThumb2 assembly parsing and encoding for SSAX.
Jim Grosbach [Fri, 16 Sep 2011 18:37:10 +0000 (18:37 +0000)]
Thumb2 assembly parsing and encoding for SSAX.

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

13 years agoFix a minor bug in fs::create_directories. Patch by Albert Wong.
Eli Friedman [Fri, 16 Sep 2011 18:36:31 +0000 (18:36 +0000)]
Fix a minor bug in fs::create_directories. Patch by Albert Wong.

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

13 years agoThumb2 assembly parsing and encoding for SSAT16.
Jim Grosbach [Fri, 16 Sep 2011 18:33:22 +0000 (18:33 +0000)]
Thumb2 assembly parsing and encoding for SSAT16.

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

13 years agoThumb2 assembly parsing and encoding for SSAT.
Jim Grosbach [Fri, 16 Sep 2011 18:32:30 +0000 (18:32 +0000)]
Thumb2 assembly parsing and encoding for SSAT.

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

13 years agoThumb2 assembly parsing and encoding for SRS.
Jim Grosbach [Fri, 16 Sep 2011 18:25:22 +0000 (18:25 +0000)]
Thumb2 assembly parsing and encoding for SRS.

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

13 years agoThumb2 assembly parsing and encoding for SMMUSD/SMUSDX.
Jim Grosbach [Fri, 16 Sep 2011 18:08:48 +0000 (18:08 +0000)]
Thumb2 assembly parsing and encoding for SMMUSD/SMUSDX.

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

13 years agoThumb2 assembly parsing and encoding for SMMULWB/SMULWT.
Jim Grosbach [Fri, 16 Sep 2011 18:07:18 +0000 (18:07 +0000)]
Thumb2 assembly parsing and encoding for SMMULWB/SMULWT.

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

13 years agoThumb2 assembly parsing and encoding for SMMULL.
Jim Grosbach [Fri, 16 Sep 2011 18:05:48 +0000 (18:05 +0000)]
Thumb2 assembly parsing and encoding for SMMULL.

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

13 years agoFix comment.
Jim Grosbach [Fri, 16 Sep 2011 18:03:00 +0000 (18:03 +0000)]
Fix comment.

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

13 years agoThumb2 assembly parsing and encoding for SMULBB/SMULBT/SMULTB/SMULTT.
Jim Grosbach [Fri, 16 Sep 2011 18:02:36 +0000 (18:02 +0000)]
Thumb2 assembly parsing and encoding for SMULBB/SMULBT/SMULTB/SMULTT.

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

13 years agoThumb2 assembly parsing and encoding for SMMUAD'dib.
Jim Grosbach [Fri, 16 Sep 2011 17:58:21 +0000 (17:58 +0000)]
Thumb2 assembly parsing and encoding for SMMUAD'dib.

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

13 years agoThumb2 assembly parsing and encoding for SMMUL/SMMULR.
Jim Grosbach [Fri, 16 Sep 2011 17:56:06 +0000 (17:56 +0000)]
Thumb2 assembly parsing and encoding for SMMUL/SMMULR.

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

13 years agoPort over more Thumb2 assembly tests to disassembly tests.
Owen Anderson [Fri, 16 Sep 2011 17:56:04 +0000 (17:56 +0000)]
Port over more Thumb2 assembly tests to disassembly tests.

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

13 years agoPort over more Thumb2 assembly tests to disassembly tests.
Owen Anderson [Fri, 16 Sep 2011 17:22:48 +0000 (17:22 +0000)]
Port over more Thumb2 assembly tests to disassembly tests.

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

13 years agoThumb2 assembly parsing and encoding for SMMLS/SMMLSR.
Jim Grosbach [Fri, 16 Sep 2011 17:16:55 +0000 (17:16 +0000)]
Thumb2 assembly parsing and encoding for SMMLS/SMMLSR.

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

13 years agoThumb2 assembly parsing and encoding for SMMLA/SMMLAR.
Jim Grosbach [Fri, 16 Sep 2011 17:15:18 +0000 (17:15 +0000)]
Thumb2 assembly parsing and encoding for SMMLA/SMMLAR.

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

13 years agoThumb2 assembly parsing and encoding for SMLSLD/SMLSLDX.
Jim Grosbach [Fri, 16 Sep 2011 17:10:44 +0000 (17:10 +0000)]
Thumb2 assembly parsing and encoding for SMLSLD/SMLSLDX.

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

13 years agoThumb2 assembly parsing and encoding for SMLSD/SMLSDX.
Jim Grosbach [Fri, 16 Sep 2011 17:08:45 +0000 (17:08 +0000)]
Thumb2 assembly parsing and encoding for SMLSD/SMLSDX.

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

13 years agoThumb2 assembly parsing and encoding for SMLAWB/SMLAWT.
Jim Grosbach [Fri, 16 Sep 2011 17:03:01 +0000 (17:03 +0000)]
Thumb2 assembly parsing and encoding for SMLAWB/SMLAWT.

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

13 years agoThumb2 assembly parsing and encoding for SMLALD/SMLALDX.
Jim Grosbach [Fri, 16 Sep 2011 16:58:03 +0000 (16:58 +0000)]
Thumb2 assembly parsing and encoding for SMLALD/SMLALDX.

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

13 years agoThumb2 assembly parsing and encoding for SMLALBB/SMLALBT/SMLALTB/SMLALTT.
Jim Grosbach [Fri, 16 Sep 2011 16:53:25 +0000 (16:53 +0000)]
Thumb2 assembly parsing and encoding for SMLALBB/SMLALBT/SMLALTB/SMLALTT.

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

13 years agoKill some dead code.
Jim Grosbach [Fri, 16 Sep 2011 16:45:40 +0000 (16:45 +0000)]
Kill some dead code.

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

13 years agoTidy up a bit.
Jim Grosbach [Fri, 16 Sep 2011 16:39:25 +0000 (16:39 +0000)]
Tidy up a bit.

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

13 years agoThumb2 assembly parsing and encoding for SMLAL.
Jim Grosbach [Fri, 16 Sep 2011 16:38:00 +0000 (16:38 +0000)]
Thumb2 assembly parsing and encoding for SMLAL.

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

13 years agoTest case trial and error. Not sure the proper way to check MBB names.
Andrew Trick [Fri, 16 Sep 2011 03:57:19 +0000 (03:57 +0000)]
Test case trial and error. Not sure the proper way to check MBB names.

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

13 years agoReduced a stronger test case for coalescer bug PR10920.
Andrew Trick [Fri, 16 Sep 2011 03:46:49 +0000 (03:46 +0000)]
Reduced a stronger test case for coalescer bug PR10920.

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

13 years agoNamespacify.
Benjamin Kramer [Fri, 16 Sep 2011 00:35:06 +0000 (00:35 +0000)]
Namespacify.

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

13 years agoThumb2 assembly parsing and encoding for SMLAD/SMLADX.
Jim Grosbach [Fri, 16 Sep 2011 00:09:37 +0000 (00:09 +0000)]
Thumb2 assembly parsing and encoding for SMLAD/SMLADX.

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

13 years agoSpill mode: Hoist back-copies locally.
Jakob Stoklund Olesen [Fri, 16 Sep 2011 00:03:35 +0000 (00:03 +0000)]
Spill mode: Hoist back-copies locally.

The leaveIntvAfter() function normally inserts a back-copy after the
requested instruction, making the back-copy kill the live range.

In spill mode, try to insert the back-copy before the last use instead.
That means the last use becomes the kill instead of the back-copy.  This
lowers the register pressure because the last use can now redefine the
same register it was reading.

This will also improve compile time: The back-copy isn't a kill, so
hoisting it in hoistCopiesForSize() won't force a recomputation of the
source live range.  Similarly, if the back-copy isn't hoisted by the
splitter, the spiller will not attempt hoisting it locally.

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

13 years agoDisable local spill hoisting for non-killing copies.
Jakob Stoklund Olesen [Fri, 16 Sep 2011 00:03:33 +0000 (00:03 +0000)]
Disable local spill hoisting for non-killing copies.

If the source register is live after the copy being spilled, there is no
point to hoisting it.  Hoisting inside a basic block only serves to
resolve interferences by shortening the live range of the source.

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