- Oct 07, 2022
-
-
Mike Hommey authored
Regression from D131400: cross-language LTO causes a crash in the compiler on the NULL deref of Scope in `isa` call when Rust IR is involved. Presumably, this might affect other languages too, and even Rust itself without cross-language LTO when the Rust compiler switched to LLVM 16. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D134616
-
Michał Górny authored
Fix the use_lld() to use llvm_shlib_dir similarly to how use_clang() does it. This fixes use_lld() wrongly prepending llvm_libs_dir, i.e. the directory with system-installed LLVM libraries before the build directory of standalone build. As a result, the shared libraries from an earlier version of clang end up being used instead of the newly built version when running the test suite prior to installing. To reproduce the problem, build and install LLVM with dylibs first, e.g.: cmake ../llvm -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_INSTALL_PREFIX="${HOME}"/llvm-test \ -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_INSTALL_UTILS=ON ninja install Then build clang against that installation and run tests: export LD_LIBRARY_PATH=~/llvm-test/lib export PATh=~/llvm-test/bin:"${PATH}" cmake ../clang -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_INSTALL_PREFIX="${HOME}"/llvm-test \ -DCLANG_LINK_CLANG_DYLIB=ON -DLLVM_BUILD_TESTS=ON \ -DLLVM_EXTERNAL_LIT="${PWD}"/bin/llvm-lit ninja check-clang The tests will be run with LD_LIBRARY_PATH of: /home/${USER}/llvm-test/lib:/home/${USER}/llvm-project/build-clang/lib As a result, installed libclang-cpp will take precedence over the one from build dir. With the patch, the correct path is used, i.e.: /home/${USER}/llvm-project/build-clang/lib:/home/${USER}/llvm-test/lib Differential Revision: https://reviews.llvm.org/D135368 -
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D134917
-
Peter Collingbourne authored
-
Peter Collingbourne authored
Android does not use a shared libunwind.so and its presence in the build directory can be harmful, for example it can end up being dynamically linked against while not being present on the device.
-
Vladimir Vereschaka authored
Do not specify the execution directory in the remote execution script command line for the compiler-rt builtin library tests. There is a single execution file tests within the single directory. No need to pack all of them every time, just run one by one.
-
Vladimir Vereschaka authored
Allowed a single file execution without the execution directory.
-
Xiang Li authored
Now only DXILTranslateMetadata uses DXILResources, so DXILResourceWrapper is only used by DXILTranslateMetadata. Once we add lower for createHandle, DXILResourceWrapper will be used in more passes. Also we can add resource index allocation in DXILResourceWrapper. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D135190
-
Slava Zakharin authored
TARGET dummy arguments have fir.target attribute attached to them, but globals do not have any sign of TARGET. This patch adds target attribute for globals, which can be queried via ::fir::GlobalOp::getTarget(). Differential Revision: https://reviews.llvm.org/D135313
-
Matthias Springer authored
The wrong function overload was called. Differential Revision: https://reviews.llvm.org/D135342
-
Joseph Huber authored
Summary: This added a check for no unknown argument warnings. This apparently occurs in the Windows toolchain as it cannot find a toolchain. This patch fixes it by just ignoring this warning.
-
Mehdi Amini authored
-
Kai Sasaki authored
Using '|&' syntax for piping both stdout and stderr is not supported by older bash. macOS pre-installs 3.2.57 as of today, and it causes test failure due to unexpected token '&'. We can use '2>&1' instead to make it compatible as much as possible. ``` ******************** TEST 'MLIR :: mlir-cpu-runner/invalid.mlir' FAILED ******************** Script: -- : 'RUN: at line 1'; not mlir-cpu-runner --no-implicit-module llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir |& llvm-project/build/bin/FileCheck llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir -- Exit Code: 2 Command Output (stderr): -- mlir-cpu-runner/Output/invalid.mlir.script: line 1: syntax error near unexpected token `&' /mlir-cpu-runner/Output/invalid.mlir.script: line 1: `set -o pipefail;{ : 'RUN: at line 1'; not mlir-cpu-runner --no-implicit-module llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir |& llvm-project/build/bin/FileCheck llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir; }' ``` Reference: https://stackoverflow.com/questions/35384999/what-does-mean-in-bash Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D135347 -
Qiongsi Wu authored
https://reviews.llvm.org/D134668 removed all `--` (double dashes) when using `plugin-opt` to pass linker options and replaced them with `-`. https://reviews.llvm.org/D133092 was committed later but introduced an instance of `--`. This patch replaces the `--` with `-`. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D135400
-
Joseph Huber authored
The `cl-uniform-work-group` attribute asserts that the global work-size be a multiple of the work-group specified work group size. This should allow optimizations. It is already present by default in the AMD compiler and for HIP kernels so it should be safe to allow this for OpenMP kernels by default. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D135374
-
Jan Svoboda authored
This is a follow-up to D134224. The original patch added new `ExcludedHeader` enumerator to `ModuleMap::ModuleHeaderRole` and started associating headers with the modules they were excluded from. This was necessary to consider their module maps as "affecting" in certain situations and in turn serialize them into the PCM. The association of the header and module needs to be handled when deserializing the PCM as well, though. This patch fixes a potential assertion failure and a regression. This essentially reverts parts of feb54b6d. Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D135381
-
Joseph Huber authored
The offloading toolchain makes heavy use of options beginning with `--o`. This is problematic when combined with the joined `-o` flag. In the following situation, the user will not get the expected output and will not notice as the expected output will still be written. ``` clang++ -x cuda foo.cu -offload-arch=sm_80 -o foo ``` This patch introduces a warning that checks for joined `-o` arguments that would also be a valid driver argument if an additional `-` were added. I believe this situation is uncommon enough to warrant a warning, and can be trivially fixed by the end user by using the more common separate form instead. Reviewed By: tra, MaskRay Differential Revision: https://reviews.llvm.org/D135389
-
Leonard Chan authored
I accidentally cleared ForwardRefDSOLocalEquivalentNames twice instead. Differential Revision: https://reviews.llvm.org/D135315
-
Craig Topper authored
I tend to think we should ignore the policy bit in vsetvli insertion if the tied operand is IMPLICIT_DEF. But that raises questions about what the policy operand on RVV intrinsics means if you also pass vundefined(). This change at least fixes some cases. I'll post a separate patch for vsetvli insertion for discussion. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D135386
-
Alina Sbirlea authored
[SmallVector] Reallocate if assigned memory is right after the current vector, created with capacity 0 Potential solution for https://github.com/llvm/llvm-project/issues/57324. Differential Revision: https://reviews.llvm.org/D132512
-
Michael Jones authored
Signal is currently fullbuild only, so all functions inside it should be as well. Differential Revision: https://reviews.llvm.org/D135410
-
Michael Jones authored
Add the kill syscall wrapper and tests. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D135406
-
Peter Klausler authored
Don't return a hard .FALSE. when folding IS_CONTIGUOUS() unless the subscript triplets are discontiguous and array section is nonempty, or if the array section is nonempty and there is a vector subscript. Differential Revision: https://reviews.llvm.org/D135334
-
Peter Klausler authored
-
Peter Klausler authored
A namelist input item that is a derived type component reference needs additional processing when the base item or the component is an array. When both have rank > 0, the component reference must of course be subscripted. (Fixes https://gitlab-master.nvidia.com/fortran/f18-stage/-/issues/999, NAG test t/tz2.)
-
Ellis Hoag authored
I forgot to add documentation for these options when I added them to the `show` command, so add them now. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D135383
-
Michael Jones authored
Previously the futex type was defined in terms of unsigned int, now it's uint32, which is more portable. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D135408
-
Philip Reames authored
We can lower these as an or with the negative of the condition value. This appears to result in significantly less branch-y code on multiple common idioms (as seen in tests). Differential Revision: https://reviews.llvm.org/D135316
-
Philip Reames authored
This is a non-trivial property relied upon by D135396. I wrote this to convince myself it was true. Differential Revision: https://reviews.llvm.org/D135403
-
LLVM GN Syncbot authored
-
Xiang Li authored
After generated call for ctor/dtor for entry, global variable for ctor/dtor are useless. Remove them for non-lib profiles. Lib profile still need these in case export function used the global variable which require ctor/dtor. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D133993
-
Shubham Sandeep Rastogi authored
This reverts commit d96ade00.
-
Hui Xie authored
implement `std::ranges::basic_istream_view` and `std::views::istream`. Although the view itself is constexpr, the constructor argument is a base class std::istream where its ctor/dtor are not constexpr. So no tests are performed in constexpr Differential Revision: https://reviews.llvm.org/D133317
-
Peter Klausler authored
A namelist input item that is a derived type component reference needs additional processing when the base item or the component is an array. When both have rank > 0, the component reference must of course be subscripted. Differential Revision: https://reviews.llvm.org/D135218
-
Shubham Sandeep Rastogi authored
This patch had to be reverted because on gcc 7.5.0 we see an error converting from std::unique_ptr<MCRegisterInfo> to Expected<std::unique_ptr<MCRegisterInfo>> as the return type for the function createRegInfo. This has now been fixed.
-
Peter Klausler authored
An error message in semantic analysis of SELECT TYPE type guards doesn't allow for the possibility of failure from FindSourceLocation(), and that can happen when the type guard is just an intrinsic type name like "type is (character)". Deal with it. Differential Revision: https://reviews.llvm.org/D135217
-
Jeffrey Byrnes authored
Register allocation is split into two passes, and the expected behavior is that the first pass only should only work on virtual SGPRs. Whereas the second pass works on virtual VGPRs. This adds a test case which breaks if the first pass allocates VGPRs. Differential Revision: https://reviews.llvm.org/D135331
-
LLVM GN Syncbot authored
-
Matthew Voss authored
This new pass for llvm-reduce attempts to reduce DebugInfo metadata. The process used is: 1. Scan every MD node, keeping track of nodes already visited. 2. Look for DebugInfo nodes, then record any operands that are lists. 3. Bisect though all the elements of the collected lists. Differential Revision: https://reviews.llvm.org/D132077
-