| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Enable full support for the debug info.
Reviewers: echristo
Subscribers: jholewinski, aprantl, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D46189
llvm-svn: 351846
|
| |
|
|
|
|
| |
This is still causing compilation crashes in some targets. Will follow up shortly with a repro.
llvm-svn: 351845
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Initial function labels must follow the debug location for the correct relocation info generation.
Reviewers: tra, jlebar, echristo
Subscribers: jholewinski, llvm-commits
Differential Revision: https://reviews.llvm.org/D45784
llvm-svn: 351843
|
| |
|
|
|
|
| |
Matches test coverage of test\CodeGen\X86\avx512vpopcntdq-schedule.ll
llvm-svn: 351842
|
| |
|
|
|
|
| |
They were for the 8.0 branch, and have been committed there in r351839.
llvm-svn: 351841
|
| |
|
|
| |
llvm-svn: 351840
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A couple of changes in the Scudo documentation:
- tag the shell code blocks as `console`;
- document error messages that are displayed in some termination conditions,
the reason they triggered, and potential causes.
Reviewers: eugenis, enh
Reviewed By: eugenis
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D56857
llvm-svn: 351838
|
| |
|
|
| |
llvm-svn: 351837
|
| |
|
|
|
|
| |
We're getting pretty close to matching/exceeding test coverage of the test\CodeGen\X86\*-schedule.ll files, which should allow us to get rid of -print-schedule and fix PR37160
llvm-svn: 351836
|
| |
|
|
|
|
| |
and rdtsc/rdtscp tests
llvm-svn: 351835
|
| |
|
|
|
|
|
|
|
| |
The existing test unintentionally shows that we have prematurely
optimized the shuffle into a vector concat and lost the undef info,
so it is not affected by a basic improvement to
SimplifyDemandedVectorElts.
llvm-svn: 351834
|
| |
|
|
|
|
|
|
|
|
| |
As discovered in D56774 the command line gets to long, so use a response file to give the script the libs. This change has been tested and is confirmed working for me.
Commited on behalf of Jakob Bornecrantz
Differential Revision: https://reviews.llvm.org/D56781
llvm-svn: 351833
|
| |
|
|
| |
llvm-svn: 351832
|
| |
|
|
| |
llvm-svn: 351831
|
| |
|
|
|
|
| |
files
llvm-svn: 351830
|
| |
|
|
|
|
| |
These technically should be under a MONITOR cpuid bit, but we tag them as SSE3 so I've done that here as well.
llvm-svn: 351829
|
| |
|
|
| |
llvm-svn: 351828
|
| |
|
|
| |
llvm-svn: 351827
|
| |
|
|
|
|
|
|
|
| |
ClangTidyOptions::getDefaults is not free, it will initialize all
clang-tidy modules to get check-specific options, and we don't use this
information in CodeComplete, so using an empty one (constructed by
default constructor) is sufficient.
llvm-svn: 351826
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vecbo (insertsubv undef, X, Z), (insertsubv undef, Y, Z) --> insertsubv VecC, (vecbo X, Y), Z
This is another step in generic vector narrowing. It's also a step towards more horizontal op
formation specifically for x86 (although we still failed to match those in the affected tests).
The scalarization cases are also not optimal (we should be scalarizing those), but it's still
an improvement to use a narrower vector op when we know part of the result must be constant
because both inputs are undef in some vector lanes.
I think a similar match but checking for a constant operand might help some of the cases in
D51553.
Differential Revision: https://reviews.llvm.org/D56875
llvm-svn: 351825
|
| |
|
|
|
|
|
|
|
|
| |
Currently disassembleObject() is a ~550 lines length function.
This patch extracts the code that creates a section->their relocation
mapping into a new helper function to simplify/reduce it a bit.
Differential revision: https://reviews.llvm.org/D57019
llvm-svn: 351824
|
| |
|
|
|
|
|
|
|
|
| |
Previously we had names like 'Call' or 'Tail'. This potentially clashes with
the naming scheme used elsewhere in RISCVInstrInfo.td. Many other backends
would use names like AArch64call or PPCtail. I prefer the SystemZ approach,
which uses prefixed all-lowercase names. This matches the naming scheme used
for target-independent SelectionDAG nodes.
llvm-svn: 351823
|
| |
|
|
| |
llvm-svn: 351822
|
| |
|
|
| |
llvm-svn: 351821
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm::is_trivially_copyable portability is verified at compile time using
std::is_trivially_copyable as the reference implementation.
Unfortunately, the latter is not available on all platforms, so introduce
a proper configure check to detect if it is available on the target platform.
In a similar manner, std::is_copy_assignable is not fully supported for gcc4.9.
Provide a portable (?) implementation instead.
Differential Revision: https://reviews.llvm.org/D57018
llvm-svn: 351820
|
| |
|
|
|
|
|
|
|
|
| |
For constant bit select patterns, replace one AND with a ANDNP, allowing us to reuse the constant mask. Only do this if the mask has multiple uses (to avoid losing load folding) or if we have XOP as its VPCMOV can handle most folding commutations.
This also requires computeKnownBitsForTargetNode support for X86ISD::ANDNP and X86ISD::FOR to prevent regressions in fabs/fcopysign patterns.
Differential Revision: https://reviews.llvm.org/D55935
llvm-svn: 351819
|
| |
|
|
| |
llvm-svn: 351818
|
| |
|
|
|
|
|
|
| |
Similar to horizontal ops on D56777, the sse2 (but not mmx) bit shift ops has local forwarding disabled, adding +1cy to the use latency for the result.
Differential Revision: https://reviews.llvm.org/D57026
llvm-svn: 351817
|
| |
|
|
| |
llvm-svn: 351816
|
| |
|
|
|
|
|
|
| |
Similar to horizontal ops on D56777, the vpermilpd/vpermilps variable mask ops has local forwarding disabled, adding +1cy to the use latency for the result.
Differential Revision: https://reviews.llvm.org/D57022
llvm-svn: 351815
|
| |
|
|
|
|
| |
Actually, just testing commits via monorepo ;)
llvm-svn: 351814
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits
Differential Revision: https://reviews.llvm.org/D57042
llvm-svn: 351813
|
| |
|
|
| |
llvm-svn: 351812
|
| |
|
|
|
|
|
| |
This reverts commit r351801, as it caused errors on (so far)
ppc64be and aarch64 buildbots - the reason is yet unknown.
llvm-svn: 351811
|
| |
|
|
|
|
|
|
| |
First step towards PR40376, this patch adds support for getCmpSelInstrCost to use the (optional) Instruction CmpInst predicate to indicate the type of integer comparison we're performing and alter the costs accordingly.
Differential Revision: https://reviews.llvm.org/D57013
llvm-svn: 351810
|
| |
|
|
|
|
| |
The assertion is always true, and triggers a compiler warning, so remove it.
llvm-svn: 351809
|
| |
|
|
|
|
|
|
|
|
|
| |
Change the top comment in PolyhedralInfo.cpp to use // instead of ///,
similarly to headers in other files. This fixes the issue of copyright
line exceeding textwidth and triggering polly-check-format45 failure,
e.g. seen here:
http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8/builds/18293/steps/run%20unit%20tests/logs/stdio
llvm-svn: 351808
|
| |
|
|
|
|
|
|
| |
When we are inserting 1 "inline" element, and zeroing 2 of the other elements then we can safely commute the insertps source inputs to improve memory folding.
Differential Revision: https://reviews.llvm.org/D56843
llvm-svn: 351807
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid the infinite loop caused by the target DAG combine converting ANYEXT to
SIGNEXT and the target-independent DAG combine logic converting back to
ANYEXT. Do this by not adding the new node to the worklist.
Committing directly as this definitely doesn't make the problem any worse, and
I intend to follow-up with a patch that avoids this custom combiner logic
altogether and just lowers the i32 operations to a target-specific
SelectionDAG node. This should be easier to reason about and improve codegen
quality in some cases (though may miss out on some later DAG combines).
llvm-svn: 351806
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds support of guards expressed as branches by widenable
conditions in Loop Predication.
Differential Revision: https://reviews.llvm.org/D56081
Reviewed By: reames
llvm-svn: 351805
|
| |
|
|
|
|
| |
Noticed in code coverage tests that this isn't tested.
llvm-svn: 351804
|
| |
|
|
| |
llvm-svn: 351803
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D57007
llvm-svn: 351801
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D57006
llvm-svn: 351800
|
| |
|
|
|
|
|
|
|
|
|
|
| |
make_error<StringError>
This was requested in the review of D57006.
Also add missing quotes around symbol names in error messages.
Differential Revision: https://reviews.llvm.org/D57014
llvm-svn: 351799
|
| |
|
|
| |
llvm-svn: 351798
|
| |
|
|
| |
llvm-svn: 351797
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This broke the RISCV build, and even with that fixed, one of the RISCV
tests behaves surprisingly differently with asserts than without,
leaving there no clear test pattern to use. Generally it seems bad for
hte IR to differ substantially due to asserts (as in, an alloca is used
with asserts that isn't needed without!) and nothing I did simply would
fix it so I'm reverting back to green.
This also required reverting the RISCV build fix in r351782.
llvm-svn: 351796
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes https://bugs.llvm.org/show_bug.cgi?id=40068.
--basenames is a GNU addr2line switch which strips the directory names
from the file path in the output.
Reviewed by: ruiu
Differential Revision: https://reviews.llvm.org/D56919
llvm-svn: 351795
|
| |
|
|
| |
llvm-svn: 351794
|