- Jul 19, 2021
-
-
Amy Kwan authored
This patch implements the initialization of vectors under the -faltivec-src-compat=xl option introduced in https://reviews.llvm.org/D103615. Under this option, the initialization of scalar vectors, vector bool, and vector pixel are treated the same, where the initialization value is splatted across the whole vector. This patch does not change the behaviour of the -faltivec-src-compat=mixed option, which is the current default for Clang. Differential Revision: https://reviews.llvm.org/D106120
-
Jeremy Morse authored
Avoid a crash when using instruction referencing if x87 floating point instructions are used. These instructions are significantly mutated when they're rewritten from referring to registers, to referring to floating-point-stack positions. As a result, their operands are re-ordered, and (InstrRef) LiveDebugValues asserts when it sees a DBG_INSTR_REF referring to a non-reg non-def register operand. To fix this, drop the instruction numbers, and thus variable locations. This patch adds a helper utility do do that. Dropping the variable locations is sub-optimal, but applying DBG_VALUEs to the $fp0 and similar registers is dropped on emission too. It seems we've never done well at describing variables that live in x87 registers, at all. Differential Revision: https://reviews.llvm.org/D105657
-
Jamie Schmeiser authored
Summary: The AIX linker will produce errors on unresolved weak symbols. Change the generated code to not check for the initialization function but just call it and ensure that it always exists. Also, the AIX atexit routine has a different name (and signature) so call it correctly. Update the lit tests to test on AIX appropriately. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: hubert.reinterpretcast (Hubert Tong) Differential Revision: https://reviews.llvm.org/D104420
-
Kazu Hirata authored
The last use of isNON_TRUNCStore was removed on Oct 10, 2018 in commit 07acc992. isTRUNCStore seems to be unused for at least 10 years.
-
Roman Lebedev authored
We were using the wrong VT for this final VSELECT, it should be in the final comparison VT, not the source value's VT. Fixes https://bugs.llvm.org/show_bug.cgi?id=51133
-
Arjun P authored
-
Elton authored
This patch removes a duplicate checks in the top-level comments in `clang-tools-extra/clangd/ParsedAST.h` Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D106227
-
Jay Foad authored
-
Simon Tatham authored
This is part of a patch series working towards the ability to make SourceLocation into a 64-bit type to handle larger translation units. If clang is built for a 32-bit platform and SourceLocation is 64 bits wide, then a SourceLocation will be larger than a pointer, so it won't be possible to keep them in a SmallPtrSet any more. Switch to SmallDenseSet instead. Patch originally by Mikhail Maltsev. Differential Revision: https://reviews.llvm.org/D105493
-
Alexander Belyaev authored
This reverts commit 3b03d9b8.
-
Ian Campbell authored
If a clang-tidy child process exits with a signal then run-clang-tidy will exit with an error but there is no hint why in the output, since the clang-tidy doesn't log anything and may not even have had the opportunity to do so depending on the signal used. `subprocess.CompletedProcess.returncode` is the negative signal number in this case. I hit this in a CI system where the parallelism used exceeded the RAM assigned to the container causing the OOM killer to SIGKILL clang-tidy processes. Reviewed By: sylvestre.ledru Differential Revision: https://reviews.llvm.org/D99081
-
Alexander Belyaev authored
-
Lang Hames authored
This should eliminate warnings about ignored weak_import attributes on some of the bots, e.g. https://lab.llvm.org/buildbot/#/builders/165/builds/3770/.
-
Lang Hames authored
This should eliminate the "initialized and declared 'extern'" warnings produced on some bots, e.g. https://lab.llvm.org/buildbot/#/builders/165/builds/3770
-
Simon Pilgrim authored
As noticed on D105432 we didn't have any coverage to distinguish between fast/exact float reductions
-
Alexey Bataev authored
The incoming values for PHI nodes may come from unreachable BasicBlocks, need to handle this case. Differential Revision: https://reviews.llvm.org/D106264
-
Mindong Chen authored
This fixes the lower and upper bound calculation of a RuntimeCheckingPtrGroup when it has more than one loop invariant pointers. Resolves PR50686. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D104148
-
Mindong Chen authored
Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D105438
-
Stephan Herhut authored
The wording was wrong and suggested that operands to memref.clone may not be mutated. Differential Revision: https://reviews.llvm.org/D106258
-
Florian Hahn authored
Test case inspired by D105199.
-
Florian Mayer authored
This reverts commit 12268fe1.
-
Dmitry Vyukov authored
We obtain the current PC is all interceptors and collectively common interceptor code contributes to overall slowdown (in particular cheaper str/mem* functions). The current way to obtain the current PC involves: 4493e1: e8 3a f3 fe ff callq 438720 <_ZN11__sanitizer10StackTrace12GetCurrentPcEv> 4493e9: 48 89 c6 mov %rax,%rsi and the called function is: uptr StackTrace::GetCurrentPc() { 438720: 48 8b 04 24 mov (%rsp),%rax 438724: c3 retq The new way uses address of a local label and involves just: 44a888: 48 8d 35 fa ff ff ff lea -0x6(%rip),%rsi I am not switching all uses of StackTrace::GetCurrentPc to GET_CURRENT_PC because it may lead some differences in produced reports and break tests. The difference comes from the fact that currently we have PC pointing to the CALL instruction, but the new way does not yield any code on its own so the PC points to a random instruction in the function and symbolizing that instruction can produce additional inlined frames (if the random instruction happen to relate to some inlined function). Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D106046 -
Lang Hames authored
This member is now only used when storage is heap-allocated so it does not need to be const. Dropping 'const' eliminates cast warnings on many builders.
-
Lang Hames authored
This should fix the 'could-not-covert' error at wrapper_function_utils.h:128 in https://lab.llvm.org/buildbot/#/builders/112/builds/7748.
-
Kazushi (Jam) Marukawa authored
The implementation of subword atomics does not actually guarantee the result is zero-extended, which now caused failures after https://reviews.llvm.org/D101342 was landed. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D106225
-
Florian Mayer authored
This avoids unnecessary instrumentation. Reviewed By: eugenis, vitalybuka Differential Revision: https://reviews.llvm.org/D105703
-
Simon Pilgrim authored
-
Lang Hames authored
This aims to fix build failures like https://lab.llvm.org/buildbot#builders/165/builds/3761.
-
David Spickett authored
These have been failing on our bots for a while due to incomplete backtraces. (you don't get the names of the functions that did the access, just the reporter frames) See: https://lab.llvm.org/buildbot/#/builders/170/builds/180
-
Riccardo Mori authored
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface. Note that not all the usages of `isl::set::dim` were replaced
-
Lang Hames authored
This should fix the build failure at https://lab.llvm.org/buildbot/#/builders/58/builds/11428.
-
Kazushi (Jam) Marukawa authored
VE's linker, /opt/nec/ve/bin/nld, doesn't implement relative lookup table. The relative lookup table is introduced by https://reviews.llvm.org/D94355, but we need to disable it at the moment. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D106224
-
Lang Hames authored
For compilers that do not support __has_builtin just return '0'. This should fix the bot failure at https://lab.llvm.org/buildbot/#/builders/165/builds/3761.
-
Riccardo Mori authored
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface. Changes made: - Use `isl::union_map::unite()` instead of `isl::union_map::add_map()` - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/3f43ae29fa2a22936a583b85b2fe8d439f805d8d Depends on D106059 Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D106061
-
Florian Mayer authored
Reviewed By: eugenis, vitalybuka Differential Revision: https://reviews.llvm.org/D106135
-
Lang Hames authored
Adds support for MachO static initializers/deinitializers and eh-frame registration via the ORC runtime. This commit introduces cooperative support code into the ORC runtime and ORC LLVM libraries (especially the MachOPlatform class) to support macho runtime features for JIT'd code. This commit introduces support for static initializers, static destructors (via cxa_atexit interposition), and eh-frame registration. Near-future commits will add support for MachO native thread-local variables, and language runtime registration (e.g. for Objective-C and Swift). The llvm-jitlink tool is updated to use the ORC runtime where available, and regression tests for the new MachOPlatform support are added to compiler-rt. Notable changes on the ORC runtime side: 1. The new macho_platform.h / macho_platform.cpp files contain the bulk of the runtime-side support. This includes eh-frame registration; jit versions of dlopen, dlsym, and dlclose; a cxa_atexit inte...
-
Lang Hames authored
-
Simon Pilgrim authored
Based off the codegen reports on PR51075 - hopefully we can handle some of this in SLP or VectorCombine, but we usually have to leave load combining until the backend so at least some of these patterns will still appear even then.
-
Riccardo Mori authored
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface. Changes made: - Stop generating `isl::union_set` and isl::union_map` from `isl::space` and instead generate them from `isl::ctx` - Disable clang-format on `isl-noexceptions.h` - Removed `isl::union_{set,map}` generator from `isl::space` from `isl-noexceptions.h` - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/87c3413b6f1d62ca3dddf716352f90a0b8533353 Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D106059
-