| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Add a new TTI hook for getting the generic address space value.
llvm-svn: 293563
|
| |
|
|
|
|
| |
constants
llvm-svn: 293562
|
| |
|
|
|
|
| |
Thanks to @mkuper
llvm-svn: 293561
|
| |
|
|
|
|
|
|
| |
combineX86ShufflesRecursively can still only handle a maximum of 2 shuffle inputs but everything before it now supports any number of shuffle inputs.
This will be necessary for combining OR(SHUFFLE, SHUFFLE) patterns.
llvm-svn: 293560
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can call it for legality check.
Summary: SamplePGO needs to check if it is legal to promote a target before it actually promotes it.
Reviewers: davidxl
Reviewed By: davidxl
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D29306
llvm-svn: 293559
|
| |
|
|
| |
llvm-svn: 293557
|
| |
|
|
| |
llvm-svn: 293554
|
| |
|
|
| |
llvm-svn: 293553
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix build when global-isel is disabled and fix a warning.
Summary: We can select constant/global G_LOAD, global G_STORE, and G_GEP.
Reviewers: qcolombet, MatzeB, t.p.northover, ab, arsenm
Subscribers: mehdi_amini, vkalintiris, kzhuravl, wdng, nhaehnle, mgorny, yaxunl, tony-tye, modocache, llvm-commits, dberris
Differential Revision: https://reviews.llvm.org/D26730
llvm-svn: 293551
|
| |
|
|
|
|
| |
This should fix the GlobalISel verifier.
llvm-svn: 293550
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Since we have no call support and late linking we can produce code
only for used symbols. This saves compilation time, size of the final
executable, and size of any intermediate dumps.
Run Internalize pass early in the opt pipeline followed by global
DCE pass. To enable it RT can pass -amdgpu-internalize-symbols option.
Differential Revision: https://reviews.llvm.org/D29214
llvm-svn: 293549
|
| |
|
|
|
|
|
|
|
| |
For some reason the exception selector register must be a pointer (that's
assumed by SDag); on the other hand, it gets moved into an IR-level type which
might be entirely different (i32 on AArch64). IRTranslator needs to be aware of
this.
llvm-svn: 293546
|
| |
|
|
| |
llvm-svn: 293545
|
| |
|
|
|
|
|
|
|
|
| |
For targets with different addressing modes in each address space,
if this is dropped querying isLegalAddressingMode later with this
will give a nonsense result, breaking the isLegalUse assertions.
This is a candidate for the 4.0 release branch.
llvm-svn: 293542
|
| |
|
|
| |
llvm-svn: 293541
|
| |
|
|
|
|
|
|
|
| |
This is worse if the original constant is an inline immediate.
This should also be done for 64-bit adds, but requires fixing
operand folding bugs first.
llvm-svn: 293540
|
| |
|
|
| |
llvm-svn: 293538
|
| |
|
|
|
|
|
| |
This can happen if earlier combining has removed all uses of some VReg, which
is fine and shouldn't flag an error.
llvm-svn: 293537
|
| |
|
|
|
|
| |
This is fairly ugly, but apparently GCC still doesn't understand C++11.
llvm-svn: 293535
|
| |
|
|
| |
llvm-svn: 293532
|
| |
|
|
| |
llvm-svn: 293526
|
| |
|
|
|
|
|
| |
With leaf functions, this makes nonsensical decisions
based on the uniformity of the arguments.
llvm-svn: 293525
|
| |
|
|
|
|
| |
vectors with splat constants
llvm-svn: 293524
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously, we would hit UB (or the ISD::DELETED_NODE assert) if we
happened to replace a node during UpdateChains, because it would be
left in the list we were iterating over. This nulls out the pointer
when that happens so that we can avoid the issue.
Fixes llvm.org/PR31710
llvm-svn: 293522
|
| |
|
|
|
|
| |
possible. NFCI.
llvm-svn: 293520
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D28977
llvm-svn: 293516
|
| |
|
|
|
|
| |
will turn into unreachable when it runs
llvm-svn: 293515
|
| |
|
|
| |
llvm-svn: 293514
|
| |
|
|
|
|
|
|
| |
fcmp (fneg x), c, pred -> fcmp x, -c, (swap pred)
InstCombine already does this.
llvm-svn: 293512
|
| |
|
|
| |
llvm-svn: 293510
|
| |
|
|
|
|
|
|
| |
This reverts commit r293503.
Revert while I investigate some of the buildbot failures.
llvm-svn: 293509
|
| |
|
|
| |
llvm-svn: 293508
|
| |
|
|
|
|
| |
with splat constants
llvm-svn: 293507
|
| |
|
|
|
|
|
|
|
| |
To simplify/clarify memory ownership, make leaks (as one was found/fixed
recently) harder to write, etc.
(also, while I was there - removed a duplicate lookup in a container)
llvm-svn: 293506
|
| |
|
|
| |
llvm-svn: 293504
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: We can select constant/global G_LOAD, global G_STORE, and G_GEP.
Reviewers: qcolombet, MatzeB, t.p.northover, ab, arsenm
Subscribers: mehdi_amini, vkalintiris, kzhuravl, wdng, nhaehnle, mgorny, yaxunl, tony-tye, modocache, llvm-commits, dberris
Differential Revision: https://reviews.llvm.org/D26730
llvm-svn: 293503
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r293196
Besides making things look nicer, ATM, we'd like to preserve analysis
more than we'd like to destroy the CFG. We'll probably revisit in the future
llvm-svn: 293501
|
| |
|
|
|
|
| |
target shuffles
llvm-svn: 293500
|
| |
|
|
|
|
|
| |
This fixes emitting conversions of constants on targets
without legal f16 that need to use these for legalization.
llvm-svn: 293499
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original shift is bigger, so this may qualify as 'obvious',
but here's an attempt at an Alive-based proof:
Name: exact
Pre: (C1 u< C2)
%a = shl i8 %x, C1
%b = lshr exact i8 %a, C2
=>
%c = lshr exact i8 %x, C2 - C1
%b = and i8 %c, ((1 << width(C1)) - 1) u>> C2
Optimization is correct!
llvm-svn: 293498
|
| |
|
|
| |
llvm-svn: 293494
|
| |
|
|
|
|
| |
This significantly reduces the noise level of these messages.
llvm-svn: 293492
|
| |
|
|
| |
llvm-svn: 293491
|
| |
|
|
|
|
|
|
| |
TotalAltCost => TotalSecondaryCost
Differential Revision: https://reviews.llvm.org/D29231
llvm-svn: 293490
|
| |
|
|
| |
llvm-svn: 293489
|
| |
|
|
|
|
|
|
|
|
| |
Different architectures can have different meaning for flags in the
SHF_MASKPROC mask, so we should always check what the architecture use
before checking the flag.
NFC for now, but will allow fixing the value of an xmos flag.
llvm-svn: 293484
|
| |
|
|
| |
llvm-svn: 293482
|
| |
|
|
| |
llvm-svn: 293478
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: already covered by complex patterns
Reviewers: arsenm, nhaehnle, tstellarAMD
Subscribers: kzhuravl, wdng, yaxunl, tony-tye
Differential Revision: https://reviews.llvm.org/D28995
llvm-svn: 293477
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, tstellarAMD
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye
Differential Revision: https://reviews.llvm.org/D28992
llvm-svn: 293476
|