- Oct 14, 2013
-
-
Craig Topper authored
Allow pinsrw/pinsrb/pextrb/pextrw/movmskps/movmskpd/pmovmskb/extractps instructions to parse either GR32 or GR64 without resorting to duplicating instructions. llvm-svn: 192567
-
- Oct 12, 2013
-
-
Craig Topper authored
llvm-svn: 192525
-
Craig Topper authored
llvm-svn: 192522
-
Will Dietz authored
llvm-svn: 192519
-
- Oct 11, 2013
-
-
Stephen Lin authored
Really fix CHECK-LABEL and CHECK-DAG interaction. This actually just restores the initial implementation that was in r186162 but got lost in some subsequent refactoring. More explicit variable names and comments are present now to hopefully prevent repeat regression, as well as another test. llvm-svn: 192477
-
Rafael Espindola authored
llvm-svn: 192463
-
Craig Topper authored
llvm-svn: 192425
-
- Oct 10, 2013
-
-
Craig Topper authored
llvm-svn: 192339
-
- Oct 09, 2013
-
-
Craig Topper authored
llvm-svn: 192279
-
Craig Topper authored
llvm-svn: 192275
-
- Oct 08, 2013
-
-
Craig Topper authored
Remove unneeded MMX instruction definition by moving pattern to an equivalent instruction definition and removing the filtering from the disassembler table building. llvm-svn: 192175
-
Craig Topper authored
Remove some instructions that existed to provide aliases to the assembler. Can be done with InstAlias instead. Unfortunately, this was causing printer to use 'vmovq' or 'vmovd' based on what was parsed. To cleanup the inconsistencies convert all 'vmovd' with 64-bit registers to 'vmovq', but provide an alias so that 'vmovd' will still parse. llvm-svn: 192171
-
- Oct 07, 2013
-
-
Craig Topper authored
Remove some instructions that seem to only exist to trick the filtering checks in the disassembler table creation. Just fix up the filter to let the real instruction through instead. llvm-svn: 192090
-
Craig Topper authored
llvm-svn: 192086
-
David Majnemer authored
This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. llvm-svn: 192079
-
- Oct 06, 2013
-
-
David Majnemer authored
This is causing MinGW bots to fail. This reverts commit r192069. llvm-svn: 192070
-
David Majnemer authored
Summary: The MSVCRT deliberately sends main() code-page specific characters. This isn't too useful to LLVM as we end up converting the arguments to UTF-16 and subsequently attempt to use the result as, for example, a file name. Instead, we need to have the ability to access the Unicode command line and transform it to UTF-8. This has the distinct advantage over using the MSVC-specific wmain() function as our entry point because: - It doesn't work on cygwin. - It only work on MinGW with caveats and only then on certain versions. - We get to keep our entry point as main(). :) N.B. This patch includes fixes to other parts of lib/Support/Windows s.t. we would be able to take advantage of getting the Unicode paths. E.G. clang spawning clang -cc1 would want to give it Unicode arguments. Reviewers: aaron.ballman, Bigcheese, rnk, ruiu Reviewed By: rnk CC: llvm-commits, ygao Differential Revision: http://llvm-reviews.chandlerc.com/D1834 llvm-svn: 192069
-
- Oct 05, 2013
-
-
Craig Topper authored
Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. llvm-svn: 192026
-
- Oct 04, 2013
-
-
Craig Topper authored
llvm-svn: 191941
-
Craig Topper authored
Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. llvm-svn: 191940
-
- Oct 03, 2013
-
-
Craig Topper authored
llvm-svn: 191874
-
Pete Cooper authored
This is useful for some ARM intrinsics such as VCVTN which does a <4 x float> <-> <4 x half> conversion. llvm-svn: 191870
-
- Oct 01, 2013
-
-
Rafael Espindola authored
Patch by Alp Toker. llvm-svn: 191757
-
Richard Sandiford authored
The old code skipped one of the sorting criteria if either pattern had no types. This could lead to cycles of the form X < Y, Y < Z, Z < X. llvm-svn: 191735
-
- Sep 30, 2013
-
-
Craig Topper authored
Filter out repeated sections from the X86 disassembler modRMTable. Saves about ~43K from a released build. Unfortunately the disassembler tables are still upwards of 800K. llvm-svn: 191652
-
Craig Topper authored
Add VEX_LIG to scalar FMA4 instructions. Use VEX_LIG in some of the inheriting checks in disassembler table generator. Make use of VEX_L_W, VEX_L_W_XS, VEX_L_W_XD contexts. Don't let VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE inherit from their non-L forms unless VEX_LIG is set. Let VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE inherit from all of their non-L or non-W cases. Increase ranking on VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE so they get chosen over non-L/non-W forms. llvm-svn: 191649
-
- Sep 25, 2013
-
-
Andrew Trick authored
Ideally, the machinel model is added at the time the instructions are defined. But many instructions in X86InstrSSE.td still need a model. Without this workaround the scheduler asserts because x86 already has itinerary classes for these instructions, indicating they should be modeled by the scheduler. Since we use the new machine model for other instructions, it expects a new machine model for these too. llvm-svn: 191391
-
Craig Topper authored
llvm-svn: 191356
-
Craig Topper authored
llvm-svn: 191355
-
- Sep 24, 2013
-
-
Stepan Dyatkovskiy authored
It is temporary patch. We need to keep it in trunk, since it makes easer to test it on buildbots on different platforms. Once we see stable MergeFunctions behaviour with satisfied perfomance, this patch will be removed. llvm-svn: 191331
-
Craig Topper authored
llvm-svn: 191280
-
Jiangning Liu authored
Patch by Ana Pazos. 1.Added support for v1ix and v1fx types. 2.Added Scalar Pairwise Reduce instructions. 3.Added initial implementation of Scalar Arithmetic instructions. llvm-svn: 191263
-
- Sep 23, 2013
-
-
Craig Topper authored
Add missing index comments to the left side of the DAG ISel matcher table for each individual case of SwitchOpcode/Type. llvm-svn: 191181
-
- Sep 22, 2013
-
-
Benjamin Kramer authored
This makes using array_pod_sort significantly safer. The implementation relies on function pointer casting but that should be safe as we're dealing with void* here. llvm-svn: 191175
-
- Sep 18, 2013
-
-
Matt Arsenault authored
llvm-svn: 190897
-
Matt Arsenault authored
For now it happens the argument is always the same. llvm-svn: 190896
-
Matt Arsenault authored
llvm-svn: 190893
-
- Sep 16, 2013
-
-
Tim Northover authored
libc++ didn't seem to like a non-const call operator. llvm-svn: 190797
-
Tim Northover authored
TableGen was sorting the entries in some of its internal data structures by pointer. This order filtered through to the final matching table and affected the diagnostics produced on bad assembly occasionally. It also turns out STL algorithms are ridiculously easy to misuse on containers with custom order methods. (No bugs before, or now that I know of, but plenty in the middle). This should fix the sanitizer bot, which ends up with weird pointers. llvm-svn: 190793
-
Tim Northover authored
llvm-svn: 190792
-