| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SchedModel
Assume that, ModelA has scheduling resource for InstA and ModelB has scheduling resource for InstB. This is what the llvm::MCSchedClassDesc looks like:
llvm::MCSchedClassDesc ModelASchedClasses[] = {
...
InstA, 0, ...
InstB, -1,...
};
llvm::MCSchedClassDesc ModelBSchedClasses[] = {
...
InstA, -1,...
InstB, 0,...
};
The -1 means invalid num of macro ops, while it is valid if it is >=0. This is what we look like now:
llvm::MCSchedClassDesc ModelASchedClasses[] = {
...
InstA, 0, ...
InstB, 0,...
};
llvm::MCSchedClassDesc ModelBSchedClasses[] = {
...
InstA, 0,...
InstB, 0,...
};
And compiler hit the assertion here because the SCDesc is valid now for both InstA and InstB.
Differential Revision: https://reviews.llvm.org/D67950
llvm-svn: 374524
|
|
|
|
|
|
|
|
|
|
|
| |
min-legal-vector-width.ll
I wonder if we should split the v8i8 stores in order to form
two v4i8 saturating truncating stores. This would remove the
unpckl needed to concatenated the v4i8 results to make a
single store.
llvm-svn: 374519
|
|
|
|
| |
llvm-svn: 374518
|
|
|
|
|
|
|
|
|
|
| |
A modules build failed with the following error:
call to function 'operator&' that is neither visible in the template definition nor found by argument-dependent lookup
Fix that by declaring the appropriate operators in the llvm::minidump
namespace.
llvm-svn: 374517
|
|
|
|
|
|
|
|
|
|
|
|
| |
These intrinsics use llvm.cttz intrinsics so are always available
even without the bmi feature. We already don't check for the bmi
feature on the intrinsics themselves. But we were blocking the
include of the header file with _MSC_VER unless BMI was enabled
on the command line.
Fixes PR30506.
llvm-svn: 374516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The assertion is everzealous and fail tests like:
renamable $x3 = LI8 0
STD renamable $x3, 16, $x1
renamable $x3 = LI8 0
Remove the assertion since killed flag of $x3 is not mandentory.
Differential Revision: https://reviews.llvm.org/D68344
llvm-svn: 374515
|
|
|
|
|
|
| |
recoginzation testcase.
llvm-svn: 374514
|
|
|
|
|
|
|
|
|
| |
This patch recognizes popcount intrinsic according to algorithm from website
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
Differential Revision: https://reviews.llvm.org/D68189
llvm-svn: 374512
|
|
|
|
|
|
|
|
|
|
| |
Handle the case when libc++abi and libunwind are being built together
with libc++ in the runtimes build. This logic was used in the previous
implementation but dropped in r374116.
Differential Revision: https://reviews.llvm.org/D68791
llvm-svn: 374510
|
|
|
|
|
|
| |
saturating truncating store.
llvm-svn: 374509
|
|
|
|
|
|
|
|
| |
min-legal-vector-width.ll
We aren't folding the vpmovuswb into the store.
llvm-svn: 374507
|
|
|
|
|
|
|
|
|
|
| |
This is really a known bits style transformation, but known bits isn't context sensitive. The particular case which comes up happens to involve a range which allows range based reasoning to eliminate the mask pattern, so handle that case specifically in CVP.
InstCombine likes to generate the mask-by-low-bits pattern when widening an arithmetic expression which includes a zext in the middle.
Differential Revision: https://reviews.llvm.org/D68811
llvm-svn: 374506
|
|
|
|
|
|
|
|
| |
than 128-bit vectors.
Some of these have sub-optimal codegen for avx512 relative to avx2.
llvm-svn: 374505
|
|
|
|
| |
llvm-svn: 374504
|
|
|
|
|
|
|
| |
CodeGen/sanitizer-module-constructor.c fails on mac and windows, see e.g.
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/11424
llvm-svn: 374503
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D68753
llvm-svn: 374502
|
|
|
|
| |
llvm-svn: 374501
|
|
|
|
|
|
|
|
| |
The windows bots are failing due to a memory layout error. Temporarily disabling
while I investigate whether this can be worked around, or whether the test
should be disabled on Windows.
llvm-svn: 374500
|
|
|
|
|
|
|
|
| |
The original implementation failed to shift the immediate down.
This should fix some of the bot failures due to r374476.
llvm-svn: 374499
|
|
|
|
| |
llvm-svn: 374498
|
|
|
|
| |
llvm-svn: 374497
|
|
|
|
|
|
|
|
|
|
| |
parameter type.
We were both failing to decay the array type to a pointer and failing to
remove the top-level cv-qualifications. Fix this by decaying array
parameters even if the parameter type is dependent.
llvm-svn: 374496
|
|
|
|
| |
llvm-svn: 374495
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output directories for CMake's Xcode project generator are
specific to the configuration, and so looking in
CMAKE_LIBRARY_OUTPUT_DIRECTORY isn't going to work. Fortunately, CMake
already provides generator expressions to find the output of a given
target.
I call this "barely" building because the built framework isn't going
to respect the configuration; that is, I can't have both Debug and
RelWithDebInfo variants of ClangdXPC.framework at the same time like I
can with normal library or executable targets. To do that we'd have to
put the framework in a configuration-specific output directory or use
CMake's native support for frameworks instead.
https://reviews.llvm.org/D68846
llvm-svn: 374494
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intended usage is to measure relatively expensive operations. So the
cost of the statistic is negligible compared to the cost of a measured
operation and can be enabled all the time without impairing the
compilation time.
rdar://problem/55715134
Reviewers: dsanders, bogner, rtereshin
Reviewed By: dsanders
Subscribers: hiraditya, jkorous, dexonsmith, ributzka, cfe-commits, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68252
llvm-svn: 374490
|
|
|
|
|
|
| |
clss.
llvm-svn: 374488
|
|
|
|
|
|
|
|
|
|
| |
instructions in more situations.
If we don't have VLX we won't end up selecting a saturating
truncate for 256-bit or smaller vectors so we should just use
the pack lowering.
llvm-svn: 374487
|
|
|
|
|
|
|
|
|
| |
use a load for the large type and add the min-legal-vector-width attribute.
The attribute is needed to avoid zmm registers. Using memory
avoids argument splitting for large vectors.
llvm-svn: 374486
|
|
|
|
|
|
|
|
|
|
|
| |
file.
Reduces duplication and thereby reduces the risk that someone will
forget to update one of these places, as I did when adding
DefaultedDestructorIsConstexpr (though I've been unable to produce
a testcase for which that matters so far).
llvm-svn: 374484
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Makes the indent consistent to other part of the file.
Subscribers: mgorny, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68842
llvm-svn: 374483
|
|
|
|
| |
llvm-svn: 374482
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
If we insert them from function pass some analysis may be missing or invalid.
Fixes PR42877.
Reviewers: eugenis, leonardchan
Reviewed By: leonardchan
Subscribers: hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D68832
llvm-svn: 374481
|
|
|
|
| |
llvm-svn: 374480
|
|
|
|
| |
llvm-svn: 374479
|
|
|
|
| |
llvm-svn: 374478
|
|
|
|
|
|
|
|
|
| |
This implementation has support for all relocation types except TLV.
Compact unwind sections are not yet supported, so exceptions/unwinding will not
work.
llvm-svn: 374476
|
|
|
|
|
|
| |
'named_data' should be the first symbol in the data section.
llvm-svn: 374475
|
|
|
|
|
|
|
|
|
|
| |
Subscribers: mehdi_amini, jtony, xbolva00, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66840
llvm-svn: 374474
|
|
|
|
|
|
| |
that the test runs on Windows
llvm-svn: 374473
|
|
|
|
| |
llvm-svn: 374472
|
|
|
|
|
|
|
|
|
|
| |
When simplifying a Phi to the unique value found incoming, check that
there wasn't a Phi already created to break a cycle. If so, remove it.
Resolves PR43541.
Some additional nits included.
llvm-svn: 374471
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- So far, we only recognize the host compilation with offloading and
skip the offloading part.
Reviewers: tra, yaxunl
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68660
llvm-svn: 374470
|
|
|
|
| |
llvm-svn: 374468
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D68823
llvm-svn: 374467
|
|
|
|
|
|
| |
an out-of-lifetime object.
llvm-svn: 374465
|
|
|
|
|
|
| |
Forgot to integrate this little change in previous commit
llvm-svn: 374463
|
|
|
|
|
|
| |
This test is disabled upstream and therefore this went unnoticed.
llvm-svn: 374462
|
|
|
|
|
|
|
| |
Add the Python extension to the configuration files in the API directory
to match the other test suites.
llvm-svn: 374461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When handling the packus pattern for i32->i8 we do a two step
process using a packss to i16 followed by a packus to i8. If the
final i8 step is a type with less than 64-bits the packus step
will return SDValue(), but the i32->i16 step might have succeeded.
This leaves the nodes from the middle step dangling.
Guard against this by pre-checking that the number of elements is
at least 8 before doing the middle step.
With that check in place this should mean the only other
case the middle step itself can fail is when SSE2 is disabled. So
add an early SSE2 check then just assert that neither the middle
or final step ever fail.
llvm-svn: 374460
|
|
|
|
| |
llvm-svn: 374459
|