| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 320358
|
|
|
|
|
|
|
|
|
|
| |
As frame pointer elimination isn't implemented until a later patch and we make
extensive use of update_llc_test_checks.py, this changes touches a lot of the
RISC-V tests.
Differential Revision: https://reviews.llvm.org/D39849
llvm-svn: 320357
|
|
|
|
| |
llvm-svn: 320356
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a preparatory step for D34515.
This change:
- makes nodes ISD::ADDCARRY and ISD::SUBCARRY legal for i32
- lowering is done by first converting the boolean value into the carry flag
using (_, C) ← (ARMISD::ADDC R, -1) and converted back to an integer value
using (R, _) ← (ARMISD::ADDE 0, 0, C). An ARMISD::ADDE between the two
operations does the actual addition.
- for subtraction, given that ISD::SUBCARRY second result is actually a
borrow, we need to invert the value of the second operand and result before
and after using ARMISD::SUBE. We need to invert the carry result of
ARMISD::SUBE to preserve the semantics.
- given that the generic combiner may lower ISD::ADDCARRY and
ISD::SUBCARRYinto ISD::UADDO and ISD::USUBO we need to update their lowering
as well otherwise i64 operations now would require branches. This implies
updating the corresponding test for unsigned.
- add new combiner to remove the redundant conversions from/to carry flags
to/from boolean values (ARMISD::ADDC (ARMISD::ADDE 0, 0, C), -1) → C
- fixes PR34045
- fixes PR34564
- fixes PR35103
Differential Revision: https://reviews.llvm.org/D35192
llvm-svn: 320355
|
|
|
|
| |
llvm-svn: 320354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduces the AddrFI "addressing mode", which is necessary simply because
it's not possible to write a pattern that directly matches a frameindex.
Ensure callee-saved registers are accessed relative to the stackpointer. This
is necessary as callee-saved register spills are performed before the frame
pointer is set.
Move HexagonDAGToDAGISel::isOrEquivalentToAdd to SelectionDAGISel, so we can
make use of it in the RISC-V backend.
Differential Revision: https://reviews.llvm.org/D39848
llvm-svn: 320353
|
|
|
|
|
|
|
|
| |
Test (some of) the patterns for selecting PKHBT and PKHTB. The others
are just very similar to the ones we're testing and there would be
little value in covering them as well.
llvm-svn: 320352
|
|
|
|
|
|
|
|
|
|
|
| |
microMIPS64R6 is removed from backend, and therefore frontend
will show an error when target is microMIPS64R6.
This is Clang part of patch.
Differential Revision: https://reviews.llvm.org/D35624
llvm-svn: 320351
|
|
|
|
|
|
|
|
|
|
|
| |
All files and parts of files related to microMIPS4R6 are removed.
When target is microMIPS4R6, errors are printed.
This is LLVM part of patch.
Differential Revision: https://reviews.llvm.org/D35625
llvm-svn: 320350
|
|
|
|
| |
llvm-svn: 320349
|
|
|
|
|
|
| |
This has been broken since r320009.
llvm-svn: 320348
|
|
|
|
|
|
| |
This has been broken since r320009.
llvm-svn: 320347
|
|
|
|
|
|
|
| |
lldb_utility doesn't make sense, as it is no longer even living in the
"utility" module.
llvm-svn: 320346
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
For ptys (at least on Linux), the end-of-file (closing of the slave FD)
is signalled by the POLLHUP flag. We were ignoring this flag, which
meant that when this happened, we would spin in a loop, continuously
calling poll(2) and not making any progress.
This makes sure we treat POLLHUP as a read event (reading will return
0), and we call the registered callback when it happens. This is the
behavior our clients expect (and is consistent with how select(2)
works).
Reviewers: eugene, beanz
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D41008
llvm-svn: 320345
|
|
|
|
|
|
| |
We should probably also fold (mulhs/u X, 1) for vectors, but that's harder.
llvm-svn: 320344
|
|
|
|
| |
llvm-svn: 320343
|
|
|
|
| |
llvm-svn: 320342
|
|
|
|
|
|
|
| |
The commit exposes a bunch of failures in the LLDB testsuite that
I need to analyze more carefully. Reverting for now.
llvm-svn: 320341
|
|
|
|
|
|
| |
legalized from v2i32 while other types are legal.
llvm-svn: 320340
|
|
|
|
|
|
|
| |
The test was added to test that we don't merge read only data
sections, but the sections in the test were rw.
llvm-svn: 320339
|
|
|
|
| |
llvm-svn: 320338
|
|
|
|
| |
llvm-svn: 320337
|
|
|
|
|
|
|
|
| |
Contributed-by: Nandini Singhal <cs15mtech01004@iith.ac.in>
Differential Revision: https://reviews.llvm.org/D41047
llvm-svn: 320336
|
|
|
|
|
|
|
|
|
|
| |
They cause an ubsan error when ran through the testsuite (store
to misaligned address is UB). This commit kills two birds with
one stone, as we also remove some code while fixing it.
<rdar://problem/35941757>
llvm-svn: 320335
|
|
|
|
| |
llvm-svn: 320334
|
|
|
|
| |
llvm-svn: 320333
|
|
|
|
|
|
| |
Include i686 (non-REX) variant tests as well
llvm-svn: 320332
|
|
|
|
| |
llvm-svn: 320331
|
|
|
|
| |
llvm-svn: 320330
|
|
|
|
| |
llvm-svn: 320329
|
|
|
|
| |
llvm-svn: 320328
|
|
|
|
| |
llvm-svn: 320327
|
|
|
|
|
|
| |
skylake server sheduler model
llvm-svn: 320326
|
|
|
|
|
|
|
|
| |
This matches AVX512 version and is more consistent overall. And improves our scheduler models.
In some cases this adds _Int to instructions that didn't have any Int_ before. It's a side effect of the adjustments made to some of the multiclasses.
llvm-svn: 320325
|
|
|
|
| |
llvm-svn: 320324
|
|
|
|
| |
llvm-svn: 320323
|
|
|
|
| |
llvm-svn: 320322
|
|
|
|
|
|
| |
Split off some 'n' instruction versions to make it clearer when WAIT is being inserted
llvm-svn: 320321
|
|
|
|
|
|
|
|
| |
suffix. Fix the scheduling information for some of them.
Some of the scheduling information was only present for the 'rb' version' and not the 'rr' version. Now we match 'rr(b?)'
llvm-svn: 320320
|
|
|
|
| |
llvm-svn: 320319
|
|
|
|
| |
llvm-svn: 320318
|
|
|
|
|
|
| |
model.
llvm-svn: 320317
|
|
|
|
|
|
| |
This makes things consistent with our normal instruction naming.
llvm-svn: 320316
|
|
|
|
| |
llvm-svn: 320315
|
|
|
|
| |
llvm-svn: 320314
|
|
|
|
|
|
|
|
| |
models instead of just instregexs.
This separates the CPU specific scheduler model includes to occur after the instructions. Moves the instruction includes between the basic scheduler information and the CPU specific scheduler models.
llvm-svn: 320313
|
|
|
|
|
|
|
| |
Follow-up for a bug that's similar to:
https://bugs.llvm.org/show_bug.cgi?id=35601
llvm-svn: 320312
|
|
|
|
| |
llvm-svn: 320311
|
|
|
|
|
|
|
| |
This should fix the larger problem with sqrt shown in:
https://bugs.llvm.org/show_bug.cgi?id=35601
llvm-svn: 320310
|
|
|
|
| |
llvm-svn: 320309
|