| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes in X86.td:
I set features of Intel processors in incremental form: IVB = SNB + X HSW = IVB + X ..
I added Skylake client processor and defined it's features
FeatureADX was missing on KNL
Added some new features to appropriate processors SMAP, IFMA, PREFETCHWT1, VMFUNC and others
Differential Revision: http://reviews.llvm.org/D16357
llvm-svn: 258659
|
|
|
|
| |
llvm-svn: 258658
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16137
llvm-svn: 258657
|
|
|
|
|
|
|
|
| |
mapping from instruction to unique command, instead store a list of which instructions each unique command corresponds to.
This simplifies the complexity of the code that tries to find further operands to merge into the unique command.
llvm-svn: 258656
|
|
|
|
| |
llvm-svn: 258655
|
|
|
|
|
|
|
|
|
| |
SCCP has code identical to changeToUnreachable's behavior, switch it
over to just call changeToUnreachable.
No functionality change intended.
llvm-svn: 258654
|
|
|
|
|
|
|
|
|
| |
InstCombine and SCCP both want to remove dead code in a very particular
way but using identical means to do so. Share the code between the two.
No functionality change is intended.
llvm-svn: 258653
|
|
|
|
| |
llvm-svn: 258652
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A cleanup can have paths which unwind or end up in unreachable.
If there is an unreachable path *and* a path which unwinds to caller,
we would mistakenly inject an unwind path to a catchswitch on the
unreachable path. This results in a verifier assertion firing because
the cleanup unwinds to two different places: to the caller and to the
catchswitch.
This occured because we used getCleanupRetUnwindDest to determine if the
cleanuppad had no cleanuprets.
This is incorrect, getCleanupRetUnwindDest returns null for cleanuprets
which unwind to caller.
llvm-svn: 258651
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8940
llvm-svn: 258650
|
|
|
|
|
|
| |
The documentation for these functions is already present in the header file.
llvm-svn: 258649
|
|
|
|
|
|
| |
The documentation for these methods is already present in the header.
llvm-svn: 258648
|
|
|
|
|
|
| |
Nowadays the alignment attribute is not the only integer attribute.
llvm-svn: 258647
|
|
|
|
|
|
| |
BUILD_VECTOR and UNDEF folding.
llvm-svn: 258646
|
|
|
|
|
|
| |
Generalised mask generation / subvector extraction to use the input/output types directly instead of an if/else through all the currently accepted types.
llvm-svn: 258645
|
|
|
|
|
|
| |
Make use of DAG.getBitcast and use clang-format to reduce number of lines (and make it more readable).
llvm-svn: 258644
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: tra
Subscribers: cfe-commits, echristo, jhen
Differential Revision: http://reviews.llvm.org/D16484
llvm-svn: 258643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The code in CGCUDACall is largely based on a patch written by Eli
Bendersky:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140324/210218.html
That patch implemented an LLVM pass lowering printf to vprintf; this
one does something similar, but in Clang codegen.
Reviewers: echristo
Subscribers: cfe-commits, jhen, tra, majnemer
Differential Revision: http://reviews.llvm.org/D16372
llvm-svn: 258642
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: CUDA (well, strictly speaking, NVPTX) doesn't support aliases.
Reviewers: echristo
Subscribers: cfe-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16502
llvm-svn: 258641
|
|
|
|
|
|
|
|
|
|
| |
Summary: No functional changes.
Subscribers: tra, echristo, jhen, cfe-commits
Differential Revision: http://reviews.llvm.org/D16495
llvm-svn: 258640
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Helper so we don't have to enumerate nvptx && nvptx64 everywhere.
Reviewers: echristo
Subscribers: llvm-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16494
llvm-svn: 258639
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously, we would just output "foo = bar" in the assembly, and then
ptxas would choke. Now we die before emitting any invalid code.
Reviewers: echristo
Subscribers: jholewinski, llvm-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16490
llvm-svn: 258638
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Before:
.func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv(
)
{
After:
.func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv()
{
Reviewers: bkramer
Subscribers: llvm-commits, tra, jhen, echristo, jholewinski
Differential Revision: http://reviews.llvm.org/D16512
llvm-svn: 258637
|
|
|
|
|
|
| |
ilist::size() is O(n) while ilist::empty() is O(1)
llvm-svn: 258636
|
|
|
|
|
|
| |
Sorry for the noise.
llvm-svn: 258635
|
|
|
|
| |
llvm-svn: 258634
|
|
|
|
| |
llvm-svn: 258633
|
|
|
|
| |
llvm-svn: 258632
|
|
|
|
| |
llvm-svn: 258631
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Update ObjectTransformLayer::addObjectSet to take the object set by
value rather than reference and pass it to the base layer with move
semantics rather than copy, to match r258185's changes to
ObjectLinkingLayer.
Update the unit test to verify that ObjectTransformLayer's signature stays
in sync with ObjectLinkingLayer's.
Reviewers: lhames
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16414
llvm-svn: 258630
|
|
|
|
|
|
|
|
| |
For the moment, this file takes way too long to run (see inline comments), but
that should be a temporary problem. The fact that the compile time is so slow
for a target that doesn't support maskmov may be a bug worth investigating too.
llvm-svn: 258629
|
|
|
|
|
|
| |
Patch by Jonathan Coe.
llvm-svn: 258628
|
|
|
|
|
|
|
|
|
|
|
| |
target is macho.
It looks like the check for macho was accidentally dropped in r132959.
I don't have a test case, but I'll add one if anyone knows how this can
be tested.
llvm-svn: 258627
|
|
|
|
| |
llvm-svn: 258626
|
|
|
|
|
|
|
|
| |
This reverts commit r258575. EricWF sent me an email (no link since it
was off-list) requesting to review this pre-commit instead of
post-commit.
llvm-svn: 258625
|
|
|
|
| |
llvm-svn: 258624
|
|
|
|
| |
llvm-svn: 258623
|
|
|
|
|
|
| |
If the INSERTPS zeroes out all the referenced elements from either of the 2 input vectors (and the input is not already UNDEF), then set that input to UNDEF to reduce dependencies.
llvm-svn: 258622
|
|
|
|
|
|
|
|
| |
Reviewers: clayborg.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits.
Differential Revision: http://reviews.llvm.org/D16397
llvm-svn: 258621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now LIR can turn following codes into memset:
typedef struct foo {
int a;
int b;
} foo_t;
void bar(foo_t *f, unsigned n) {
for (unsigned i = 0; i < n; ++i) {
f[i].a = 0;
f[i].b = 0;
}
}
void test(foo_t *f, unsigned n) {
for (unsigned i = 0; i < n; i += 2) {
f[i] = 0;
f[i+1] = 0;
}
}
llvm-svn: 258620
|
|
|
|
|
|
|
|
|
| |
Seems like some compilers still give unused variable warnings for
bool var = ...;
(void)var;
so I have to inline the variable.
llvm-svn: 258619
|
|
|
|
| |
llvm-svn: 258618
|
|
|
|
| |
llvm-svn: 258617
|
|
|
|
|
|
| |
LLVM's BasicBlock has a single terminator, it is not valid to have two.
llvm-svn: 258616
|
|
|
|
| |
llvm-svn: 258615
|
|
|
|
| |
llvm-svn: 258614
|
|
|
|
|
|
| |
This will make future test updates easier
llvm-svn: 258613
|
|
|
|
|
|
| |
Replace tests with lrp with basic IR expansion
llvm-svn: 258612
|
|
|
|
|
|
|
|
|
| |
Instead of RAUW with undef, replace the first non-token instruction with
unreachable.
This fixes PR26263.
llvm-svn: 258611
|
|
|
|
|
|
| |
No functionality change is intended.
llvm-svn: 258610
|