1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
Commit Graph

76258 Commits

Author SHA1 Message Date
Bruno Cardoso Lopes
396b8136bf 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.

llvm-svn: 139953
2011-09-16 22:02:14 +00:00
Jim Grosbach
f75d317df4 Shuffle a few more thumb2 tests to match the comment headings.
llvm-svn: 139952
2011-09-16 22:01:18 +00:00
Jim Grosbach
bc84a55ed8 Thumb2 tests for STR(literal), STR(register) and STR pre/post indexed immediate.
llvm-svn: 139951
2011-09-16 21:59:13 +00:00
Jim Grosbach
c9eb37a7c9 Shuffle a few tests around.
llvm-svn: 139950
2011-09-16 21:57:10 +00:00
Jim Grosbach
d521731d40 Thumb2 assembly parsing and encoding for STR.
More addressing mode encoding bits. Handle pre increment for STR/STRB/STRH
and STR(register).

llvm-svn: 139949
2011-09-16 21:55:56 +00:00
Chad Rosier
01ea3b0adf Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

llvm-svn: 139945
2011-09-16 21:09:17 +00:00
Jim Grosbach
371c88528b Tidy up. 80 columns.
llvm-svn: 139944
2011-09-16 21:09:00 +00:00
Owen Anderson
5804085f26 Fix disassembly of Thumb2 LDRSH with a #-0 offset.
llvm-svn: 139943
2011-09-16 21:08:33 +00:00
Jim Grosbach
916a6c71aa Thumb2 assembly parsing and encoding for STR(immediate).
Add aliases for STRB/STRH while there. Tests forthcoming for those.

llvm-svn: 139942
2011-09-16 21:06:12 +00:00
Jim Grosbach
03c39637ee Thumb2 assembly parsing and encoding for STMDB.
llvm-svn: 139940
2011-09-16 20:58:38 +00:00
Bruno Cardoso Lopes
a60e62ad02 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.

llvm-svn: 139939
2011-09-16 20:58:28 +00:00
Jim Grosbach
13af7198d5 Thumb2 assembly parsing and encoding for STMIA.
llvm-svn: 139938
2011-09-16 20:50:13 +00:00
Eric Christopher
381ec749e0 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.

llvm-svn: 139937
2011-09-16 20:36:25 +00:00
Eric Christopher
2e1f5823a1 Migrate this to use clang by default as well.
llvm-svn: 139936
2011-09-16 20:36:22 +00:00
Eric Christopher
3163b0a2ce We now look for clang, then llvm-gcc, then gcc as our compiler. We don't need
this anymore.

llvm-svn: 139935
2011-09-16 20:36:20 +00:00
Eric Christopher
b952f777b3 Have the llvm configure process look for clang, then llvm-gcc, and then gcc
on all platforms.

