| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 250031
|
|
|
|
| |
llvm-svn: 250030
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 250028
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 250026
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
instructions. This way the assembler will perform range checking. Believe this matches gas behavior.
llvm-svn: 250016
|
|
|
|
|
|
| |
The function's definition was already removed in r247289.
llvm-svn: 250015
|
|
|
|
|
|
| |
%xmmX, %xmmX encoding if it would be a shorter VEX encoding.
llvm-svn: 250014
|
|
|
|
| |
llvm-svn: 250013
|
|
|
|
|
|
| |
parser will check the size.
llvm-svn: 250012
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
key in Obj-C dictionary literals
This fixes: https://llvm.org/PR22647
Patch by Kent Sutherland. Thank you.
llvm-svn: 250010
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 250007
|
|
|
|
| |
llvm-svn: 250006
|
|
|
|
|
|
|
| |
Now that the SymbolTable is templated, we don't need the ELFData class or
multiple inheritance.
llvm-svn: 250005
|
|
|
|
| |
llvm-svn: 250004
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 250002
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Previous changes should now permit building on MSVC 2013 in addition to MSVC
2015.
llvm-svn: 250000
|
|
|
|
| |
llvm-svn: 249999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249997
|
|
|
|
| |
llvm-svn: 249996
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
al/ax/eax/rax as a def. Probably doesn't have a functional affect since these aren't used in isel.
llvm-svn: 249994
|
|
|
|
|
|
|
|
| |
Enabled constant canonicalization for all constants.
Improved combining of constant vectors.
llvm-svn: 249993
|
|
|
|
| |
llvm-svn: 249992
|
|
|
|
|
|
| |
They are functions, so they should be verbs.
llvm-svn: 249991
|
|
|
|
|
|
| |
As discussed in D8690.
llvm-svn: 249990
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
ArgParser was a class with only one member function, so it didn't
have to be a class.
llvm-svn: 249988
|
|
|
|
|
|
| |
This patch addresses Rafael's review comments to r249955.
llvm-svn: 249987
|
|
|
|
|
|
| |
Abstract out the always inline spelling similar to ASAN. NFC.
llvm-svn: 249986
|
|
|
|
|
|
|
| |
Now that we have the NORETURN macro, use that to mark the function as noreturn,
rather than the GNU __attribute__.
llvm-svn: 249985
|
|
|
|
|
|
|
|
| |
Matches naming conventions for ASHR/LSHR cost tests
As discussed in D8690.
llvm-svn: 249984
|
|
|
|
|
|
|
|
| |
There are several dodgy costings due to AVX1 legalizing 256-bit integer vectors that need fixing.
As discussed in D8690.
llvm-svn: 249983
|
|
|
|
|
|
|
| |
This is important to keep the information in IDE or other tools
even if the code contains a few errors
llvm-svn: 249982
|