- Jan 22, 2024
-
-
Emma Pilkington authored
Named '.amdhsa_code_object_version'. This directive sets the e_ident[ABIVERSION] in the ELF header, and should be used as the assumed COV for the rest of the asm file. This commit also weakens the --amdhsa-code-object-version CL flag. Previously, the CL flag took precedence over the IR flag. Now the IR flag/asm directive take precedence over the CL flag. This is implemented by merging a few COV-checking functions in AMDGPUBaseInfo.h.
-
Schrodinger ZHU Yifan authored
This patch fixes full build problems in https://github.com/llvm/llvm-project/issues/78721 (the header problem). The `libc.a` target can be built now. As a separate issue, `check-libc` is failing because undefined symbols from `libunwind`, which I do not actually know the reason yet. I will be looking into it.
-
- Jan 21, 2024
-
-
bobsayshilol authored
Spotted by inspection when trialling out `_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`. No other instances of `_LIPCPP_` were found in the repo.
-
Piotr Zegar authored
Add missing -fexceptions in test.
-
Florian Hahn authored
Follow-up to post-commit commens for b1bfe221.
-
Piotr Zegar authored
Fix issue with constructor call being interpreted as functional cast and considered for a replacement with static cast or being removed as redundant. Closes #57959
-
Mark de Wever authored
Clang-tidy 18 no longer has false positives with the spaceship operator. Note that I'm quite sure there are more occurrences in our headers that are not caught. This relands https://github.com/llvm/llvm-project/pull/76659 with fixes tested in https://github.com/llvm/llvm-project/pull/78746.
-
Mark de Wever authored
-
Shengchen Kan authored
[X86][NFC] Remove unnecessary parameters for MaskedShiftAmountPats/MaskedRotateAmountPats and rename one_bit_patterns This patch is to extract NFC in #78853 into a separate commit.
-
Mark de Wever authored
Installs the source files of the experimental libc++ modules. These source files (.cppm) are used by the Clang to build the std and std.compat modules. The design of this patch is based on a discussing in SG-15 on 12.12.2023. (SG-15 is the ISO C++ Tooling study group): - The modules are installed at a location, that is not known to build systems and compilers. - Next to the library there will be a module manifest json file. This json file contains the information to build the module from the libraries sources. This information includes the location where the sources are installed. @ruoso supplied the specification of this json file. - If possible, the compiler has an option to give the location of the module manifest file (https://github.com/llvm/llvm-project/pull/76451). Currently there is no build system support, but it expected to be added in the future. Fixes: https://github.com/llvm/llvm-project/issues/73089
-
Mark de Wever authored
Let the std.compat module use the std module instead of duplicating the exports. Based on @ChuanqiXu9's suggestion in #71438.
-
Mark de Wever authored
Revert "Revert #76246 and #76083" This reverts commit 5c150e7e. Adds a small fix that should properly disable the tests on Windows. Unfortunately the original poster has not provided feedback and the original patch did not fail in the LLVM CI infrastructure. Modules are known to fail on Windows due to non compliance of the C library. Currently not having this patch prevents testing on other platforms.
-
Hristo Hristov authored
Implements parts of: `P2637R3` https://wg21.link/P2637R3 (https://eel.is/c++draft/variant.visit) Implements: `basic_format_arg.visit()` `basic_format_arg.visit<R>()` Deprecates: `std::visit_format_arg()` The tests are as close as possible to the non-member function tests. To land after: https://github.com/llvm/llvm-project/pull/76447, https://github.com/llvm/llvm-project/pull/76268 --------- Co-authored-by:
Zingam <zingam@outlook.com>
-
Hristo Hristov authored
Co-authored-by:Zingam <zingam@outlook.com>
-
Matthias Springer authored
The buffer deallocation pass checks the IR ("operation preconditions") to make sure that there is no IR that is unsupported. In such a case, the pass signals a failure. The pass now rejects all ops with unknown memory effects. We do not know whether such an op allocates memory or not. Therefore, the buffer deallocation pass does not know whether a deallocation op should be inserted or not. Memory effects are queried from the `MemoryEffectOpInterface` interface. Ops that do not implement this interface but have the `RecursiveMemoryEffects` trait do not have any side effects (apart from the ones that their nested ops may have). Unregistered ops are now rejected by the pass because they do not implement the `MemoryEffectOpInterface` and neither do we know if they have `RecursiveMemoryEffects` or not. All test cases that currently have unregistered ops are updated to use registered ops. -
FantasqueX authored
Currently, if `CLANG_HAVE_LIBXML` is defined, and the version of libxml2 is above 2.12.0, there will be two warnings when building clang. warning: initializing 'xmlErrorPtr' (aka 'struct _xmlError *') with an expression of type 'const xmlError *' (aka 'const struct _xmlError *') discards qualifiers Since this commit https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7, libxml2 makes cmlGetLastError return a const error. This patch follows libxml2. Making the result a const pointer should be compatible with versions before 2.12.0. Tested on ArchLinux with libxml2 2.12.3 installed.
-
Matthias Springer authored
There is already a "block inserted" notification (in `OpBuilder::Listener`), so there should also be a "block removed" notification. The purpose of this change is to make the listener API more mature. There is currently a gap between what kind of IR changes can be made and what IR changes can be listened to. At the moment, the only way to inform listeners about "block removal" is to send a manual `notifyOperationModified` for the parent op (e.g., by wrapping the `eraseBlock(b)` method call in `updateRootInPlace(b->getParentOp())`). This tells the listener that *something* has changed, but it is somewhat of an API abuse.
-
Fangrui Song authored
nonlazybind is for declarations, not for definitions. We could test the behavior, but the output would be misleading.
-
Konstantin Varlamov authored
Introduce a new `argument-within-domain` category that covers cases where the given arguments make it impossible to produce a correct result (or create a valid object in case of constructors). While the incorrect result doesn't create an immediate problem within the library (like e.g. a null pointer dereference would), it always indicates a logic error in user code and is highly likely to lead to a bug in the program once the value is used.
-
Vitaly Buka authored
Follow up to #78862 These tests control hardening mode with `ADDITIONAL_COMPILE_FLAGS`, and always set modes which use on TRAP. So we don't need to check `libcpp-hardening-mode=fast`, and they must always fail with the current HWASAN implementation.
-
Aiden Grossman authored
This reverts commit aa04d2b7. Meant to push this to my fork and did not realize I was on main and not a separate branch.
-
Aiden Grossman authored
-
Fangrui Song authored
Prepare for -fno-plt implementation.
-
Hristo Hristov authored
Implements parts of: `P2637R3` https://wg21.link/P2637R3 (https://eel.is/c++draft/variant.visit) Implements: `variant.visit()` `variant.visit<R>()` The tests are as close as possible to the non-member function. To land after: https://github.com/llvm/llvm-project/pull/76268 --------- Co-authored-by:
Zingam <zingam@outlook.com>
-
ZhangYin authored
-
Aiden Grossman authored
This patch disables the mlgo-utils tests on Windows builders. MLGO is not currently supported on Windows. These tests were failing as some of them look for specific file paths and the path conventions are different between Linux and Windows.
-
Aiden Grossman authored
This patch updates the paths in the PR labelling config for the MLGO label. In particular, the path for the new mlgo-utils subfolder under llvm/utils has been added and two other files that were missed in the original introduction.
-
Aiden Grossman authored
The library files in the new mlgo-utils utilities folder only depend on absl.logging. The builtin Python logging library is a direct drop-in replacement here, so we can just change the include and drop the test dependency.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Vassil Vassilev authored
This test demonstrates template instantiation via the interpreter code. In order to do that we can allocate the object on the stack and extend its lifetime by boxing it into a clang::Value. That avoids the subtle problem where we call the new operator on an object only known to the interpreter and we cannot destroy it from compiled code since there is not suitable facility in clang::Value yet. That should resolve the asan issues that was reported in llvm/llvm-project#76218.
-
Jerry Wu authored
Don't insert cast ops for ops in `vector.mask` region in `VectorDropLeadUnitDim`.
-
lntue authored
-
XDeme authored
… return type. The behavior now is consistent with the non template version. Enabled and updated old test.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-