| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
Prior to SSE41 (and sometimes on AVX1), vector select has to be performed as a ((X & C)|(Y & ~C)) bit select.
Exposes a couple of issues with the min/max reduction costs (which only go down to SSE42 for some reason).
The increase pre-SSE41 selection costs also prevent a couple of tests from firing any longer, so I've either tweaked the target or added AVX tests as well to the existing SSE2 tests.
llvm-svn: 351685
|
| |
|
|
|
|
| |
Typical throughputs: cmpss/cmpps = 1cy and cmpsd/cmppd = 2cy before the Core2 era
llvm-svn: 351684
|
| |
|
|
|
|
|
|
| |
NFCI.
Minor tidyup to make it clearer whats going on before adding additional costs.
llvm-svn: 351683
|
| |
|
|
| |
llvm-svn: 351682
|
| |
|
|
|
|
| |
SSE2/SSE42/AVX1 targets
llvm-svn: 351681
|
| |
|
|
|
|
| |
Also add AVX512 costs at the same time
llvm-svn: 351680
|
| |
|
|
|
|
|
|
| |
These have been in place for quite a while now.
Several bugs have since been fixed, and these tests now pass.
llvm-svn: 351679
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This extends the CMake cross compilation logic so that AVR can be set as
the default target triple, and thus the generic codegen tests can be
run.
This used to be possible on AVR; the CMake configuration files have
since been changed.
With this patch, 'cmake -DLLVM_DEFAULT_TARGET_TRIPLE=avr-unknown-unknown' can
be passed on the command line, making the `-mcpu` argument redundant to
'llc' and friends.
llvm-svn: 351678
|
| |
|
|
|
|
|
|
|
|
|
| |
These were originally introduced in a copy-paste committed in r351526.
The reference to 't2_so_imm' have been updated to 'imm_com8' so the
comment is now accurate.
Thanks to Eli Friedman for noticing this.
llvm-svn: 351674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this patch, the AVR::LDWRdPtr instruction was always lowered to
instructions of this pattern:
ld $GPR8, [PTR:XYZ]+
ld $GPR8, [PTR]+1
This has a problem; the [PTR] is incremented in-place once, but never
decremented.
Future uses of the same pointer will use the now clobbered value,
leading to the pointer being incorrect by an offset of one.
This patch modifies the expansion code of the LDWRdPtr pseudo
instruction so that the pointer variable is not silently clobbered in
future uses in the same live range.
Bug first reported by Keshav Kini.
Patch by Kaushik Phatak.
llvm-svn: 351673
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit r351544.
In that commit, I had mistakenly misattributed the issue submitter as
the patch author, Kaushik Phatak.
The patch will be recommitted immediately with the correct attribution.
llvm-svn: 351672
|
| |
|
|
| |
llvm-svn: 351671
|
| |
|
|
|
|
|
|
|
|
| |
D56445 bumped the minimum Mac OS X version required for aligned
allocation from 10.13 to 10.14. This caused libc++ tests depending
on the old value to break.
This patch updates the XFAILs for those tests to include 10.13.
llvm-svn: 351670
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r351625.
That fix was incomplete. I'm reverting so I can commit a complete fix
in a single revision.
llvm-svn: 351669
|
| |
|
|
| |
llvm-svn: 351668
|
| |
|
|
| |
llvm-svn: 351667
|
| |
|
|
|
|
|
|
| |
cvtuqq2ps nodes that produce less than 128-bits of results.
These nodes zero the upper half of the result and can't be represented with vselect.
llvm-svn: 351666
|
| |
|
|
| |
llvm-svn: 351665
|
| |
|
|
|
|
|
|
|
|
| |
The format for the -w argument is:
-w name ( --category name )
Rearrange the flags correctly.
llvm-svn: 351664
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D56873
llvm-svn: 351663
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D56840
llvm-svn: 351662
|
| |
|
|
|
|
|
|
|
| |
Also remove sections similarly for --strip-all, --discard-all,
--strip-unneeded.
Differential Revision: https://reviews.llvm.org/D56839
llvm-svn: 351661
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D56683
llvm-svn: 351660
|
| |
|
|
|
|
|
|
|
|
| |
The debug directory contains the rwa file address of itself,
which is updated on write. Add a testcase for this existing
functionality.
Differential Revision: https://reviews.llvm.org/D56876
llvm-svn: 351659
|
| |
|
|
| |
llvm-svn: 351658
|
| |
|
|
|
|
|
| |
Tests named .yaml aren't executed by default in this directory
(while they are within e.g. LLD).
llvm-svn: 351657
|
| |
|
|
| |
llvm-svn: 351653
|
| |
|
|
| |
llvm-svn: 351652
|
| |
|
|
| |
llvm-svn: 351651
|
| |
|
|
| |
llvm-svn: 351650
|
| |
|
|
|
|
|
|
| |
Since these are intended to be short and succinct, I've used the SPDX
full name. It's human readable, but formally agreed upon and will be
part of the SPDX spec for licenses.
llvm-svn: 351649
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.
We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.
llvm-svn: 351648
|
| |
|
|
|
|
|
| |
This is coming up a lot in reviews. Better just to change them all at
once.
llvm-svn: 351647
|
| |
|
|
|
|
| |
This is coming up a lot in reviews. Better just to do them all at once.
llvm-svn: 351646
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Followup to D55745, this time handling comparisons with ugt and ult
predicates (which are the canonical forms for non-equality predicates).
For ctlz we can convert into a simple icmp, for cttz we can convert
into a mask check.
Differential Revision: https://reviews.llvm.org/D56355
llvm-svn: 351645
|
| |
|
|
| |
llvm-svn: 351644
|
| |
|
|
| |
llvm-svn: 351643
|
| |
|
|
| |
llvm-svn: 351642
|
| |
|
|
| |
llvm-svn: 351641
|
| |
|
|
|
|
|
|
|
| |
It contains an `$Id$` expansion and so can only be updated from a true
Subversion client.
See the details of this update in r351636.
llvm-svn: 351640
|
| |
|
|
| |
llvm-svn: 351639
|
| |
|
|
|
|
|
| |
The buildbot start scripts hardcode the version string.
Bump it from 8 to 9.
llvm-svn: 351638
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Only an obscure case is moved.
Reviewers: aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D56829
llvm-svn: 351637
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to reflect the new license.
We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.
llvm-svn: 351636
|
| |
|
|
| |
llvm-svn: 351635
|
| |
|
|
|
|
|
| |
a stray single '\r' from one file. These are the last line ending issues
I can find in the files containing parts of LLVM's file headers.
llvm-svn: 351634
|
| |
|
|
|
|
| |
code.
llvm-svn: 351633
|
| |
|
|
|
|
|
|
| |
endings. We already used them in some cases, and this makes things
consistent. This will also simplify updating the licenses in these
files.
llvm-svn: 351632
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This installs the new developer policy and moves all of the license
files across all LLVM projects in the monorepo to the new license
structure. The remaining projects will be moved independently.
Note that I've left odd formatting and other idiosyncracies of the
legacy license structure text alone to make the diff easier to read.
Critically, note that we do not in any case *remove* the old license
notice or terms, as that remains necessary until we finish the
relicensing process.
I've updated a few license files that refer to the LLVM license to
instead simply refer generically to whatever license the LLVM project is
under, basically trying to minimize confusion.
This is really the culmination of so many people. Chris led the
community discussions, drafted the policy update and organized the
multi-year string of meeting between lawyers across the community to
figure out the strategy. Numerous lawyers at companies in the community
spent their time figuring out initial answers, and then the Foundation's
lawyer Heather Meeker has done *so* much to help refine and get us ready
here. I could keep going on, but I just want to make sure everyone
realizes what a huge community effort this has been from the begining.
Differential Revision: https://reviews.llvm.org/D56897
llvm-svn: 351631
|
| |
|
|
| |
llvm-svn: 351630
|