| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This usage of strcpy and snprintf was certainly safe, but using them
sets off various deprecation and lint warnings. Easier to just write the
belt and suspenders version.
llvm-svn: 291256
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D28403
llvm-svn: 291254
|
|
|
|
|
|
| |
Early step towards ignoring domain above a certain shuffle depth.
llvm-svn: 291248
|
|
|
|
| |
llvm-svn: 291246
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D27732
llvm-svn: 291245
|
|
|
|
|
|
| |
The AVX1-only limit is never actually required in matchUnaryVectorShuffle
llvm-svn: 291244
|
|
|
|
|
|
| |
The EVEX -> VEX fix means that AVX/AVX512 code is more likely the same now.
llvm-svn: 291242
|
|
|
|
|
|
| |
The EVEX -> VEX fix means that AVX/AVX512 code is more likely the same now.
llvm-svn: 291241
|
|
|
|
| |
llvm-svn: 291240
|
|
|
|
|
|
| |
All callers of getTargetVShiftNode have access to X86Subtarget already so pass it along instead of re-extracting it.
llvm-svn: 291239
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Previously we only supported constant-masked loads and stores.
Reviewers: kcc, RKSimon, pgousseau, gbedwell, vitalybuka
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D28370
llvm-svn: 291238
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
I've noticed that these assertions don't trigger when the condition is false.
The problem is that the DEBUG(x) macro only executes x when the pass is
emitting debug output via the -debug and -debug-only=registerbankinfo command
line arguments.
Debug builds should always execute the assertions so use '#ifndef NDEBUG' instead.
Also removed an assertion that is only true the first time it's tested. <Target>RegisterBankInfo's constructor will re-use register banks causing them to be valid on subsequent tests. That
assertion will fail on the first test too in the near future.
Reviewers: t.p.northover, ab, rovka, qcolombet
Subscribers: dberris, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D28358
llvm-svn: 291235
|
|
|
|
|
|
| |
Set the costs on the lowest target that supports the type.
llvm-svn: 291229
|
|
|
|
|
|
| |
Added a test demonstrating bug in AVX512 division costs
llvm-svn: 291228
|
|
|
|
|
|
| |
It is a common convention that our internal test runner depends upon.
llvm-svn: 291227
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a --cmakedir option to llvm-config that returns the correct path to
built/installed CMake modules (i.e. lib/cmake/llvm). This is mostly
intended as a convenience option for stand-alone builds of other LLVM
projects that frequently reconstruct LLVM_CMAKE_PATH after querying
llvm-config.
Differential Revision: https://reviews.llvm.org/D26894
llvm-svn: 291218
|
|
|
|
|
|
|
|
|
|
|
| |
The lock needs to be acquired before the data is sent, not afterwards. This
think-o slipped in during the refactor in r286620, but went unnoticed as the
resulting bug only manifests in multi-threaded clients (of which there are none
in-tree).
No unit test as the bug depends on thread scheduling.
llvm-svn: 291216
|
|
|
|
|
|
|
|
| |
We use PAX headers to store long filenames (>= 100 bytes).
It is not needed to emit PAX headers if filenames fit in the
Ustar header. This patch implements that optimization.
llvm-svn: 291215
|
|
|
|
| |
llvm-svn: 291214
|
|
|
|
|
|
|
|
| |
bitcast between the select.
The ones with the bitcast need additional work to fold the mask operation properly. This will be fixed in a future commit.
llvm-svn: 291213
|
|
|
|
|
|
| |
Utilize ConstantRange to make it easier to interpret range metadata.
llvm-svn: 291211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In LLD, we create cpio archive files for --reproduce command.
cpio was not a bad choice because it is very easy to create, but
it was sometimes hard to use because people are not familiar with
cpio command.
I noticed that creating a tar archive isn't as hard as I thought.
So I implemented it in this patch.
Differential Revision: https://reviews.llvm.org/D28091
llvm-svn: 291209
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 63165f6ae3bac1623be36d4b3ce63afa1d51a30a.
After making this change, I discovered that _Unwind_Backtrace is
unable to unwind past a signal handler after an assertion failure.
I filed a bug report about that issue in rdar://29866587 but even if
we get a fix soon, it will be awhile before it get released.
llvm-svn: 291207
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using sigaltstack on Apple platforms is a bad idea. Darwin's backtrace()
function does not work with sigaltstack, and my change in r286851 was
supposed to solve that by using _Unwind_Backtrace instead. I tested that
_Unwind_Backtrace works for crashes but then discovered that it does not
work for assertion failures when using sigaltstack, at least on macOS.
The stack trace shows only the frames on the alternate stack.
I also saw some reports of this happening for crashes, but it fails
consistently for assertion failures. I tried various things to get it to
work but the problem seems to be in _Unwind_Backtrace itself. Disabling
sigaltstack is unfortunate since it would be nice to get backtraces for
stack overflows, but at least this gets us backtraces for the more common
cases. rdar://problem/29662459
llvm-svn: 291206
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change separates how type identifiers are resolved from how intrinsic
calls are lowered. All information required to lower an intrinsic call
is stored in a new TypeIdLowering data structure. The idea is that this
data structure can either be initialized using the module itself during
regular LTO, or using the module summary in ThinLTO backends.
Differential Revision: https://reviews.llvm.org/D28341
llvm-svn: 291205
|
|
|
|
| |
llvm-svn: 291201
|
|
|
|
|
|
| |
warnings; other minor fixes (NFC).
llvm-svn: 291197
|
|
|
|
|
|
|
|
| |
We used the logBase2 of the high instead of the ceilLogBase2 resulting
in the wrong result for certain values. For example, it resulted in an
i1 AssertZExt when the exclusive portion of the range was 3.
llvm-svn: 291196
|
|
|
|
| |
llvm-svn: 291195
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D28303
llvm-svn: 291194
|
|
|
|
| |
llvm-svn: 291193
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D27833
llvm-svn: 291189
|
|
|
|
|
|
| |
Remove unnecessary braces, remove one use variables and keep LUTs to similar naming convention.
llvm-svn: 291187
|
|
|
|
| |
llvm-svn: 291182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Extend AArch64 foldMemoryOperandImpl() to handle folding spills of
subreg COPYs with read-undef defs like:
%vreg0:sub_32<def,read-undef> = COPY %WZR; GPR64:%vreg0
by widening the spilled physical source reg and generating:
STRXui %XZR <fi#0>
as well as folding fills of similar COPYs like:
%vreg0:sub_32<def,read-undef> = COPY %vreg1; GPR64:%vreg0, GPR32:%vreg1
by generating:
%vreg0:sub_32<def,read-undef> = LDRWui <fi#0>
Reviewers: MatzeB, qcolombet
Subscribers: aemerson, rengolin, mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D27425
llvm-svn: 291180
|
|
|
|
| |
llvm-svn: 291178
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Using the linker-supplied list of "preserved" symbols, we can compute
the list of "dead" symbols, i.e. the one that are not reachable from
a "preserved" symbol transitively on the reference graph.
Right now we are using this information to mark these functions as
non-eligible for import.
The impact is two folds:
- Reduction of compile time: we don't import these functions anywhere
or import the function these symbols are calling.
- The limited number of import/export leads to better internalization.
Patch originally by Mehdi Amini.
Reviewers: mehdi_amini, pcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D23488
llvm-svn: 291177
|
|
|
|
|
|
|
| |
do not use .cfi_sections. This requires checking if any non-declaration
function in the module needs an unwind table.
llvm-svn: 291172
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Promotion is always legal when a store within the loop is guaranteed to execute.
However, this is not a necessary condition - for promotion to be memory model
semantics-preserving, it is enough to have a store that dominates every exit
block. This is because if the store dominates every exit block, the fact the
exit block was executed implies the original store was executed as well.
Differential Revision: https://reviews.llvm.org/D28147
llvm-svn: 291171
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an assert that checks whether liveins are up to date before they are
used.
- Do not print liveins into .mir files anymore in situations where they
are out of date anyway.
- The assert in the RegisterScavenger is superseded by the new one in
livein_begin().
- Skip parts of the liveness updating logic in IfConversion.cpp when
liveness isn't tracked anymore (just enough to avoid hitting the new
assert()).
Differential Revision: https://reviews.llvm.org/D27562
llvm-svn: 291169
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This reverts commit r291144. It breaks build bots.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/3270, http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer/builds/2058
lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:1638:12: error: could not convert ‘(const unsigned int*)(& Variants)’ from ‘const unsigned int*’ to ‘llvm::ArrayRef<unsigned int>’
return Variants;
Reviewers: eugenis, tstellarAMD
Patch by Alex Shlyapnikov.
Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D28372
llvm-svn: 291168
|
|
|
|
| |
llvm-svn: 291165
|
|
|
|
| |
llvm-svn: 291163
|
|
|
|
|
|
| |
NFCI.
llvm-svn: 291162
|
|
|
|
|
|
| |
Removes need for yet another LUT.
llvm-svn: 291158
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D28363
llvm-svn: 291157
|
|
|
|
|
|
| |
Remove SSE2 256-bit entries - AVX targets will have used the SSE42 costs instead.
llvm-svn: 291152
|
|
|
|
| |
llvm-svn: 291151
|
|
|
|
|
|
|
|
| |
extract/insertion in AVX1 v4i64 MUL
Matches other MUL/ADD/SUB 256-bit case on AVX1
llvm-svn: 291149
|
|
|
|
| |
llvm-svn: 291147
|