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