- Sep 12, 2014
-
-
Joerg Sonnenberger authored
llvm-svn: 217659
-
Justin Bogner authored
llvm-svn: 217657
-
Craig Topper authored
llvm-svn: 217655
-
David Majnemer authored
NFC. llvm-svn: 217648
-
Justin Bogner authored
This fixes a call to sys::fs::equivalent that should've been to CodeCoverageTool::equivalentFiles, which lets us restore the test of r217476 that was removed in r217478. This reverts r217478, but the test works this time. llvm-svn: 217646
-
Lang Hames authored
A "stub found found" diagnostic is emitted when RuntimeDyldChecker's stub lookup logic fails to find the requested stub. The obvious reason for the failure is that no such stub has been created, but it can also fail for internal symbols if the symbol offset is not computed correctly (E.g. due to a mangled relocation addend). This patch adds a comment about the latter case so that it's not overlooked. Inspired by confusion experienced during test case construction for r217635. llvm-svn: 217643
-
Rui Ueyama authored
This patch is to overload operator+= and operator-= for {u}{little}{big}{16,32,64}_t. llvm-svn: 217637
-
Matt Arsenault authored
The register numbers start at 0, so if only 1 register was used, this was reported as 0. llvm-svn: 217636
-
Lang Hames authored
symbols. Previously we have only been testing these relocations with external symbols. <rdar://problem/18308413> llvm-svn: 217635
-
Rui Ueyama authored
Use llvm::COFF::BigObjMagic insetad of the string literal. Also checks the version number. llvm-svn: 217633
-
- Sep 11, 2014
-
-
Rui Ueyama authored
The byte has no endianness, so these types don't make sense. uint8_t should be used instead. llvm-svn: 217631
-
Juergen Ributzka authored
llvm-svn: 217630
-
Quentin Colombet authored
I.e., teach it about 'sext (zext a to ty) to ty2' => zext a to ty2. llvm-svn: 217629
-
David Blaikie authored
And since it /looked/ like the DwarfStrSectionSym was unused, I tried removing it - but then it turned out that DwarfStringPool was reconstructing the same label (and expecting it to have already been emitted) and uses that. So I kept it around, but wanted to pass it in to users - since it seemed a bit silly for DwarfStringPool to have it passed in and returned but itself have no use for it. The only two users don't handle strings in both .dwo and .o files so they only ever need the one symbol - no need to keep it (and have an unused symbol) in the DwarfStringPool used for fission/.dwo. Refactor a bunch of accelerator table usage to remove duplication so I didn't have to touch 4-5 callers. llvm-svn: 217628
-
Rui Ueyama authored
identify_magic recognized a COFF bigobj as an import library file. This patch fixes that. llvm-svn: 217627
-
Rafael Espindola authored
The main difference is the removal of std::error_code exists(const Twine &path, bool &result); It was an horribly redundant interface since a file not existing is also a valid error_code. Now we have an access function that returns just an error_code. This is the only function that has to be implemented for Unix and Windows. The functions can_write, exists and can_execute an now just wrappers. One still has to be very careful using these function to avoid introducing race conditions (Time of check to time of use). llvm-svn: 217625
-
Bill Schmidt authored
llvm-svn: 217623
-
Bill Schmidt authored
Inline asm may specify 'U' and 'X' constraints to print a 'u' for an update-form memory reference, or an 'x' for an indexed-form memory reference. However, these are really only useful in GCC internal code generation. In inline asm the operand of the memory constraint is typically just a register containing the address, so 'U' and 'X' make no sense. This patch quietly accepts 'U' and 'X' in inline asm patterns, but otherwise does nothing. If we ever unexpectedly see a non-register, we'll assert and sort it out afterwards. I've added a new test for these constraints; the test case should be used for other asm-constraints changes down the road. llvm-svn: 217622
-
Lang Hames authored
Fixes <rdar://problem/18297804>. llvm-svn: 217620
-
Rafael Espindola authored
llvm-svn: 217618
-
Rafael Espindola authored
llvm-svn: 217617
-
Matt Arsenault authored
llvm-svn: 217612
-
Brad Smith authored
llvm-svn: 217611
-
Matt Arsenault authored
Do (shl (add x, c1), c2) -> (add (shl x, c2), c1 << c2) This is already done for multiplies, but since multiplies by powers of two are turned into shifts, we also need to handle it here. This might want checks for isLegalAddImmediate to avoid transforming an add of a legal immediate with one that isn't. llvm-svn: 217610
-
Lang Hames authored
and BR24 relocations. <rdar://problem/18296496> llvm-svn: 217605
-
Ismail Pazarbasi authored
LLVM_NOEXCEPT was added in r210591. llvm-svn: 217603
-
Adam Nemet authored
r189189 implemented AVX512 unpack by essentially performing a 256-bit unpack between the low and the high 256 bits of src1 into the low part of the destination and another unpack of the low and high 256 bits of src2 into the high part of the destination. I don't think that's how unpack works. AVX512 unpack simply has more 128-bit lanes but other than it works the same way as AVX. So in each 128-bit lane, we're always interleaving certain parts of both operands rather different parts of one of the operands. E.g. for this: __v16sf a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; __v16sf b = { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }; __v16sf c = __builtin_shufflevector(a, b, 0, 8, 1, 9, 4, 12, 5, 13, 16, 24, 17, 25, 20, 28, 21, 29); we generated punpcklps (notice how the elements of a and b are not interleaved in the shuffle). In turn, c was set to this: 0 16 1 17 4 20 5 21 8 24 9 25 12 28 13 29 Obviously this should have just returned the mask vector of the shuffle vector. I mostly reverted this change and made sure the original AVX code worked for 512-bit vectors as well. Also updated the tests because they matched the logic from the code. llvm-svn: 217602
-
Sanjay Patel authored
llvm-svn: 217601
-
Benjamin Kramer authored
llvm-svn: 217600
-
Sanjay Patel authored
This is an extension of the change made with r215820: http://llvm.org/viewvc/llvm-project?view=revision&revision=215820 That patch allowed combining of splatted vector FP constants that are multiplied. This patch allows combining non-uniform vector FP constants too by relaxing the check on the type of vector. Also, canonicalize a vector fmul in the same way that we already do for scalars - if only one operand of the fmul is a constant, make it operand 1. Otherwise, we miss potential folds. This fold is also done by -instcombine, but it's possible that extra fmuls may have been generated during lowering. Differential Revision: http://reviews.llvm.org/D5254 llvm-svn: 217599
-
Sanjay Patel authored
llvm-svn: 217597
-
Aaron Watry authored
Refactored the R600_LDS_1A2D class a bit to get it to actually work. It seemed to be previously unused and broken. We also have to disable the conversion to the noret variant for now in R600ISelLowering because the getLDSNoRetOp method only handles 1A1D LDS ops. Someone can feel free to modify the AMDGPU::getLDSNoRetOp method to work for more than 1A1D variants of LDS operations. It's being left as a future TODO for now. Signed-off-by: Aaron Watry <awatry at gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217596
-
Aaron Watry authored
Now that the operations are all implemented, we can test this sub-arch here. Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217595
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217594
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217593
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217592
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217591
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217590
-
Aaron Watry authored
This was only present for SI before. Cayman may still be missing, but I am unable to test that currently. v2: Don't create atomicrmw max tests in separate file Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Matt Arsenault <matthew.arsenault@amd.com> CC: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217589
-
Daniel Sanders authored
Summary: They were used in the 'Module Structure' example but weren't otherwise documented. Credit to Reed Kotler for noticing. Reviewers: hans Reviewed By: hans Subscribers: hans, llvm-commits Differential Revision: http://reviews.llvm.org/D5191 llvm-svn: 217583
-