- Apr 29, 2020
-
-
David Blaikie authored
The API actually passes and returns ownership too, but the usage uis complicated enough that I'm not going to unique_ptr-ify those add/remove calls.
-
Chen Zheng authored
-
Nicolas Vasilache authored
OperationHandle mostly existed to mirror the behavior of ValueHandle. This has become unnecessary and can be retired. Differential Revision: https://reviews.llvm.org/D78692
-
Muhammad Omair Javaid authored
Summary: This patch adds support to access AArch64 FP SIMD core dump registers and adds a test case to verify registers. This patches fixes a bug where doing "register read --all" causes lldb to crash. Reviewers: labath Reviewed By: labath Subscribers: kristof.beyls, danielkiss, lldb-commits Differential Revision: https://reviews.llvm.org/D77793
-
Saleem Abdulrasool authored
Now that the rest of LLVM prefers python3 over python2, the LLDB path should follow suite. Add a fallback path to python2 for non-Windows targets.
-
Muhammad Omair Javaid authored
Summary: This patch increases maximum register size to 256 bytes to accommodate AArch64 SVE registers maximum possible size of 256 bytes. Reviewers: labath, jankratochvil, rengolin Reviewed By: labath Subscribers: tschuett, kristof.beyls, danielkiss, lldb-commits Differential Revision: https://reviews.llvm.org/D77044
-
Jonas Devlieghere authored
The FileSpec constructor takes a StringRef so there's no point in going through a C string.
-
Jonas Devlieghere authored
The SwiftASTContext queries this function in parallel and requires synchronization.
-
Jonas Devlieghere authored
Nothing guarantees that the objects in the StringMap remains at the same address when the StringMap grows. Therefore we shouldn't return a reference into the StringMap but return a copy of the string instead.
-
Xing GUO authored
This patch helps make the short options displayed in the help message be consistant with the description in https://llvm.org/docs/CommandGuide/dsymutil.html Reviewed By: JDevlieghere, aprantl Differential Revision: https://reviews.llvm.org/D78476
-
QingShan Zhang authored
Call getNegatedExpression(Cost) and check the Cost to make the code more clear. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D78347
-
Nico Weber authored
The Python3 change relanded yet again, so merge it yet again. This reverts commit f0019cdc. This reverts commit 854a7db4.
-
Richard Smith authored
Fix a few bugs where we would fail to properly determine header to module correspondence when determining whether to suggest a #include or import, and suggest a #include more often in language modes where there is no import syntax. Generally, if the target is in a header with include guards or #pragma once, we should suggest either #including or importing that header, and not importing a module that happens to textually include it. In passing, improve the notes we attach to the corresponding diagnostics: calling an entity that we couldn't see "previous" is confusing.
-
Saleem Abdulrasool authored
This reverts commit 35edd704. Revert the revert and extend the patch further to account for the use of the `PYTHONINTERP_FOUND`.
-
David Blaikie authored
-
David Blaikie authored
-
LLVM GN Syncbot authored
-
Nico Weber authored
-
Nico Weber authored
This reverts commit cbaa74a0. The Py3 change got (mostly, except compiler-rt) reverted again.
-
David Blaikie authored
-
David Blaikie authored
-
David Blaikie authored
-
Paula Toth authored
Summary: This check will ensure that all calls to functions resolve to one inside the `__llvm_libc` namespace. This is done to ensure that if we include a public header then we don't accidentally call into the a function within the global namespace. Reviewers: aaron.ballman, njames93 Reviewed By: aaron.ballman Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits, sivachandra Tags: #clang-tools-extra, #libc-project, #clang Differential Revision: https://reviews.llvm.org/D78890
-
Jez Ng authored
This got reverted due to UBSAN errors in a diff lower in the stack, which is being fixed in https://reviews.llvm.org/D79050. This diff is otherwise identical to the original https://reviews.llvm.org/D76908 (which was committed in 9598778b and reverted in b52bc265). Differential Revision: https://reviews.llvm.org/D79051
-
Jez Ng authored
This diff implements basic support for writing a symbol table. Attributes are loosely supported for extern symbols and not at all for other types. Initial version by Kellie Medlin <kelliem@fb.com> Originally committed in a3d95a50 and reverted in fbae153c due to UBSAN erroring over unaligned writes. That has been fixed in the current diff with the following changes: ``` diff --git a/lld/MachO/SyntheticSections.cpp b/lld/MachO/SyntheticSections.cpp --- a/lld/MachO/SyntheticSections.cpp +++ b/lld/MachO/SyntheticSections.cpp @@ -133,6 +133,9 @@ SymtabSection::SymtabSection(StringTableSection &stringTableSection) : stringTableSection(stringTableSection) { segname = segment_names::linkEdit; name = section_names::symbolTable; + // TODO: When we introduce the SyntheticSections superclass, we should make + // all synthetic sections aligned to WordSize by default. + align = WordSize; } size_t SymtabSection::getSize() const { diff --git a/lld/MachO/Writer.cpp b/lld/MachO/Writer.cpp --- a/lld/MachO/Writer.cpp +++ b/lld/MachO/Writer.cpp @@ -371,6 +371,7 @@ void Writer::assignAddresses(OutputSegment *seg) { ArrayRef<InputSection *> sections = p.second; for (InputSection *isec : sections) { addr = alignTo(addr, isec->align); + // We must align the file offsets too to avoid misaligned writes of + // structs. + fileOff = alignTo(fileOff, isec->align); isec->addr = addr; addr += isec->getSize(); fileOff += isec->getFileSize(); @@ -396,6 +397,7 @@ void Writer::writeSections() { uint64_t fileOff = seg->fileOff; for (auto § : seg->getSections()) { for (InputSection *isec : sect.second) { + fileOff = alignTo(fileOff, isec->align); isec->writeTo(buf + fileOff); fileOff += isec->getFileSize(); } ``` I don't think it's easy to write a test for alignment (that doesn't involve brittly hard-coding file offsets), so there isn't one... but UBSAN builds pass now. Differential Revision: https://reviews.llvm.org/D79050
-
Sterling Augustine authored
Summary: Certain dwarf information (like the compilation directory), are only accessible from the compile unit. Make it available for use. Subscribers: aprantl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79048
-
Eric Christopher authored
as it seems to be causing multiple people problems with running tests and building. This reverts commit c4c3883b.
-
Stanislav Mekhanoshin authored
It allows it not to crash and analyze 16 bit subregs if those appear in the instructions. At the same time it does not attempt to reassign these. It still can correctly identify register banks to let larger registers to be reassigned. More work will be needed here when real instructions will use these registers and more tests as well. Differential Revision: https://reviews.llvm.org/D78772
-
Paula Toth authored
Reviewers: sivachandra, abrachet Reviewed By: abrachet Subscribers: mgorny, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D79016
-
Sam McCall authored
This reverts commit faf2dce1.
-
Eric Christopher authored
This reverts commit ad38f4b3. As it broke building the unittests: .../sources/llvm-project/llvm/unittests/Support/Path.cpp:334:5: error: use of undeclared identifier 'set' set(Value); ^ 1 error generated.
-
Jessica Clarke authored
Summary: This is a small improvement for OpenCL diagnostics, but is also useful for our CHERI fork, as our __capability qualifier is suppressed from diagnostics when all pointers are capabilities, only being used when pointers need to be explicitly opted-in to being capabilities. Reviewers: rsmith, Anastasia, aaron.ballman Reviewed By: Anastasia, aaron.ballman Subscribers: aaron.ballman, arichardson, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78777
-
Stanislav Mekhanoshin authored
These are only needed as VGPR counterpart. Differential Revision: https://reviews.llvm.org/D78597
-
Jessica Paquette authored
Add missing ifndef to make release builds happy. Example failure: http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/4006/steps/ninja-build/logs/stdio
-
Craig Topper authored
[X86] Add PACK instructions to hasUndefRegUpdate so the BreakFalseDeps pass will reassign an undef second source to match the first source We generate PACK instructions with an undef second source when we are truncating from a 128-bit vector to something narrower and we don't care about the upper bits of the vector register. The register allocation process will always assign untied undef uses to xmm0. This creates a false dependency on xmm0. By adding these instructions to hasUndefRegUpdate, we can get the BreakFalseDeps pass to reassign the source to match the other input. Normally this interface is used for instructions that might need an xor inserted to break the dependency. But the pass also has a heuristic that tries to use the same register as other sources. That should always be possible for these instructions so we'll never trigger the xor dependency break. Differential Revision: https://reviews.llvm.org/D79032
-
Stanislav Mekhanoshin authored
These are used in SReg_32 and when we start to use SGPR_LO16 there will be compaints that not all registers in RC support all subreg indexes. For now it is NFC. Unused regunits are reserved so that verifier does not complain about missing phys reg live-ins. Differential Revision: https://reviews.llvm.org/D78591
-
Jessica Paquette authored
Generalize the 16-bit FPR to 32-bit GPR logic to work for all cases where destination size is bigger than source size. Also fixed CheckCopy() always returning true instead of the result of isValidCopy(). Differential Revision: https://reviews.llvm.org/D77530 Patch by tambre (Raul Tambre)
-
Casey Carter authored
-
Siva Chandra Reddy authored
Reviewers: gchatelet, echristo Subscribers: mgorny, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D79040
-
Vojtěch Štěpančík authored
Summary: This patch adds a function that is similar to `llvm::sys::path::home_directory`, but provides access to the system cache directory. For Windows, that is %LOCALAPPDATA%, and applications should put their files under %LOCALAPPDATA%\Organization\Product\. For *nixes, it adheres to the XDG Base Directory Specification, so it first looks at the XDG_CACHE_HOME environment variable and falls back to ~/.cache/. Subsequently, the Clangd Index storage leverages this new API to put index files somewhere else than the users home directory. Fixes https://github.com/clangd/clangd/issues/341 Reviewers: sammccall, chandlerc, Bigcheese Reviewed By: sammccall Subscribers: hiraditya, ilya-biryukov, MaskRay, jkorous, dexonsmith, arphaman, kadircet, ormris, usaxena95, cfe-commits, llvm-commits Tags: #clang-tools-extra, #clang, #llvm Differential Revision: https://reviews.llvm.org/D78501
-