| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
AFAICT, these have been unused since the initial backend import.
llvm-svn: 258093
|
| |
|
|
|
|
|
| |
Reduce 64-bit shl with constant > 32. We already special cased
this for the == 32 case, but this also works for any >= 32 constant.
llvm-svn: 258092
|
| |
|
|
| |
llvm-svn: 258091
|
| |
|
|
|
|
| |
64-bit shifts are very slow on some subtargets.
llvm-svn: 258090
|
| |
|
|
|
|
|
|
|
| |
Although glibc defines it, this is currently of no use for my primary
use-case (dumping DT_* keys correctly). Its semantic is not described
anywhere I can find, so better leave it out for now.
Thanks to Rafael for pointing out in his post-commit review!
llvm-svn: 258089
|
| |
|
|
| |
llvm-svn: 258088
|
| |
|
|
|
|
|
|
| |
The coverage is almost non-existent, hopefully more will come after this.
Differential Revision: http://reviews.llvm.org/D16096
llvm-svn: 258087
|
| |
|
|
| |
llvm-svn: 258086
|
| |
|
|
| |
llvm-svn: 258085
|
| |
|
|
| |
llvm-svn: 258084
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
globalize any local variables.
Summary:
Currently llvm::SplitModule as the first step globalizes all local objects, which might not be desirable in some scenarios.
This change adds a new flag to llvm::SplitModule that uses SCC approach to search for a balanced partition without the need to externalize symbols.
Such partition might not be possible or fully balanced for a given number of partitions, and is a function of the module properties (global/local dependencies within the module).
Joint development Tobias Edler von Koch (tobias@codeaurora.org) and Sergei Larin (slarin@codeaurora.org)
Subscribers: llvm-commits, joker.eph
Differential Revision: http://reviews.llvm.org/D16124
llvm-svn: 258083
|
| |
|
|
| |
llvm-svn: 258082
|
| |
|
|
|
|
|
|
| |
AVX2 can only broadcast from the zero'th element of a vector, but if the broadcastable element is the zero'th element of a 128-bit subvector its advantageous to extract the subvector, broadcast from that and avoid the loading of shuffle mask data that would be needed for VPERMPS/VPERMD. The only exception being when the source type is 4f64 or 4i64 which can directly use the immediate shuffle VPERMPD/VPERMQ directly.
Differential Revision: http://reviews.llvm.org/D16050
llvm-svn: 258081
|
| |
|
|
| |
llvm-svn: 258080
|
| |
|
|
| |
llvm-svn: 258079
|
| |
|
|
| |
llvm-svn: 258078
|
| |
|
|
| |
llvm-svn: 258077
|
| |
|
|
| |
llvm-svn: 258076
|
| |
|
|
|
|
|
| |
- Allow any instruction to define equality between registers.
- Keep the DFG updated.
llvm-svn: 258075
|
| |
|
|
| |
llvm-svn: 258074
|
| |
|
|
| |
llvm-svn: 258073
|
| |
|
|
|
|
| |
Patch by Jonathan Coe.
llvm-svn: 258072
|
| |
|
|
|
|
| |
BinOpInit and TernOpInit. This remove the memory needed to store the key for the DenseMap. NFC
llvm-svn: 258071
|
| |
|
|
|
|
| |
EXPECT_TRUE instead of EXPECT_FALSE. Adds a matcher test to ensure that static member functions are properly handled. Generates the documentation from the matcher.
llvm-svn: 258070
|
| |
|
|
| |
llvm-svn: 258069
|
| |
|
|
| |
llvm-svn: 258068
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When SimplifySetCC sees a setcc node that compares the result of a
value extension operation with a constant, it tries to simplify the
setcc node by eliminating the extension and shrinking the constant.
If shrinking the inputs to setcc is deemed not desirable by the target
(e.g. the target does not want a setcc comparing i1 values), then it
is still possible to optimize this sequence in some cases.
This patch adds the following combines to SimplifySetCC when shrinking setcc
inputs is not desirable:
(setcc ([sz]ext (setcc x, y, cc)), 0, setne) -> (setcc (x, y, cc))
(setcc ([sz]ext (setcc x, y, cc)), 0, seteq) -> (setcc (x, Y, !cc))
There are no tests for this yet, but once AMDGPU correctly implements
TargetLowering::isTypeDesirableForOp(), this new combine will be
exercised by the existing CodeGen/AMDGPU/setcc-opt.ll test.
Reviewers: resistor, arsenm
Subscribers: jroelofs, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D15034
llvm-svn: 258067
|
| |
|
|
|
|
| |
This removes the state needed to manage the extract vector. NFC
llvm-svn: 258066
|
| |
|
|
|
|
| |
vector. This removes the state needed to manage the extra vector thus reducing the size of the Record class. NFC
llvm-svn: 258065
|
| |
|
|
| |
llvm-svn: 258064
|
| |
|
|
|
|
| |
BitsInit/ListInit object itself. Saves a bit of memory. NFC
llvm-svn: 258063
|
| |
|
|
| |
llvm-svn: 258062
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
warnings on return.
In r256567 I changed the nullability checker to suppress warnings about returning a null
value from a function/method with a non-null return type when the type of the returned
expression is itself nonnull. This enables the programmer to silence nullability warnings
by casting to _Nonnull:
return (SomeObject * _Nonnull)nil;
Unfortunately, under ObjC automated reference counting, Sema adds implicit casts to
_Nonnull to return expressions of nullable or unspecified types in functions with
non-null function/method return types. With r256567, these casts cause all nullability
warnings for returns of reference-counted types to be suppressed under ARC, leading to
false negatives.
This commit updates the nullability checker to look through implicit casts before
determining the type of the returned expression. It also updates the tests to turn on
ARC for the nullability_nullonly.mm testfile and adds a new testfile to test when ARC
is turned off.
rdar://problem/24200117
llvm-svn: 258061
|
| |
|
|
|
|
|
| |
Follow up to r258001. These template functions might return both REL and RELA
relocations. The 'rel' noun looks less ambiguous.
llvm-svn: 258060
|
| |
|
|
| |
llvm-svn: 258059
|
| |
|
|
| |
llvm-svn: 258058
|
| |
|
|
| |
llvm-svn: 258057
|
| |
|
|
|
|
| |
it isn't used in the code anymore, and we're trying to cut down on the decorators.
llvm-svn: 258049
|
| |
|
|
|
|
|
|
| |
This does not work and causes the class to be silently skipped, which is a bad idea. This makes
sure it cannot happen accidentaly. I've played with the idea of actually making the decorator
work at class level, but it proved too magic to do at this moment.
llvm-svn: 258048
|
| |
|
|
|
|
|
|
| |
Implemented intrinsic for the follow instructions (store) : VMOVDQU8/16/32/64, VMOVDQA32/64, VMOVAPS/PD, VMOVUPS/PD.
Differential Revision: http://reviews.llvm.org/D16271
llvm-svn: 258047
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16289
llvm-svn: 258046
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction.
code example , previous implementation.
movzbl %dil, %eax
kmovw %eax, %k0
new code
kmovw %edi, %k0
Differential Revision: http://reviews.llvm.org/D16287
llvm-svn: 258045
|
| |
|
|
|
|
|
|
|
| |
When the shift immediate is zero, PKHTB is an alias for PKHBT, but the order of
the input operands needs to be swapped.
Differential Revision: http://reviews.llvm.org/D16288
llvm-svn: 258044
|
| |
|
|
|
|
|
|
| |
It causes issues for i386 when compiling with gcc-4.9.2
This reverts commit e248214a3eab8e244095f97d1996c991cb988cc4.
llvm-svn: 258043
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The new matcher allows users to provide a matcher for both the argument
of a CallExpr/CxxConstructExpr a well as the ParmVarDecl of the
argument.
Patch by Felix Berger.
Differential Revision: http://reviews.llvm.org/D13845
llvm-svn: 258042
|
| |
|
|
|
|
|
|
|
| |
Fixing wrong typo (avx515) → (avx512)
Review over the shoulder by asaf .
Differential Revision: http://reviews.llvm.org/D16190
llvm-svn: 258041
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ELF symbol table always contain the size of the symbols so we
don't have to try to guess them based on the address of the next
symbol (it is needed for mach-o).
The change fixes an issue when a symbol is removed after a 0 size
symbol (e.g. because the second one is not public) what previously
caused the symbol lookup algorithm to end up with showing the 0 size
symbol even for the later addresses (what are not part of any symbol).
That symbol lookup error can confuse the user and also confuses the
current stack unwinder.
Differential revision: http://reviews.llvm.org/D16186
llvm-svn: 258040
|
| |
|
|
|
|
|
|
|
| |
Make sure that we do not add SymbolCast at the very boundary of
the range in which the cast would not certainly happen.
Differential Revision: http://reviews.llvm.org/D16178
llvm-svn: 258039
|
| |
|
|
|
|
|
|
| |
Reverts earlier commit r254910, which used function pointers for jitted expressions
to avoid a Mips64 compiler bug. Bug has since been fixed, and compiler longer issues the problem instruction.
Author: Dean De Leo <dean@codeplay.com>
llvm-svn: 258038
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16070
llvm-svn: 258037
|