- Dec 09, 2021
-
-
Jonas Devlieghere authored
Because of its dependency on clang (and potentially other compilers downstream, such as swift) lldb_private::GetVersion already lives in its own library called lldbBase. Despite that, its implementation was spread across unrelated files. This patch improves things by introducing a Version library with its own directory, header and implementation file. The benefits of this patch include: - We can get rid of the ugly quoting macros. - Other parts of LLDB can read the version number from lldb/Version/Version.inc. - The implementation can be swapped out for tools like lldb-server than don't need to depend on clang at all. Differential revision: https://reviews.llvm.org/D115211
-
Carlo Bertolli authored
Prepare amdgpu plugin for asynchronous implementation. This patch switches to using HSA API for asynchronous memory copy. Moving away from hsa_memory_copy means that plugin is responsible for locking/unlocking host memory pointers. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D115279
-
Taewook Oh authored
This diff adds "dfsan-ignore-personality-routine" flag, which makes the dfsan pass to not to generate wrappers for the personality functions if the function is marked uninstrumented. This flag is to support dfsan with the cases where the exception handling routines cannot be instrumented (e.g. use the prebuilt version of c++ standard library). When the personality function cannot be instrumented it is supposed to be marked "uninstrumented" from the abi list file. While DFSan generates a wrapper function for uninstrumented functions, it cannot cannot generate a valid wrapper for vararg functions, and indirect invocation of vararg function wrapper terminates the execution of dfsan-instrumented programs. This makes invocation of personality routine to crash the program, because 1) clang adds a declaration of personality functions as a vararg function with no fixed argument, and 2) personality routines are always called indirectly. To address this issue, the flag introduced in this diff makes dfsan to not to instrument the personality function. This is not the "correct" solution in the sense that return value label from the personality function will be undefined. However, in practice, if the exception handling routines are uninstrumented we wouldn't expect precise label propagation around them, and it would be more beneficial to make the rest of the program run without termination. Reviewed By: browneee Differential Revision: https://reviews.llvm.org/D115317
-
Rob Suderman authored
Count leading/trailing zeros are an existing LLVM intrinsic. Added LLVM support for the intrinsics with lowerings from the math dialect to LLVM dialect. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D115206
-
wlei authored
-
Arthur Eubanks authored
This reverts commit f9235e45. Causes breakages on Windows: http://45.33.8.238/win/50453/step_11.txt.
-
Duncan P. N. Exon Smith authored
Add `SmallVectorImpl::truncate()`, a variant of `resize()` that cannot increase the size. - Compared to `resize()`, this has no code path for growing the allocation and can be better optimized. - Compared to `set_size()`, this formally calls destructors, and does not skip any constructors. - Compared to `pop_back_n()`, this takes the new desired size, which in many contexts is more intuitive than the number of elements to remove. The immediate motivation is to pair this with `resize_for_overwrite()` to remove uses of `set_size()`, which can then be made private. Differential Revision: https://reviews.llvm.org/D115383
-
Anna Thomas authored
Add inferable writeonly attribute. Simplify testcase.
-
Arthur O'Dwyer authored
No decrease in test coverage intended. The original goal here was just to get rid of the global name `sentinel` so that we can rename the `sentinel_wrapper` in "test_iterators.h" to `sentinel`; but then I took a closer look at the offending tests and saw that some of them probably weren't testing what they intended. Also, add one `/*explicit*/` and one #if'ed out test indicating bugs in the current ranges::empty (to be fixed by D115312 or some equivalent patch). Reviewed as part of D115272.
-
Arthur O'Dwyer authored
Reviewed as part of D115272.
-
Arthur O'Dwyer authored
This follows up on my addition of base(cpp20_input_iterator) in D115177, making all the ADL base() functions consistent. Also align cpp20_input_iterator with the other test iterators' style. Reviewed as part of D115272.
-
Martin Storsjö authored
This variable is necessary for the system() function for running external processes. This is needes for some libcxx tests. With the current libcxx test infrastructure, all OS environment variables are passed through, but with the new "from scratch" libcxx test setup, we only pass through the variables listed here. Differential Revision: https://reviews.llvm.org/D115363
-
wlei authored
-
Kirill Stoimenov authored
[ASan] Added __cplusplus guard around the C++ code so it is safe to include asan_mapping.h in assembly files. This will avoid addind asan_shadow_defines.h in D114558. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D115348
-
Anna Thomas authored
Precommitted from D109917. Note that the log call is already handled by instCombine.
-
Vitaly Buka authored
Depends on D114495. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D114498
-
wlei authored
[llvm-profgen] fix to use profile-summary-hot-count instead of profile-summary-cold-count for CS profile
-
Petr Hosek authored
Some of the compiler-rt runtimes use custom instrumented libc++ build. Use the runtimes build for building this custom libc++. Differential Revision: https://reviews.llvm.org/D114922
-
Duncan P. N. Exon Smith authored
Use an early return in SmallVectorImpl::resize_for_overwite() to reduce nesting. This also makes it easier to visually compare against the two-argument version of resize().
-
Vitaly Buka authored
As in D114934, or lsan crashes on the same bot.
-
Vitaly Buka authored
Folloup for D114934
-
Vitaly Buka authored
We don't run tests or benchmarks from this build anyway. Benchmarks in custom libc++ break my local build. Reviewed By: ldionne Differential Revision: https://reviews.llvm.org/D115375
-
wlei authored
Since total sample and body sample are used to compute hotness threshold in compiler, we found in some services changing the total samples computation will cause noticeable regression. Hence, here we will revert the changes and just keep all total samples number identical to the old tool. Three changes in this diff: 1. Revert previous diff(https://reviews.llvm.org/D112672: [llvm-profgen] Update total samples by accumulating all its body samples) and put it under a switch. 2. Keep the negative line number. Although compiler doesn't consume the count but it will be used to compute hot threshold. 3. Change to accumulate total samples per byte instead of per instruction. Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D115013
-
Fabian Wolff authored
-
Philip Reames authored
-
wlei authored
This change allows to trim the profile if it's considered to be cold for baseline AutoFDO. We reuse the cold threshold from `ProfileSummaryBuilder::getColdCountThreshold(..)` which can be set by percent(--profile-summary-cutoff-cold) or by value(--profile-summary-cold-count). Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D113785
-
Kirill Stoimenov authored
Reviewed By: kstoimenov Differential Revision: https://reviews.llvm.org/D115371
-
Siva Chandra Reddy authored
-
Florian Hahn authored
memset_pattern{4,8} behave as memset_pattern16, with the only difference being the size of the pattern location. Reviewed By: ab Differential Revision: https://reviews.llvm.org/D114905 -
Jamie Schmeiser authored
Summary: A new option test-changed is defined that allows one to specify an exe that is called after each pass in the opt pipeline that changes the IR. The test-changed=exe option saves the IR in a temporary file and calls exe with the name of the file and the name of the pass that just changed it after each pass alters the IR. exe is also called with the initial IR. This can be used, for example, to determine which pass corrupts the IR by having exe as a script that calls llc and runs a test to see after which pass the results change. The print-changed filtering options are respected. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D110776
-
Butygin authored
Differential Revision: https://reviews.llvm.org/D115335
-
Nico Weber authored
This reverts commit 0f865dc6. 02cc8d69 was reverted in aaec63d2.
-
Noah Shutty authored
This reverts commit 02cc8d69 because it caused buildbot failures. The issue appears to be simply that we need to only enable debuginfod when the HTTPClient has been initialized by the running tool, since InitLLVM does not do the initialization step anymore.
-
Simon Pilgrim authored
This is a NFC cleanup to simplify some upcoming refactoring required to address the regressions in D111968.
-
Nico Weber authored
-
Benjamin Kramer authored
This can be unsigned long or unsigned long long depending on where it's compiled. Use the ugly portable way. PlatformWindows.cpp:397:63: warning: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long')
-
Adrian Vogelsgesang authored
This commit improves the fix-its of modernize-pass-by-value by no longer proposing partial fixes. In the presence of using/typedef, we failed to rewrite the function signature but still adjusted the function body. This led to incorrect, partial fix-its. Instead, the check now simply doesn't offer any fixes at all in such a situation.
-
Nikolas Klauser authored
Use `= delete` for member functions that are marked with `// = delete;` Reviewed By: ldionne, Quuxplusone, #libc Spies: jloser, libcxx-commits Differential Revision: https://reviews.llvm.org/D115291
-
Philip Reames authored
-
Noah Shutty authored
Adds a fallback to use the debuginfod client library (386655) in `findDebugBinary`. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D113717
-