- Mar 14, 2024
-
-
Younan Zhang authored
The `ConceptReference`'s `FoundDecl` claims it "can differ from `NamedConcept` when, for example, the concept was found through a `UsingShadowDecl`", but such the contract was not previously respected. Fixes https://github.com/llvm/llvm-project/issues/82628
-
Carl Ritson authored
This reverts commit 7d508eb5.
-
Aiden Grossman authored
This patch removes an explicit use of dbgs() and exit when logging an error to explicitly use ExitOnErr as this is the canonical way to do this within exegesis.
-
Evgenii Kudriashov authored
-
Nico Weber authored
-
Nico Weber authored
-
Vitaly Buka authored
With internal symbolizer leaking pointers can be copied into alive memory used by symbolizer.
-
Shilei Tian authored
-
Noah Goldstein authored
Just a standard canonicalization. Proofs: https://alive2.llvm.org/ce/z/9W4VFm Closes #82404
-
Charlie Barto authored
Reapply "[sanitizer][asan][win] Intercept _strdup on Windows instead of strdup This includes test changes and interface changes that are duplicated in https://github.com/llvm/llvm-project/pull/81677 This reverts commit 03dc87e9.
-
ChiaHungDuan authored
Instead of explicitly disabling a feature by declaring the variable and set it to false, this change supports the optional flags. I.e., you can skip certain flags if you are not using it. This optional feature supports both forms, 1. Value: A parameter for a feature. E.g., EnableRandomOffset 2. Type: A C++ type implementing a feature. E.g., ConditionVariableT On the other hand, to access the flags will be through one of the wrappers, BaseConfig/PrimaryConfig/SecondaryConfig/CacheConfig (CacheConfig is embedded in SecondaryConfig). These wrappers have the getters to access the value and the type. When adding a new feature, we need to add it to `allocator_config.def` and mark the new variable with either *_REQUIRED_* or *_OPTIONAL_* macro so that the accessor will be generated properly. In addition, also remove the need of `UseConditionVariable` to flip on/off of condition variable. Now we only need to define the type of condition variable.
-
Slava Zakharin authored
-
Charlie Barto authored
This was broken by https://github.com/llvm/llvm-project/pull/84971
-
Jonas Devlieghere authored
Include the `LLVM_REPOSITORY` and `LLVM_REVISION` in the version output of tools using `cl::PrintVersionMessage()` such as dwarfdump and dsymutil. Before: ``` $ llvm-dwarfdump --version LLVM (http://llvm.org/): LLVM version 19.0.0git Optimized build with assertions. ``` After: ``` $ llvm-dwarfdump --version LLVM (http://llvm.org/): LLVM version 19.0.0git (git@github.com:llvm/llvm-project.git 8467457a) Optimized build with assertions. ``` rdar://121526866
-
Philip Reames authored
-
Amy Huang authored
Unrevert commit https://github.com/llvm/llvm-project/commit/2f67dfb012038678dd0b873394a55bd5c937f843 as there were already dependent changes in the codebase that now fail.
-
Peter Klausler authored
…d type When the same name is used for a derived type and generic interface in a module, and no explicit PUBLIC or PRIVATE statement appears for the name but the derived type definition does have an explicit accessibility, that accessibility must also apply to the generic interface.
-
Fangrui Song authored
-
Peter Klausler authored
At the end of an internal output statement, be sure to finish any following control edit descriptors in the format (if any), and (for output) advance to the next record. Return the right I/O error status code if output overruns the buffer.
-
Fehr Mathieu authored
Because `arith.select` does not propagate poison of the second or third operand depending on the condition, some canonicalization patterns are currently incorrect. This patch removes these incorrect patterns, and adds a new pattern to fix the case of `i1` select with constants. Patterns that are removed: * select(predA, select(predB, x, y), y) => select(and(predA, predB), x, y) * select(predA, select(predB, y, x), y) => select(and(predA, not(predB)), x, y) * select(predA, x, select(predB, x, y)) => select(or(predA, predB), x, y) * select(predA, x, select(predB, y, x)) => select(or(predA, not(predB)), x, y) * arith.select %arg, %x, %y : i1 => and(%arg, %x) or and(!%arg, %y) Pattern that is added: * select(pred, false, true) => not(pred) for i1 The first two patterns are incorrect when `predB` is poison and `predA` is false, as a non-poison `y` gets compiled to `poison`. The next two patterns are incorrect when `predB` is poison and `predA` is true, as a non-poison `x` gets compiled to `poison`. The last pattern is incorrect as it propagates poison from all operands afer compilation.
-
Craig Topper authored
These were in LLVM 17 but removed from LLVM 18 due to an incorrect extension name being used. This restores them with new extension names that match SiFive's downstream compiler. The extension name has been used internally for some time. It uses XSiFive instead of XSf like the newer extensions. `cease` did not have an internal extension name so its using the `XSf` convention. The spec for the instructions is here https://sifive.cdn.prismic.io/sifive/767804da-53b2-4893-97d5-b7c030ae0a94_s76mc_core_complex_manual_21G3.pdf though the extension name is not listed. Column width in the extension printing had to be changed to accommodate a longer extension name.
-
Amy Huang authored
Revert "[Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (#77753)" This reverts commit 99500e8c because it causes a behavior change for std=c++20. See https://github.com/llvm/llvm-project/pull/77753.
-
Peter Klausler authored
…check Add an environment variable by which a user can disable the pointer validation check in DEALLOCATE statement handling. This is not safe, but it can help make a code work that allocates a pointer with an extended derived type, associates its target with a pointer to one of its ancestor types, and then deallocates that pointer.
-
Peter Klausler authored
…compilation Allow multiple module files with the same module name to exist in one compilation; distinct modules are distinguished by their hashes.
-
Justice Adams authored
Fixing ``` CMake Error at cmake/llvm/AddLLVM.cmake:266 (check_linker_flag): Unknown CMake command "check_linker_flag". ```
-
Peter Klausler authored
https://github.com/llvm/llvm-project/pull/78593 changed expression semantics to always include the names of parent components that were necessary to access an inherited component. This turns out to have broken calls to inherited NOPASS procedure bindings. Update the patch to omit explicit parent components when accessing bindings, while retaining them for component accesses (including procedure components).
-
MessyHack authored
Various behavior around creating affinity masks and detecting uniform topology depends on the topology being sorted. resort topology after adding processor group layer to ensure that the updated topology reflects the newly added processor group info. Observed that the topology was not sorted correctly on high core count AMD Epyc Genoa (2 sockets, 96 cores, 2 threads) using NUMA (NPS 2+).
-
Peter Klausler authored
When a Hollerith actual argument is associated with an unlimited polymorphic dummy argument, it's treated as if it were CHARACTER. Some other compilers treat it as if it had been BOZ, so emit a portability warning. Resolves https://github.com/llvm/llvm-project/issues/83548.
-
Alexey Bataev authored
Need to record casted extractelement for the externally used scalar, not original extract instruction.
-
Alexey Bataev authored
This reverts commit 8237520e to fix a crash in https://lab.llvm.org/buildbot/#/builders/198/builds/8891.
-
Daniel Thornburgh authored
-
Dave Lee authored
``` AssertionError: 'main' != 'call_through_indirect_hidden' ```
-
erichkeane authored
This reverts commit 5a953786. It was pointed out that this serves as documentation for the targets where the builtin files have yet to be converted, so this should be left in place. Reverting!
-
Jordan Rupprecht authored
Instead of directly annotating pexpect-based tests with `@skipIfWindows`, we can tag them with a new `pexpect` category. We still automatically skip windows behavior by adding `pexpect` to the skip category list if the platform is windows, but also allow non-Windows users to skip them by configuring cmake with `-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` As a prerequisite, remove the restriction that `@add_test_categories` can only apply to test cases, and we make the test runner look for categories on both the class and the test method.
-
Joseph Huber authored
Summary: This test is flaky on all targets I know of. We should disable it for now so running the test suite doesn't randomly fail 50% of the time.
-
Martin Storsjö authored
27ce26b0 added the new option -fvisibility-global-new-delete=, where -fvisibility-global-new-delete=force-hidden is equivalent to the old option -fvisibility-global-new-delete-hidden. At the same time, the old option was deprecated. Test for and use the new option form first; if unsupported, try using the old form. This avoids warnings in the MinGW builds, if built with Clang 18 or newer.
-
Alexey Bataev authored
Need to record casted extractelement for the externally used scalar, not original extract instruction.
-
Noah Goldstein authored
If we have something like `(select (icmp ult x, 8), x, y)`, we can use the `(icmp ult x, 8)` to help compute the knownbits of `x`. Closes #84699
-