- Oct 19, 2023
-
-
Adrian Prantl authored
-
Piotr Zegar authored
Fix ':4:Title underline too short.'
-
Emilio Cota authored
To forward-declare LLVM's support types.
-
Piotr Zegar authored
Fix micro bug in list.rst.
-
Logikable authored
Using the new pass manager is more verbose; let me know if the tutorial doesn't flow well with all the additions.
-
Stanislav Mekhanoshin authored
We can only fold it if it can fit into 32-bit. I believe it did not trigger yet because we do not select 64-bit literals generally.
-
Arjun P authored
-
Aaron Ballman authored
The constant expression engines use a list of note diagnostics to report back whether an evaluation is a valid constant expression or not. This requires the engines to generate those note diagnostics, and that can be expensive in cases where we're converting an APValue to a string as a streamed argument to the note. If we're going to display the note, then that expense is warranted. However, there are operations looking for a yes/no answer to whether something is a constant expression and won't display the diagnostics at all. Those uses are paying an expense they shouldn't have to.
-
Erich Keane authored
Out of line class template declaration specializations aren't created at the time they have their template arguments checked, so we previously weren't doing any amount of work to substitute the constraints before comparison. This resulted in the out of line definition's difference in 'depth' causing the constraints to compare differently. This patch corrects that. Additionally, it handles ClassTemplateDecl when collecting template arguments. Fixes: #61763
-
Alex Langford authored
Instead of reporting the error directly through the DWARFContext passed in as an argument, it would be more flexible to have extract return the error and allow the caller to react appropriately. This will be useful for using llvm's DWARFHeaderUnit from lldb which may report header extraction errors through a different mechanism.
-
Valery Dmitriev authored
-
Eric Kilmer authored
If a CMake project doesn't enable the C language, then the CMake FFI and Terminfo find modules will fail their checks for compilation and linking. This commit allows projects to enable only C++ by first checking if a C compiler is set before testing C source compilation; if not, it checks whether C++ compilation succeeds. Fixes #53950
-
- Oct 18, 2023
-
-
Mehdi Amini authored
-
Fangrui Song authored
Follow-up to #69295: In `Writer<ELFT>::run`, the symbol passes are flexible: they can be placed almost everywhere before `scanRelocations`, with a constraint that the `computeIsPreemptible` pass must be invoked for linker-defined non-local symbols. Merge copyLocalSymbols and demoteLocalSymbolsInDiscardedSections to simplify code: * Demoting local symbols can be made unconditional, not constrainted to /DISCARD/ uses due to performance concerns * `includeInSymtab` can be made faster * Make symbol passes close to each other * Decrease data cache misses due to saving an iteration over local symbols There is no speedup, likely due to the unconditional `dr->section` access in `demoteAndCopyLocalSymbols`. `gc-sections-tls.s` no longer reports an error because the TLS symbol is converted to an Undefined.
-
NatashaKnk authored
-
Stephen Tozer authored
This patch adds a new fn attribute, `optdebug`, that specifies that optimizations should make decisions that prioritize debug info quality, potentially at the cost of runtime performance. This patch does not add any functional changes triggered by this attribute, only the attribute itself. A subsequent patch will use this flag to disable the post-RA scheduler.
-
Slava Zakharin authored
According to OpenACC 3.2 2.11, private or reduction clause on the combined construct is treated as if it appeared on the loop construct.
-
Florian Hahn authored
-
Harmen Stoppels authored
LLVM detects when ncurses has a separate terminfo library, but linking to it was broken in lldb since b6633957 (LLVM14) due to a change of variables. This commit fixes that oversight.
-
Caroline Concatto authored
As described in: https://github.com/ARM-software/acle/pull/257 Patch by : Sander de Smalen<sander.desmalen@arm.com> Reviewed By: kmclaughlin Differential Revision: https://reviews.llvm.org/D151197
-
Tomás Longeri authored
The reason I want this is that I am writing my own Python bindings and would like to use the insertion point from `PyThreadContextEntry::getDefaultInsertionPoint()` to call C++ functions that take an `OpBuilder` (I don't need to expose it in Python but it also seems appropriate). AFAICT, there is currently no way to translate a `PyInsertionPoint` into an `OpBuilder` because the operation is inaccessible.
-
Dmitry Chernenkov authored
This reverts commit e6d0b126. See PR for reason https://github.com/llvm/llvm-project/pull/68999#issuecomment-1768541660
-
Rainer Orth authored
I noticed that `flang-new` cannot link Fortran executables on Solaris since the runtime libs are missing. This patch fixes this, following `Gnu.cpp`. The `linker-flags.f90` testcase is augmented to test for this, renaming the `GNU` label to `UNIX` so it can be reused. Also use the current form `--target=` in the tests and join the `-l` lines in the test for readibility. Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`.
-
Stephen Tozer authored
This patch adds some missing documentation for some attributes in BitCodeFormat, where the integer code mappings for attributes after code 79 were not listed, and in LangRef where the incompatibility between minsize/optsize and optnone was not mentioned.
-
Benjamin Maxwell authored
Previously, these would set their ArrayRef members to reference their storage SmallVectors after a copy-on-write (COW) operation. This leads to a use-after-free if the builder is copied and the original destroyed (as the new builder would still reference the old SmallVector). This could easily accidentally occur in code like (annotated): ```c++ // 1. `VectorType::Builder(type)` constructs a new temporary builder // 2. `.dropDim(0)` updates the temporary builder by reference, and returns a `VectorType::Builder&` // - Modifying the shape is a COW operation, so `storage` is used, and `shape` updated the reference it // 3. Assigning the reference to `auto` copies the builder (via the default C++ copy ctor) // - There's no special handling for `shape` and `storage`, so the new shape points to the old builder's `storage` auto newType = VectorType::Builder(type).dropDim(0); // 4. When this line is reached the original temporary builder is destroyed // - Actually constructing the vector type is now a use-after-free VectorType newVectorType = VectorType(newType); ``` This is fixed with these changes by using `CopyOnWriteArrayRef<T>`, which implements the same functionality, but ensures no dangling references are possible if it's copied. --- The VectorType::Builder also set the ArrayRef<bool> scalableDims member to a temporary SmallVector when the provided scalableDims are empty. This again leads to a use-after-free, and is unnecessary as VectorType::get already handles being passed an empty scalableDims array. These bugs were in-part caught by UBSAN, see: https://lab.llvm.org/buildbot/#/builders/5/builds/37355
-
Sirish Pande authored
Waterfall loop is overwriting SCC bit of status register. Make sure SCC bit is saved and restored across. We need to save/restore only in cases where SCC is live across waterfall loop. Co-authored-by:Sirish Pande <sirish.pande@amd.com>
-
Tobias Gysi authored
This commit improves the import of function debug info by creating a FileLineColLoc instead of just a NameLoc if possible.
-
VitaNuo authored
-
Guray Ozen authored
-
Alex Bradbury authored
Builds on #66903, converting the rest of the low-hanging fruit to use the common implementation. See https://github.com/llvm/llvm-project/pull/67540#issuecomment-1766499179 for links to Alive2 comparisons of before/after.
-
Christian Kissig authored
- [Support] Add KnownBits::computeForSubBorrow - [CodeGen] Implement USUBC, USUBO_CARRY, and SSUBO_CARRY with KnownBits::computeForSubBorrow - [CodeGen] Compute unknown bits for Carry/Borrow for ADD/SUB - [CodeGen] Compute known bits of Carry/Borrow for UADDO, SADDO, USUBO, and SSUBO Fixes #65893 --------- Co-authored-by:Shafik Yaghmour <shafik@users.noreply.github.com>
-
LLVM GN Syncbot authored
-
Martin Storsjö authored
This reverts commit b4b35a5d. That commit broke builds with -DBUILD_SHARED_LIBS=ON. The reason is that clang::driver::toolchains::Generic_GCC::GCCVersion::Parse isn't visible outside of the shared library, because the Generic_GCC class is marked with LLVM_LIBRARY_VISIBILITY.
-
David Green authored
For two v2i1 concat into a v4i1, we cannot extract each i64 element as an i32. This casts to a v4i32 instead and extracts the correct vector lanes.
-
Amir Ayupov authored
-
Timm Bäder authored
This code is unused now that we have special casts from/to IntAP(S).
-
Jacek Caban authored
-
Paul Walker authored
-
Nicolas Vasilache authored
-