llvm-svn: 139934
2011-09-16 20:36:16 +00:00
Jim Grosbach
0c71c46758 Thumb2 assembly parsing and encoding for SSUB16/SSUB8.
llvm-svn: 139931
2011-09-16 18:52:36 +00:00
Jim Grosbach
47ff106753 Thumb2 assembly parsing and encoding for SSAX.
llvm-svn: 139929
2011-09-16 18:37:10 +00:00
Eli Friedman
de552b5c18 Fix a minor bug in fs::create_directories. Patch by Albert Wong.
llvm-svn: 139928
2011-09-16 18:36:31 +00:00
Jim Grosbach
eb47e416c2 Thumb2 assembly parsing and encoding for SSAT16.
llvm-svn: 139927
2011-09-16 18:33:22 +00:00
Jim Grosbach
6f6453f64b Thumb2 assembly parsing and encoding for SSAT.
llvm-svn: 139926
2011-09-16 18:32:30 +00:00
Jim Grosbach
5a8b63fe51 Thumb2 assembly parsing and encoding for SRS.
llvm-svn: 139925
2011-09-16 18:25:22 +00:00
Jim Grosbach
3cac04dd75 Thumb2 assembly parsing and encoding for SMMUSD/SMUSDX.
llvm-svn: 139923
2011-09-16 18:08:48 +00:00
Jim Grosbach
b8b9febaa7 Thumb2 assembly parsing and encoding for SMMULWB/SMULWT.
llvm-svn: 139922
2011-09-16 18:07:18 +00:00
Jim Grosbach
0f1615c381 Thumb2 assembly parsing and encoding for SMMULL.
llvm-svn: 139921
2011-09-16 18:05:48 +00:00
Jim Grosbach
4c944a22e2 Fix comment.
llvm-svn: 139919
2011-09-16 18:03:00 +00:00
Jim Grosbach
f39a3fcb4f Thumb2 assembly parsing and encoding for SMULBB/SMULBT/SMULTB/SMULTT.
llvm-svn: 139918
2011-09-16 18:02:36 +00:00
Jim Grosbach
0066bd4289 Thumb2 assembly parsing and encoding for SMMUAD'dib.
llvm-svn: 139917
2011-09-16 17:58:21 +00:00
Jim Grosbach
89777cb2f9 Thumb2 assembly parsing and encoding for SMMUL/SMMULR.
llvm-svn: 139916
2011-09-16 17:56:06 +00:00
Owen Anderson
ceb2fb9548 Port over more Thumb2 assembly tests to disassembly tests.
llvm-svn: 139915
2011-09-16 17:56:04 +00:00
Owen Anderson
8bc7120609 Port over more Thumb2 assembly tests to disassembly tests.
llvm-svn: 139912
2011-09-16 17:22:48 +00:00
Jim Grosbach
fa3986ddbe Thumb2 assembly parsing and encoding for SMMLS/SMMLSR.
llvm-svn: 139911
2011-09-16 17:16:55 +00:00
Jim Grosbach
25e57a3e7a Thumb2 assembly parsing and encoding for SMMLA/SMMLAR.
llvm-svn: 139910
2011-09-16 17:15:18 +00:00
Jim Grosbach
3c3a9393ab Thumb2 assembly parsing and encoding for SMLSLD/SMLSLDX.
llvm-svn: 139909
2011-09-16 17:10:44 +00:00
Jim Grosbach
5d7af41c05 Thumb2 assembly parsing and encoding for SMLSD/SMLSDX.
llvm-svn: 139908
2011-09-16 17:08:45 +00:00
Jim Grosbach
599dd49609 Thumb2 assembly parsing and encoding for SMLAWB/SMLAWT.
llvm-svn: 139907
2011-09-16 17:03:01 +00:00
Jim Grosbach
9e471afd9c Thumb2 assembly parsing and encoding for SMLALD/SMLALDX.
llvm-svn: 139906
2011-09-16 16:58:03 +00:00
Jim Grosbach
77ece5c9a0 Thumb2 assembly parsing and encoding for SMLALBB/SMLALBT/SMLALTB/SMLALTT.
llvm-svn: 139905
2011-09-16 16:53:25 +00:00
Jim Grosbach
f41c168102 Kill some dead code.
llvm-svn: 139904
2011-09-16 16:45:40 +00:00
Jim Grosbach
94fec9618a Tidy up a bit.
llvm-svn: 139903
2011-09-16 16:39:25 +00:00
Jim Grosbach
d382581509 Thumb2 assembly parsing and encoding for SMLAL.
llvm-svn: 139902
2011-09-16 16:38:00 +00:00
Andrew Trick
10ea51b841 Test case trial and error. Not sure the proper way to check MBB names.
llvm-svn: 139900
2011-09-16 03:57:19 +00:00
Andrew Trick
5be06c8057 Reduced a stronger test case for coalescer bug PR10920.
llvm-svn: 139898
2011-09-16 03:46:49 +00:00
Benjamin Kramer
5938cf29d2 Namespacify.
llvm-svn: 139892
2011-09-16 00:35:06 +00:00
Jim Grosbach
5147a59e59 Thumb2 assembly parsing and encoding for SMLAD/SMLADX.
llvm-svn: 139884
2011-09-16 00:09:37 +00:00
Jakob Stoklund Olesen
24e6a5b2cc 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.

llvm-svn: 139883
2011-09-16 00:03:35 +00:00
Jakob Stoklund Olesen
9596294e98 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.

llvm-svn: 139882
2011-09-16 00:03:33 +00:00
Jim Grosbach
9fb6f7e9fc Thumb2 assembly parsing and encoding for SMLABB/SMLABT/SMLATB/SMLATT.
llvm-svn: 139881
2011-09-16 00:00:23 +00:00
Jim Grosbach
85838cdb51 Thumb2 assembly parsing and encoding for SHSUB16/SHSUB8.
llvm-svn: 139880
2011-09-15 23:58:56 +00:00
Jim Grosbach
27a086b1d0 Remove incorrect comments.
llvm-svn: 139877
2011-09-15 23:45:50 +00:00