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
Owen Anderson [Thu, 15 Sep 2011 18:37:20 +0000 (18:37 +0000)]
The the MC disassembler C API to print in verbose mode. Perhaps there should be a parameter to request verbose mode?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139821
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 15 Sep 2011 18:36:29 +0000 (18:36 +0000)]
Add support for stored annotations to MCInst, and provide facilities for MC-based InstPrinters to print them out. Enhance the ARM and X86 InstPrinter's to do so in verbose mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139820
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 15 Sep 2011 18:31:13 +0000 (18:31 +0000)]
VirtRegMap is counting spill slots, not register spills.
Fix the stats counters to reflect that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139819
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 15 Sep 2011 18:27:36 +0000 (18:27 +0000)]
Change all checks regarding the presence of any SSE level to always
take into consideration the presence of AVX. This change, together with
the SSEDomainFix enabled for AVX, makes AVX codegen to always (hopefully)
emit the same code as SSE for 128-bit vector ops. I don't
have a testcase for this, but AVX now beats SSE in performance for
128-bit ops in the majority of programas in the llvm testsuite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139817
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 15 Sep 2011 18:27:32 +0000 (18:27 +0000)]
Enable SSEDomainFix pass for AVX mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139816
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 15 Sep 2011 18:22:52 +0000 (18:22 +0000)]
Count correctly when a COPY turns into a spill or reload.
The number of spills could go negative since a folded COPY is just a
spill, and it may be eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139815
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 18:13:30 +0000 (18:13 +0000)]
Thumb2 assembly parsing and encoding for REV.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139813
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 18:07:14 +0000 (18:07 +0000)]
Thumb2 assembly parsing and encoding for RBIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139811
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 18:06:15 +0000 (18:06 +0000)]
Thumb2 assembly parsing and encoding for signed saturating arithmetic insns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139810
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 18:02:20 +0000 (18:02 +0000)]
DWARF: Print line tables per compile unit, so they get the right address size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139808
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 15 Sep 2011 17:56:49 +0000 (17:56 +0000)]
Assmebler symbol attribute directives don't work on temporary symbols.
Assembler private local symbols aren't legal targets of symbol attributes,
so issue a diagnostic for them.
Based on patch by Stepan Dyatkovskiy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139807
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 15 Sep 2011 17:54:28 +0000 (17:54 +0000)]
Count inserted spills and reloads more accurately.
Adjust counters when removing spill and reload instructions.
We still don't account for reloads being removed by eliminateDeadDefs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139806
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 16:57:13 +0000 (16:57 +0000)]
DWARF: wire up .debug_str dumping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139799
91177308-0d34-0410-b5e6-
96231b3b80d8