| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This patch throws a fatal error if an instregex entry doesn't actually match any instructions. This is part of the work to reduce the compile time impact of increased instregex usage (PR35955), although the x86 models seem to be relatively clean.
All the cases I encountered have now been fixed in trunk and this will ensure they don't get reintroduced.
Differential Revision: https://reviews.llvm.org/D44687
llvm-svn: 328459
|
|
|
|
| |
llvm-svn: 328458
|
|
|
|
|
|
|
|
| |
(D44687)
Reviewed by @javed.absar
llvm-svn: 328457
|
|
|
|
| |
llvm-svn: 328456
|
|
|
|
| |
llvm-svn: 328455
|
|
|
|
|
|
|
|
| |
optionally starting with 'Y' instead of 'V'
These bad regexs were introduced by r328435
llvm-svn: 328454
|
|
|
|
|
|
| |
Not that it makes a difference to current cost values, but will when we try to better model GPR-SIMD transfer costs
llvm-svn: 328453
|
|
|
|
| |
llvm-svn: 328452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add fdiv costs for Goldmont using table 16-17 of the Intel Optimization Manual. Also add overrides for FSQRT for Goldmont and Silvermont.
Reviewers: RKSimon
Reviewed By: RKSimon
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44644
llvm-svn: 328451
|
|
|
|
| |
llvm-svn: 328450
|
|
|
|
|
|
|
|
| |
We have thorough coverage of predicates and scalar types,
so we just need a sampling of vector tests to show that
things are working or not with vectors types.
llvm-svn: 328449
|
|
|
|
|
|
| |
This is an extension of rL328426 as noted in D44367.
llvm-svn: 328448
|
|
|
|
| |
llvm-svn: 328447
|
|
|
|
|
|
|
|
|
|
| |
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
|