summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make getStaticELFKind a member function now that we can.Rafael Espindola2015-10-122-14/+14
| | | | llvm-svn: 250031
* Delete getFirstELF.Rafael Espindola2015-10-123-10/+2
| | | | llvm-svn: 250030
* [X86] Add XSAVE intrinsic familyAmjad Aboud2015-10-1215-23/+311
| | | | | | | | | | | | Add intrinsics for the XSAVE instructions (XSAVE/XSAVE64/XRSTOR/XRSTOR64) XSAVEOPT instructions (XSAVEOPT/XSAVEOPT64) XSAVEC instructions (XSAVEC/XSAVEC64) XSAVES instructions (XSAVES/XSAVES64/XRSTORS/XRSTORS64) Differential Revision: http://reviews.llvm.org/D13012 llvm-svn: 250029
* This doesn't need to be virtual anymore.Rafael Espindola2015-10-121-1/+0
| | | | llvm-svn: 250028
* [x86] PR24562: fix incorrect folding of PSHUFB nodes with a mask where all ↵Andrea Di Biagio2015-10-122-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | indices have the most significant bit set. This patch fixes a problem in function 'combineX86ShuffleChain' that causes a chain of shuffles to be wrongly folded away when the combined shuffle mask has only one element. We may end up with a combined shuffle mask of one element as a result of multiple calls to function 'canWidenShuffleElements()'. Function canWidenShuffleElements attempts to simplify a shuffle mask by widening the size of the elements being shuffled. For every pair of shuffle indices, function canWidenShuffleElements checks if indices refer to adjacent elements. If all pairs refer to "adjacent" elements then the shuffle mask is safely widened. As a consequence of widening, we end up with a new shuffle mask which is half the size of the original shuffle mask. The byte shuffle (pshufb) from test pr24562.ll has a mask of all SM_SentinelZero indices. Function canWidenShuffleElements would combine each pair of SM_SentinelZero indices into a single SM_SentinelZero index. So, in a logarithmic number of steps (4 in this case), the pshufb mask is simplified to a mask with only one index which is equal to SM_SentinelZero. Before this patch, function combineX86ShuffleChain wrongly assumed that a mask of size one is always equivalent to an identity mask. So, the entire shuffle chain was just folded away as the combined shuffle mask was treated as a no-op mask. With this patch we know check if the only element of a combined shuffle mask is SM_SentinelZero. In case, we propagate a zero vector. Differential Revision: http://reviews.llvm.org/D13364 llvm-svn: 250027
* Test commitZlatko Buljan2015-10-121-1/+0
| | | | llvm-svn: 250026
* cmake: Avoid leading space in LLVM_DEFINITIONS.Pawel Bylica2015-10-121-1/+5
| | | | | | | | | | Summary: Unnecessary space at the beginning of LLVM_DEFINITIONS in cmake shared files can break projects that use the variable. Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13432 llvm-svn: 250025
* Improve TestValueOfVectorVariableTamas Berghammer2015-10-121-10/+3
| | | | | | | * XFAIL it for android arm/aarch64 as watchpoints aren't supported there * Remove the dwarf/dsym test separation as they will be generated automatically llvm-svn: 250024
* [SystemZ] testcase MC/SystemZ/insn-good-z13.s extended.Jonas Paulsson2015-10-121-7/+59
| | | | | | | | | New instructions using floating point registers have been added, to check that AsmParser can deal with fp regs in vector instructions. This tests r249810. llvm-svn: 250023
* X86: Change FTAG register size in FXSAVE structureAbhishek Aggarwal2015-10-126-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - Changed from 16 bits to 8 bits for Intel Architecture -- FXSAVE structure now conforms with the layout of FXSAVE area specified by IA Architecture Software Developer Manual - Modified Linux and FreeBSD specific files to support this change -- MacOSX already uses 8 bits for ftag register - Modified TestRegisters.py and a.cpp: -- Change allows 8 bit comparison of ftag values -- Change resolves Bug 24733: Removed XFAIL for Clang as the test works and passes for Clang compiler as well -- Change provides a Generic/Better way of testing Bug 24457 and Bug 25050 by using 'int3' inline assembly in inferior Signed-off-by: Abhishek Aggarwal <abhishek.a.aggarwal@intel.com> Reviewers: ovyalov, jingham, clayborg Subscribers: tfiala, emaste Differential Revision: http://reviews.llvm.org/D13587 llvm-svn: 250022
* [VFS] remove handling of '..' for now.Benjamin Kramer2015-10-122-5/+2
| | | | | | | | | This can fail badly if we're overlaying a real file system and there are symlinks there. Just keep the path as-is for now. This essentially reverts r249830. llvm-svn: 250021
* [MISched] Python script to check coverage of misched infoJames Molloy2015-10-121-0/+77
| | | | | | | | | | | | This script prints a CSV of all misched models of a target when given the output of the debug output of subtarget using: llvm-tblgen --gen-subtarget --debug-only=subtarget-emitter ... With thanks to Dave Estes for mentioning the idea at the 2014 LLVM Developers' Meeting. Patch by Christof Douma! llvm-svn: 250020
* ScopInfo: Allow simple 'AddRec * Parameter' products in delinearizationTobias Grosser2015-10-122-5/+74
| | | | | | | | | | | We also allow such products for cases where 'Parameter' is loaded within the scop, but where we can dynamically verify that the value of 'Parameter' remains unchanged during the execution of the scop. This change relies on Polly's new RequiredILS tracking infrastructure recently contributed by Johannes. llvm-svn: 250019
* SCEV: Allow simple AddRec * Parameter products in delinearizationTobias Grosser2015-10-123-11/+141
| | | | | | | | | This patch also allows the -delinearize pass to delinearize expressions that do not have an outermost SCEVAddRec expression. The SCEV::delinearize infrastructure allowed this since r240952, but the -delinearize pass was not updated yet. llvm-svn: 250018
* [ATTR] Automatic line feed after pragma-like attribute.Alexey Bataev2015-10-124-9/+55
| | | | | | | Automatically insert line feed after pretty printing of all pragma-like attributes + fix printing of pragma-like pragmas on declarations. Differential Revision: http://reviews.llvm.org/D13546 llvm-svn: 250017
* [X86] Use u8imm for the immediate type for all shift and rotate ↵Craig Topper2015-10-121-70/+70
| | | | | | instructions. This way the assembler will perform range checking. Believe this matches gas behavior. llvm-svn: 250016
* Delete leftover function declarationTobias Grosser2015-10-121-11/+0
| | | | | | The function's definition was already removed in r247289. llvm-svn: 250015
* [X86] Add support to assembler and MCInst lowering to use the other vmovq ↵Craig Topper2015-10-122-24/+28
| | | | | | %xmmX, %xmmX encoding if it would be a shorter VEX encoding. llvm-svn: 250014
* [X86] Cleanup formatting a bit. NFCCraig Topper2015-10-121-14/+14
| | | | llvm-svn: 250013
* [X86] Change the immediate for IN/OUT instructions to u8imm so the assembly ↵Craig Topper2015-10-123-12/+22
| | | | | | parser will check the size. llvm-svn: 250012
* [X86] Add some instruction aliases to get the assembly parser table to favor ↵Craig Topper2015-10-122-63/+31
| | | | | | | | arithmetic instructions with 8-bit immediates over the forms that implicitly use the ax/eax/rax. This allows us to remove the explicit code for working around the existing priority llvm-svn: 250011
* clang-format: Fixed typecast getting put on a separate line from theDaniel Jasper2015-10-122-1/+10
| | | | | | | | | | key in Obj-C dictionary literals This fixes: https://llvm.org/PR22647 Patch by Kent Sutherland. Thank you. llvm-svn: 250010
* clang-format: [JS] handle character classes in regexes.Daniel Jasper2015-10-122-1/+18
| | | | | | | | | Slashes in regular expressions do not need to be escaped and do not terminate the regular expression even without a preceding backslash. Patch by Martin Probst. Thank you. llvm-svn: 250009
* bindings: add new C++ function attribute accessorsSaleem Abdulrasool2015-10-122-0/+67
| | | | | | | | | Add methods to index Cursor to see if a cxx method is pure_virtual, virtual or const methods. Patch by Jonathan B Coe! llvm-svn: 250008
* [Darwin] Reworking r250003 to use lit.util.capture instead of subprocess.Chris Bieneman2015-10-121-6/+2
| | | | llvm-svn: 250007
* Simplify the InputFile type hierarchy by removing unnecessary middle classses.Rafael Espindola2015-10-123-56/+28
| | | | llvm-svn: 250006
* Simplify the InputFile type hierarchy.Rafael Espindola2015-10-128-127/+108
| | | | | | | Now that the SymbolTable is templated, we don't need the ELFData class or multiple inheritance. llvm-svn: 250005
* [llvm-rtdyld] General modernization/cleanup in preparation for (bigger) changes.Davide Italiano2015-10-121-19/+14
| | | | llvm-svn: 250004
* [Darwin] Need to add -isysroot on OS X otherwise the tests will fail if you ↵Chris Bieneman2015-10-121-0/+21
| | | | | | | | don't have the command line tools package installed. This mirrors how other LLVM suites are configured for running on OS X. llvm-svn: 250003
* Test commitMatthias Gehre2015-10-111-0/+1
| | | | llvm-svn: 250002
* Revert "builtins: enable builtins build for MSVC"Saleem Abdulrasool2015-10-111-1/+1
| | | | | | | | Revert once more. This seems to fail to build on the buildbots which build with ninja rather than MSBuild/Visual Studio. This requires further build infrastructure changes to deal with the assembly routines. llvm-svn: 250001
* Revert "Revert "builtins: enable builtins build for MSVC""Saleem Abdulrasool2015-10-111-1/+1
| | | | | | | Previous changes should now permit building on MSVC 2013 in addition to MSVC 2015. llvm-svn: 250000
* [Bugpoint] Get rid of dead code. No functional change.Davide Italiano2015-10-111-19/+0
| | | | llvm-svn: 249999
* ELF2: Implement --as-needed.Rui Ueyama2015-10-1113-17/+106
| | | | | | | | | | | | | | This patch adds AsNeeded and IsUsed bool fields to SharedFile. AsNeeded bit is set if the DSO is enclosed with --as-needed and --no-as-needed. IsUsed bit is off by default. When we adds a symbol to the symbol table for dynamic linking, we set its SharedFile's IsUsed bit. If AsNeeded is set but IsUsed is not set, we don't want to write that file's SO name to DT_NEEDED field. http://reviews.llvm.org/D13579 llvm-svn: 249998
* Fix warning caused by r249995George Burgess IV2015-10-111-0/+1
| | | | llvm-svn: 249997
* Handle a crash in conflict detection with archive members.Rafael Espindola2015-10-114-1/+17
| | | | llvm-svn: 249996
* [Sema] Allow C conversions in C overload logicGeorge Burgess IV2015-10-115-37/+91
| | | | | | | | | | C allows for some implicit conversions that C++ does not, e.g. void* -> char*. This patch teaches clang that these conversions are okay when dealing with overloads in C. Differential Revision: http://reviews.llvm.org/D13604 llvm-svn: 249995
* [X86] Fix CMP and TEST with al/ax/eax/rax to not mark EFLAGS as a use or ↵Craig Topper2015-10-111-27/+34
| | | | | | al/ax/eax/rax as a def. Probably doesn't have a functional affect since these aren't used in isel. llvm-svn: 249994
* [DAGCombiner] Improved FMA combine support for vectorsSimon Pilgrim2015-10-112-184/+221
| | | | | | | | Enabled constant canonicalization for all constants. Improved combining of constant vectors. llvm-svn: 249993
* Clang-format.Rui Ueyama2015-10-111-6/+12
| | | | llvm-svn: 249992
* Rename phdr{Copy,Set} -> {set,copy}Phdr.Rui Ueyama2015-10-111-9/+9
| | | | | | They are functions, so they should be verbs. llvm-svn: 249991
* [X86] Completed SHL cost model testsSimon Pilgrim2015-10-111-1/+399
| | | | | | As discussed in D8690. llvm-svn: 249990
* [X86] Remove special validation for INT immediate operand from AsmParser. ↵Craig Topper2015-10-115-27/+15
| | | | | | | | Instead mark its operand type as u8imm which will cause it to fail to match. This is more consistent with other instruction behavior. This also fixes a bug where negative immediates below -128 were not being reported as errors. llvm-svn: 249989
* ELF2: Remove ArgParser class and define parseArgs() function instead.Rui Ueyama2015-10-113-16/+9
| | | | | | | ArgParser was a class with only one member function, so it didn't have to be a class. llvm-svn: 249988
* ELF2: Use SmallPtrSet instead of unordered_set.Rui Ueyama2015-10-111-2/+5
| | | | | | This patch addresses Rafael's review comments to r249955. llvm-svn: 249987
* builtins: define and use ALWAYS_INLINESaleem Abdulrasool2015-10-112-4/+5
| | | | | | Abstract out the always inline spelling similar to ASAN. NFC. llvm-svn: 249986
* builtins: use NORETURN macroSaleem Abdulrasool2015-10-111-3/+3
| | | | | | | Now that we have the NORETURN macro, use that to mark the function as noreturn, rather than the GNU __attribute__. llvm-svn: 249985
* [X86] Renamed SHL cost model testsSimon Pilgrim2015-10-111-0/+0
| | | | | | | | Matches naming conventions for ASHR/LSHR cost tests As discussed in D8690. llvm-svn: 249984
* [X86] Added LSHR cost model testsSimon Pilgrim2015-10-111-0/+400
| | | | | | | | There are several dodgy costings due to AVX1 legalizing 256-bit integer vectors that need fixing. As discussed in D8690. llvm-svn: 249983
* Keep the IfStmt node even if the condition is invalidOlivier Goffart2015-10-112-17/+34
| | | | | | | This is important to keep the information in IDE or other tools even if the code contains a few errors llvm-svn: 249982
OpenPOWER on IntegriCloud