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
Jim Grosbach [Fri, 16 Sep 2011 00:00:23 +0000 (00:00 +0000)]
Thumb2 assembly parsing and encoding for SMLABB/SMLABT/SMLATB/SMLATT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139881
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 23:58:56 +0000 (23:58 +0000)]
Thumb2 assembly parsing and encoding for SHSUB16/SHSUB8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139880
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 23:45:50 +0000 (23:45 +0000)]
Remove incorrect comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139877
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 15 Sep 2011 23:38:46 +0000 (23:38 +0000)]
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876
91177308-0d34-0410-b5e6-
96231b3b80d8
Ivan Krasin [Thu, 15 Sep 2011 23:13:00 +0000 (23:13 +0000)]
use 64-bit types instead of off_t/size_t to avoid the issue when
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139873
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 15 Sep 2011 23:04:24 +0000 (23:04 +0000)]
Add a fixme note!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139872
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 22:36:10 +0000 (22:36 +0000)]
Thumb2 assembly parsing and encoding for SHADD16/SHADD8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139871
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 22:34:29 +0000 (22:34 +0000)]
Thumb2 assembly parsing and encoding for SHASX/SHSAX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139870
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 15 Sep 2011 22:26:18 +0000 (22:26 +0000)]
Minor cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139869
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 22:26:16 +0000 (22:26 +0000)]
Unbreak the build for compilers that don't include cstdint everywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139868
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 22:24:20 +0000 (22:24 +0000)]
Thumb2 assembly parsing and encoding for SEV.W.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139866
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 15 Sep 2011 22:18:49 +0000 (22:18 +0000)]
Use a more efficient lowering for Unordered/Monotonic atomic load/store on Thumb1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139865
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 15 Sep 2011 22:15:52 +0000 (22:15 +0000)]
Add the remaining AVX versions of instructions to X86InstrInfo, this
time for describing high latency ones and for recognizting loads
from the same base pointer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139864
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 22:01:09 +0000 (22:01 +0000)]
Thumb2 assembly parsing and encoding for SEL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139861
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 21:59:13 +0000 (21:59 +0000)]
DWARF: Reset the state after parsing a line table prologue and remove an unnecessary lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139859
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 21:58:42 +0000 (21:58 +0000)]
Thumb2 assembly parsing and encoding for SBFX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139858
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 15 Sep 2011 21:42:23 +0000 (21:42 +0000)]
Factor out partial register update checks for some SSE instructions.
Also add the AVX versions and add comments!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139854
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 15 Sep 2011 21:20:49 +0000 (21:20 +0000)]
Some legalization fixes for atomic load and store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139851
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 21:17:40 +0000 (21:17 +0000)]
llvm-dwarfdump: Add an option to print out line info for a specific address
Usage:
$ llvm-dwarfdump -address=0x0000000100000ed4 a.out.dSYM/Contents/Resources/DWARF/a.out
xxx.c:6:0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139850
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 21:17:38 +0000 (21:17 +0000)]
Add some missing 'CHECK' lines and tidy up others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139849
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 21:17:37 +0000 (21:17 +0000)]
CommandLine: Add support for 64 bit unsigned integer options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139848
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 21:08:54 +0000 (21:08 +0000)]
DWARF: Don't crash when looking up an invalid address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139846
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 15 Sep 2011 21:06:00 +0000 (21:06 +0000)]
Add an option to disable spill hoisting.
When -split-spill-mode is enabled, spill hoisting is performed by
SplitKit instead of by InlineSpiller. This hidden command line option
is for testing the splitter spill mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139845
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 21:04:10 +0000 (21:04 +0000)]
Thumb2 assembly parsing and encoding for SBC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139844
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 21:01:23 +0000 (21:01 +0000)]
Thumb2 assembly parsing and encoding for SASX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139843
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 15 Sep 2011 20:58:37 +0000 (20:58 +0000)]
Reapply r139759. Disable IV rewriting by default. See PR10916.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139842
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 20:57:39 +0000 (20:57 +0000)]
Thumb2 assembly parsing and encoding for SADD16/SADD8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139841
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 20:54:14 +0000 (20:54 +0000)]
Thumb2 assembly parsing and encoding for RSB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139839
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 20:43:22 +0000 (20:43 +0000)]
DWARF: Put all the pieces we have together and provide a single accessor to DIContext that provides line information when given an address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139836
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 20:43:18 +0000 (20:43 +0000)]
DWARF: Remove accessors that parse the whole line table section in one go, this can't possibly work.
The address size is specified by the compile unit associated with a line table, there is no global address size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139835
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 19:52:43 +0000 (19:52 +0000)]
Thumb2 assembly parsing and encoding for RRX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139831
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 19:50:04 +0000 (19:50 +0000)]
Thumb2 assembly parsing and encoding for ROR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139830
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 19:46:13 +0000 (19:46 +0000)]
Thumb2 assembly parsing and encoding for REV16/REVSH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139828
91177308-0d34-0410-b5e6-
96231b3b80d8