- Feb 12, 2022
-
-
AndreyChurbanov authored
The __kmp_hidden_helper_threads_num set to N+1 if user requested N threads. Thus number of worker hidden helper threads corresponds to user request, main thread of helper team excluded as it does not participate in actual work. This also fixes divide-by-0 issue in the code. Fixes #48656 Differential Revision: https://reviews.llvm.org/D119586
-
Peter Klausler authored
When a scope's symbol has characteriztics whose specification expressions depend on other non-constant symbols in the same scope, f18 rightfully emits an error. However, in the case of usage in specification expressions involving host association, the program is not invalid. This can arise, for example, in the case of an internal function whose result's attributes use host-associated variables. Differential Revision: https://reviews.llvm.org/D119565
-
Alex Lorenz authored
This reverts commit 0d9b9152. This change broke LLDB's build. I will need to recommit after fixing LLDB.
-
Peter Steinfeld authored
There are several checks in the runtime routine for the RESHAPE intrinsic. Some checks verify things that should have been checked at compile time while others represent user errors. This update changes the checks for user errors into calls to "Crash" which include information about the failing check. This identifies them as user errors rather than compiler errors. I also verified that the checks that remain as internal errors are also checked by the front end. I added a test to the front end's RESHAPE test to complete the checks. Differential Revision: https://reviews.llvm.org/D119596
-
Joe Loser authored
Despite the comment saying `[[no_unique_address]]` on the `__base_` data member makes clang crash, this does not seem to be true on CI. So, mark `__base_` with `_LIBCPP_NO_UNIQUE_ADDRESS`. Differential Revision: https://reviews.llvm.org/D119208
-
Jonas Devlieghere authored
Use the dyld_shared_cache_(un)pin_mapping SPI to map the whole shared cache in memory (if possible) to avoid repeated calls to mmap. rdar://81189015
-
Fangrui Song authored
This fixes Linux musl build after D118423.
-
Konstantin Varlamov authored
- add some test cases for `cbegin`/`cend`; - make class definitions generally follow the order in which they are used; - add a missing include. Reviewed By: philnik Differential Revision: https://reviews.llvm.org/D119214
-
Michael Gottesman authored
This ensures that if we have a dbg.addr in a coroutine funclet that is on one of our function arguments, that the dbg.addr is not mapped to undef and also that later it isn't hoisted to the front of the basic block. Instead it remains at its original cloned location. rdar://83957028 Differential Revision: https://reviews.llvm.org/D119576
-
Nico Weber authored
-
Paul Kirth authored
Differential Revision: https://reviews.llvm.org/D119598
-
Alex Lorenz authored
Recently we observed high memory pressure caused by clang during some parallel builds. We discovered that we have several projects that have a large number of #define directives in their TUs (on the order of millions), which caused huge memory consumption in clang due to a lot of allocations for MacroInfo. We would like to reduce the memory overhead of clang for a single #define to reduce the memory overhead for these files, to allow us to reduce the memory pressure on the system during highly parallel builds. This change achieves that by removing the SmallVector in MacroInfo and instead storing the tokens in an array allocated using the bump pointer allocator, after all tokens are lexed. The added unit test with 1000000 #define directives illustrates the problem. Prior to this change, on arm64 macOS, clang's PP bump pointer allocator allocated 272007616 bytes, and used roughly 272 bytes per #define. After this change, clang's PP bump pointer allocator allocates 120002016 bytes, and uses only roughly 120 bytes per #define. For an example test file that we have internally with 7.8 million #define directives, this change produces the following improvement on arm64 macOS: Persistent allocation footprint for this test case file as it's being compiled to LLVM IR went down 22% from 5.28 GB to 4.07 GB and the total allocations went down 14% from 8.26 GB to 7.05 GB. Furthermore, this change reduced the total number of allocations made by the system for this clang invocation from 1454853 to 133663, an order of magnitude improvement. Differential Revision: https://reviews.llvm.org/D117348
-
Evgenii Stepanov authored
fix code formatting Differential Revision: https://reviews.llvm.org/D119299
-
Michael Jones authored
Previously, allocator functions were only available if they were included from scudo or by using the system libc headers (i.e. by turning off the full build). This patch changes the logic to include the prototypes for the allocator functitons in all cases, which allows the linker to link in the system's allocator. Reviewed By: sivachandra, abrachet Differential Revision: https://reviews.llvm.org/D119587
-
Michael Forney authored
All platforms return the main executable as the first dl_phdr_info. FreeBSD, NetBSD, Solaris, and Linux-musl place the executable name in the dlpi_name field of this entry. It appears that only Linux-glibc uses the empty string. To make this work generically on all platforms, unconditionally skip the first object (like is currently done for FreeBSD and NetBSD). This fixes first DSO detection on Linux-musl with clang -shared-libsan/-shared-libasan and GCC's default. It also would likely fix detection on Solaris/Illumos if it were to gain PIE support (since dlpi_addr would not be NULL). Additionally, only skip the Linux VDSO on linux. Finally, use the empty string as the "seen first dl_phdr_info" marker rather than (char *)-1. If there was no other object, we would try to dereference it for a string comparison. Reviewed By: MaskRay, vitalybuka Differential Revision: https://reviews.llvm.org/D119515
-
Martin Storsjö authored
This was missed in 8a0a706f (added after that patch was made originally).
-
Florian Mayer authored
This reverts commit 19fdf85f.
-
Florian Mayer authored
This reverts commit 8f0e5b4e.
-
Fangrui Song authored
-
Conrad Poelman authored
Running check-clang-tools on Windows produces 5 test failures: Failed Tests (5): Clang Tools :: clang-apply-replacements/ClangRenameClassReplacements.cpp Clang Tools :: clang-apply-replacements/basic.cpp Clang Tools :: clang-apply-replacements/format.cpp Clang Tools :: clang-move/move-used-helper-decls.cpp Clang Tools :: clang-tidy/infrastructure/export-diagnostics.cpp Four of these failures are simply due to fixed character position offsets differing on Windows versus Linux, since Windows line endings take up two characters instead of one: clang-apply-replacements/ClangRenameClassReplacements.cpp runs clang-rename -offset=254 clang-apply-replacements/Inputs/basic/file[12].yaml specify e.g. FileOffset: 148 and Offset: 298 clang-apply-replacements/Inputs/format/{no,yes}.yaml specify e.g. FileOffset: 94 and Offset: 94 clang-tidy/infrastructure/export-diagnostics.cpp specifies e.g. CHECK-YAML-NEXT: FileOffset: 30 (The mov... -
Annika authored
As per https://bugs.llvm.org/show_bug.cgi?id=52119. Reviewed By: myhsu Differential Revision: https://reviews.llvm.org/D111497
-
Nico Weber authored
This relands commit b3b2538d, except that the new files in Support are instead in a new library WindowsDriver.
-
Shubham Sandeep Rastogi authored
With bc013b3e4e862da8d0c2d91cf99dcbebf124e4ac a new section called accessible functions was added to swift/include/swift/ABI/ObjectFile.h so this change adds support for dumping it out into the dSYM bundle Differential Revision: https://reviews.llvm.org/D119569
-
Paul Kirth authored
Adds missing header to fix sanitizer builds for Fuchsia. Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D119588
-
Philip Reames authored
-
Arthur Eubanks authored
elementtype is only allowed on caller arguments.
-
Björn Schäpers authored
- Added an option where to put the requires clauses. - Renamed IndentRequires to IndentRequiresClause. - Changed BreakBeforeConceptDeclaration from bool to an enum. Fixes https://llvm.org/PR32165, and https://llvm.org/PR52401. Differential Revision: https://reviews.llvm.org/D113319
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D119490
-
Nico Weber authored
Less typing than `-fprofile-instr-use`, and means the same thing. Differential Revision: https://reviews.llvm.org/D119574
-
Dimitry Andric authored
Follow-up to 458ead66, which replaced the bespoke CMakeLists.txt file for building a custom instrumented libc++ with an invocation of the runtimes build. In the the bespoke CMakeLists.txt, the LIBCXX_CXX_ABI setting was forced to libcxxabi, but this was not done for the CMake invocation for the runtimes build. This would cause CMake configuration issues on platforms where the default LIBCXX_CXX_ABI setting is not libcxxabi, such as FreeBSD. Add `-DLIBCXX_CXX_ABI=libcxxabi` to that invocation, to make sure the custom instrumented libc++ always uses the expected ABI. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D119554
-
Adrian Prantl authored
This reverts commit b3b2538d, it introduced a cycklic module depenency that broke the -DLLVM_ENABLE_MODULES=1 build.
-
Weverything authored
Remove most calls to deprcated Address constructor in CGExpr.cpp Differential Revision: https://reviews.llvm.org/D119496
-
Florian Mayer authored
An infinite loop without any effects is illegal C++ and can be optimized away by the compiler. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D119575
-
Louis Dionne authored
This reverts commit 2722ac65. As explained in D115906, this was actually unnecessary and it broke the external threading configuration. Differential Revision: https://reviews.llvm.org/D119484
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D119468
-
Florian Hahn authored
If we can prove that an addition without wrap flags won't wrap, decompse the operation. Issue #48253
-
YASHASVI KHATAVKAR authored
-
Martin Storsjö authored
This should silence all remaining clang-cl build warnings. Differential Revision: https://reviews.llvm.org/D119430
-
Sanjay Patel authored
This is reduced from a test that failed with D118376. The C source is posted in issue #53695
-
Sanjay Patel authored
The addresses matter - we want to verify the splitting and order of the memops.
-