| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
add 1uop for memory folds for Intel models
The Intel models need an extra 1uop for memory folded instructions, plus a lot of instructions take a non-default memory latency which should allow us to use the multiclass a lot more to tidy things up.
Differential Revision: https://reviews.llvm.org/D44840
llvm-svn: 328446
|
|
|
|
| |
llvm-svn: 328445
|
|
|
|
| |
llvm-svn: 328444
|
|
|
|
| |
llvm-svn: 328443
|
|
|
|
| |
llvm-svn: 328442
|
|
|
|
| |
llvm-svn: 328441
|
|
|
|
|
|
| |
We don't really care about the old vector value so we don't care to swap it.
llvm-svn: 328440
|
|
|
|
|
|
|
| |
This patch removes the MachineValueType module since the
header was removed in r328395.
llvm-svn: 328439
|
|
|
|
|
|
|
|
| |
passed to an ArrayRef parameter.
ArrayRef can capture a single element. We don't need a vector for that.
llvm-svn: 328438
|
|
|
|
|
|
| |
creation. NFCI.
llvm-svn: 328437
|
|
|
|
|
|
| |
contain regex metas. NFCI.
llvm-svn: 328436
|
|
|
|
|
|
| |
regex matches to reduce compile time
llvm-svn: 328435
|
|
|
|
|
|
| |
regex matches to reduce compile time
llvm-svn: 328434
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
LLVM defaults to the newer .init_array/.fini_array scheme for static
constructors rather than the less desirable .ctors/.dtors (the UseCtors
flag defaults to false). This wasn't being respected in the RISC-V
backend because it fails to call TargetLoweringObjectFileELF::InitializeELF with the the appropriate
flag for UseInitArray.
This patch fixes this by implementing RISCVELFTargetObjectFile and overriding its Initialize method to call
InitializeELF(TM.Options.UseInitArray).
Reviewers: asb, apazos
Reviewed By: asb
Subscribers: mgorny, rbar, johnrusso, simoncook, jordy.potman.lists, sabuasal, niosHD, kito-cheng, shiva0217, llvm-commits
Differential Revision: https://reviews.llvm.org/D44750
llvm-svn: 328433
|
|
|
|
|
|
| |
matches to reduce compile time
llvm-svn: 328432
|
|
|
|
|
|
| |
regex matches to reduce compile time
llvm-svn: 328431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
r327219 added wrappers to std::sort which randomly shuffle the container before sorting.
This will help in uncovering non-determinism caused due to undefined sorting
order of objects having the same key.
To make use of that infrastructure we need to invoke llvm::sort instead of std::sort.
Note: This patch is one of a series of patches to replace *all* std::sort to llvm::sort. Refer the comments section in D44363 for a list of all the required patches.
Reviewers: kparzysz
Reviewed By: kparzysz
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44857
llvm-svn: 328430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
r327219 added wrappers to std::sort which randomly shuffle the container before sorting.
This will help in uncovering non-determinism caused due to undefined sorting
order of objects having the same key.
To make use of that infrastructure we need to invoke llvm::sort instead of std::sort.
Reviewers: tstellar, RKSimon, arsenm
Reviewed By: arsenm
Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, llvm-commits, t-tye
Differential Revision: https://reviews.llvm.org/D44856
llvm-svn: 328429
|
|
|
|
|
|
| |
This also addresses Simon's review comment in D44839.
llvm-svn: 328428
|
|
|
|
| |
llvm-svn: 328427
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pattern came up in PR36682:
https://bugs.llvm.org/show_bug.cgi?id=36682
https://godbolt.org/g/LhuD9A
Equality checks are planned as a follow-up enhancement.
Differential Revision: https://reviews.llvm.org/D44367
llvm-svn: 328426
|
|
|
|
| |
llvm-svn: 328425
|
|
|
|
|
|
|
|
| |
instructions on AVX targets
Add skylake server tests as well
llvm-svn: 328424
|
|
|
|
|
|
|
|
| |
instructions on AVX targets
And ensure we don't use later instruction sets in SSE schedule tests
llvm-svn: 328423
|
|
|
|
| |
llvm-svn: 328422
|
|
|
|
| |
llvm-svn: 328421
|
|
|
|
| |
llvm-svn: 328420
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
layout for them.
Currently when we build input sections list in linker script
we ignore all rel[a] sections. That was done to support
scripts like .rela.dyn : { *(.rela.data) } for emit relocs.
Though as a result following scripts were also silently ignored:
/DISCARD/ : { *(.rela.plt)
/DISCARD/ : { *(.rela.dyn)
and we produced output with this sections. That is not ideal.
The solution this patch suggests is simple: do not ignore synthetic
rel[a] sections. That way we can enable common discarding logic
for them and report a proper error.
Differential revision: https://reviews.llvm.org/D41640
llvm-svn: 328419
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: In Python 3, filters are lazily evaluated and strings are not bytes.
Reviewers: ilya-biryukov
Reviewed By: ilya-biryukov
Subscribers: xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D44217
llvm-svn: 328418
|
|
|
|
| |
llvm-svn: 328417
|
|
|
|
|
|
|
|
| |
attribute.
This reduces the size of llvm-mc by at least 150k since we no longer have to multiply the attribute across 7 tables.
llvm-svn: 328416
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Intercepting mprotect calls.
- Fixing forgotten flag check.
Patch by David CARLIER
Reviewers: vitalybuka, vsk
Subscribers: delcypher, srhines, kubamracek, llvm-commits, #sanitizers
Differential Revision: https://reviews.llvm.org/D44777
llvm-svn: 328415
|
|
|
|
| |
llvm-svn: 328414
|
|
|
|
| |
llvm-svn: 328413
|
|
|
|
|
|
| |
format encodings. NFC
llvm-svn: 328412
|
|
|
|
|
|
| |
The outer switch only had one valid block so didn't provide any value.
llvm-svn: 328411
|
|
|
|
|
|
| |
The 3DNow instructions are encoded a little weird, but we can still represent it as an opcode map.
llvm-svn: 328410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
without an initializer
Summary:
As the title says, this makes following code compile:
```
template<typename> struct Foo {};
Foo() -> Foo<void>;
Foo f; // ok
```
Thanks Nicolas Lesser for coining the fix.
Reviewers: rsmith, lichray
Reviewed By: rsmith, lichray
Subscribers: lichray, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D38216
llvm-svn: 328409
|
|
|
|
| |
llvm-svn: 328408
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44705
llvm-svn: 328407
|
|
|
|
|
|
| |
When the call expression is not available.
llvm-svn: 328406
|
|
|
|
|
|
|
|
| |
These nodes only use the lower 32 bits of their inputs so we can use SimplifyDemandedBits to simplify them.
Differential Revision: https://reviews.llvm.org/D44375
llvm-svn: 328405
|
|
|
|
| |
llvm-svn: 328404
|
|
|
|
| |
llvm-svn: 328403
|
|
|
|
|
|
| |
There were a few too many places duplicating this.
llvm-svn: 328402
|
|
|
|
|
|
|
|
| |
Previously, we used 0 as an alias for VER_NDX_GLOBAL and had a dummy
entry in SharedFile::Verdefs so that the access to the array is within
its boundary. But that's not straightforwad. We can just stop doing both.
llvm-svn: 328401
|
|
|
|
|
|
|
|
|
|
| |
offsets for code models other than small/medium. For JIT application,
memory layout is less controlled and can result in truncations
otherwise.
Patch based on one by Olexa Bilaniuk!
llvm-svn: 328400
|
|
|
|
|
|
|
| |
Fixes layering, since Transforms/Utils doesn't depend on CodeGen, so
shouldn't include headers from it.
llvm-svn: 328399
|
|
|
|
|
|
| |
Should be NFC since nothing used the enum value. The instruction descriptions are generated from tablegen which had the correct value.
llvm-svn: 328398
|
|
|
|
|
|
| |
ValueTypes.h is implemented in IR already.
llvm-svn: 328397
|