- Oct 24, 2020
-
-
Arthur Eubanks authored
This makes it pass under the NPM. The legacy PM pass ran passes on SCCs in a different order, causing argpromotion to not trigger on @bar(). Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D89889
-
Keith Smiley authored
This diff adds the option -prepend_rpath which inserts an rpath as the first rpath in the binary. Test plan: make check-all Differential revision: https://reviews.llvm.org/D89605
-
- Oct 23, 2020
-
-
Akira Hatanaka authored
temporaries created by conditional and assignment operators rdar://problem/64989559 Differential Revision: https://reviews.llvm.org/D83448
-
Evandro Menezes authored
Use the commercial name for the scheduling model for the SiFive 7 Series.
-
Richard Smith authored
variables that are usable in constant expressions to themselves be usable in constant expressions.
-
Mehdi Amini authored
This reverts commit b22e2e4c. Investigating broken builds
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D89162
-
Kirsten Lee authored
Differential Revision: https://reviews.llvm.org/D89601
-
Artur Pilipenko authored
This change introduces a GC parseable lowering for element atomic memcpy/memmove intrinsics. This way runtime can provide an implementation which can take a safepoint during copy operation. See "GC-parseable element atomic memcpy/memmove" thread on llvm-dev for the background and details: https://groups.google.com/g/llvm-dev/c/NnENHzmX-b8/m/3PyN8Y2pCAAJ Differential Revision: https://reviews.llvm.org/D88861
-
Peter Steinfeld authored
I added a test to verify that the associated symbol did not have errors before doing the anaylsis of a call to a component ref along with a test that triggers the original problem. Differential Revision: https://reviews.llvm.org/D90074
-
MaheshRavishankar authored
The current pattern for vector unrolling takes the native shape to unroll to at pattern instantiation time, but the native shape might defer based on the types of the operand. Introduce a UnrollVectorOptions struct which allows for using a function that will return the native shape based on the operation. Move other options of unrolling like `filterConstraints` into this struct. Differential Revision: https://reviews.llvm.org/D89744
-
Mehdi Amini authored
This has been deprecated for >1month now and removal was announced in: https://llvm.discourse.group/t/rfc-revamp-dialect-registration/1559/11 Differential Revision: https://reviews.llvm.org/D86356
-
Richard Smith authored
No functionality change intended.
-
Amy Huang authored
While implementing inline stack traces on Windows I noticed that the stack traces in many asan tests included an inlined frame that shouldn't be there. Currently we get the PC and then do a stack unwind and use the PC to find the beginning of the stack trace. In the failing tests the first thing in the stack trace is inside an inline call site that shouldn't be in the stack trace, so replace it with the PC. Differential Revision: https://reviews.llvm.org/D89996
-
Michael Liao authored
-
Eugene Zhulenev authored
AsyncRuntime must be explicitly linked with LLVM pthreads Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D89983
-
Louis Dionne authored
- <iostream> include from a <chrono> test - <regex> include from the filesystem tests
-
Florian Hahn authored
-
Jonas Devlieghere authored
For performance reasons the reproducers don't copy the files captured by the file collector eagerly, but wait until the reproducer needs to be generated. This is a problematic when LLDB crashes and we have to do all this signal-unsafe work in the signal handler. This patch uses a similar trick to clang, which has the driver invoke a new cc1 instance to do all this work out-of-process. This patch moves the writing of the mapping file as well as copying over the reproducers into a separate process spawned when lldb crashes. Differential revision: https://reviews.llvm.org/D89600
-
Louis Dionne authored
Those were useful during CI experimentation, but are not used anymore.
-
Thomas Raoux authored
Add folder for the case where ExtractStridedSliceOp source comes from a chain of InsertStridedSliceOp. Also add a folder for the trivial case where the ExtractStridedSliceOp is a no-op. Differential Revision: https://reviews.llvm.org/D89850
-
Geoffrey Martin-Noble authored
This unbreaks building with `LLVM_ENABLE_THREADS=0`. Since https://github.com/llvm/llvm-project/commit/069919c9ba33 usage of `std::promise` is not guarded by `LLVM_ENABLE_THREADS`, so this header must be unconditionally included. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D89758
-
Louis Dionne authored
As a fly-by fix, unbreak the benchmarks on Apple platforms. Differential Revision: https://reviews.llvm.org/D90043
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D89853
-
Arthur Eubanks authored
-
Duncan P. N. Exon Smith authored
Use `LineOffsetMapping:get` directly and remove/inline the helper `ComputeLineNumbers`, simplifying the callers. Differential Revision: https://reviews.llvm.org/D89922
-
Nick Desaulniers authored
It's currently ambiguous in IR whether the source language explicitly did not want a stack a stack protector (in C, via function attribute no_stack_protector) or doesn't care for any given function. It's common for code that manipulates the stack via inline assembly or that has to set up its own stack canary (such as the Linux kernel) would like to avoid stack protectors in certain functions. In this case, we've been bitten by numerous bugs where a callee with a stack protector is inlined into an __attribute__((__no_stack_protector__)) caller, which generally breaks the caller's assumptions about not having a stack protector. LTO exacerbates the issue. While developers can avoid this by putting all no_stack_protector functions in one translation unit together and compiling those with -fno-stack-protector, it's generally not very ergonomic or as ergonomic as a function attribute, and still doesn't work for LTO. See also: https://lore.kernel.org/linux-pm/20200915172658.1432732-1-rkir@google.com/ https://lore.kernel.org/lkml/20200918201436.2932360-30-samitolvanen@google.com/T/#u Typically, when inlining a callee into a caller, the caller will be upgraded in its level of stack protection (see adjustCallerSSPLevel()). By adding an explicit attribute in the IR when the function attribute is used in the source language, we can now identify such cases and prevent inlining. Block inlining when the callee and caller differ in the case that one contains `nossp` when the other has `ssp`, `sspstrong`, or `sspreq`. Fixes pr/47479. Reviewed By: void Differential Revision: https://reviews.llvm.org/D87956
-
Jonas Devlieghere authored
We were returning the default constructed unique_pointer from TypeSystem.h for which the compiler does not have a definition. Move the implementation into the cpp file.
-
Xiangling Liao authored
On AIX, to support vector types, which should always be 16 bytes aligned, we set alloca to return 16 bytes aligned memory space. Differential Revision: https://reviews.llvm.org/D89910
-
Stanislav Mekhanoshin authored
This does not change anything at the moment, but needed for D89170. In that change I am probing a physical SGPR to see if it is legal. RC is SReg_32, but DRC for scratch instructions is SReg_32_XEXEC_HI and test fails. That is sufficient just to check if DRC contains a register here in case of physreg. Physregs also do not use subregs so the subreg handling below is irrelevant for these. Differential Revision: https://reviews.llvm.org/D90064
-
Hubert Tong authored
The change in 0ba98433 changed the behaviour of the build when using an XL build compiler because `-G` is not a pure linker option: it also implies `-shared`. This was accounted for in the base CMake configuration, so an analysis of the change from 0ba98433 in relation to a build using Clang (where `-shared` is introduced by CMake) would not identify the issue. This patch resolves this particular issue by adding `-shared` alongside `-Wl,-G`. At the same time, the investigation reveals that several aspects of the various build configurations are not operating in the manner originally intended. The other issue related to the `-G` linker option in the build is that the removal of it (to avoid unnecessary use of run-time linking) is not effective for the build using the Clang compiler. This patch addresses this by adjusting the regular expressions used to remove the broadly- applied `-G`. Finally, the issue of specifying the export list with `-Wl,` instead of a compiler option is flagged with a FIXME comment. Reviewed By: daltenty, amyk Differential Revision: https://reviews.llvm.org/D90041
-
Teresa Johnson authored
For unknown reasons, this test started failing only on the llvm-avr-linux bot after 5c20d7db: http://lab.llvm.org:8011/#/builders/112/builds/365 The error message is not helpful, and I have an email out to the bot owner to help with debugging. XFAIL it on avr for now.
-
Nikita Popov authored
This is a variation of the BatchAA problem that also applies without BatchAA. We may have a cached result from earlier in the same query.
-
Mircea Trofin authored
This was initiated from the uses of MCRegUnitIterator, so while likely not exhaustive, it's a step forward. Differential Revision: https://reviews.llvm.org/D89975
-
Baptiste Saleil authored
This patch adds support for MMA intrinsics. Authored by: Baptiste Saleil Reviewed By: #powerpc, bsaleil, amyk Differential Revision: https://reviews.llvm.org/D89345
-
Nikita Popov authored
I'm not sure whether this can cause actual non-determinism in the compiler output, but at least it causes non-determinism in the statistics collected by BasicAA. Use SetVector to have a predictable iteration order.
-
Sean Silva authored
I just found I needed this in an upcoming patch, and it seems generally useful to have. Differential Revision: https://reviews.llvm.org/D90000
-
Fangrui Song authored
[ELF] Don't error on R_PPC64_REL24/R_PPC64_REL24_NOTOC referencing __tls_get_addr for missing R_PPC64_TLSGD/R_PPC64_TLSLD This partially reverts D85994. In glibc, elf/dl-sym.c calls the raw `__tls_get_addr` by specifying the tls_index parameter. Such a call does not have a pairing R_PPC64_TLSGD/R_PPC64_TLSLD. This is legitimate. Since we cannot distinguish the benign case from cases due to toolchain issues, we have to be permissive. Acked by Stefan Pintilie
-
Mircea Trofin authored
That changes the threshold calculation.
-
Duncan P. N. Exon Smith authored
Avoid some noisy `const_cast`s by making `ContentCache::SourceLineCache` and `SourceManager::LastLineNoContentCache` both mutable. Differential Revision: https://reviews.llvm.org/D89914
-