- Aug 03, 2023
-
-
Jonas Devlieghere authored
Check the interrupt flag while interpreting IR expressions and allow the user to interrupt them. Differential revision: https://reviews.llvm.org/D156822
-
Vitaly Buka authored
-
Krzysztof Drewniak authored
On Fedora, rocminfo is a fedora package and rocm_agent_enumberator is installed to /usr/bin. This causes this error when building. CMake Error at external/llvm-project/mlir/lib/ExecutionEngine/CMakeLists.txt:232 (message): Could not run rocm_agent_enumerator and ROCM_TEST_CHIPSET is not defined So use find_program() to look for rocm_agent_enumerator instead of assuming a single location. Signed-off-by:
Tom Rix <trix@redhat.com> Reviewed By: krzysz00 Differential Revision: https://reviews.llvm.org/D156826
-
Erick Velez authored
This reverts commit 8b76b44e.
-
Andrzej Warzynski authored
SUMMARY OF CHANGES ------------------ This patch aims to reduce test duplication and to improve code re-use in SparseTensor integration tests for CPU. This is a direct follow-up of: 1. https://reviews.llvm.org/D155403 (test duplication), and 2. https://reviews.llvm.org/D155405 (code re-use), The key logic for this patch is implemented in: * SparseTensor/CPU/lit.local.cfg. Essentially, the set-up that used to be repeated across all test files has been extracted into a common LIT configuration file. This makes code re-use straightforward. All SVE/VLA tests are now enabled _conditionally_ and refactored to use `mlir-cpu-runner` rather than `lli`. The former helps with test duplication and the latter with code re-use. A few additional refactoring changes are included. 1. The reduce verbosity, long runtime library names like: %mlir_native_utils_lib_dir/libmlir_c_runner_utils%shlibext are replaced with: %mlir_c_runner_utils 2. In order to keep the code and the comments in sync, and to maintain consistency across the tests, the following: enable-runtime-library=true is swapped with (and vice-versa): enable-runtime-library=false Note that this change won't affect test coverage. Only few tests required such update. 3. A VLS vectorization `RUN` line is added in tests where there was a VLA/VLS `RUN` line, but no VLS `RUN` line (with a few exceptions of tests that only contained one `RUN` line to begin with). 4. A few test variables are renamed/added. Most notable example: * %{options}` --> %{sparse_compiler_opts} TEST RUNTIME IMPROVEMENT ------------------------ Tl;Dr This change improves test execution time by ~25%. At the moment, the following `llvm-lit` invocation takes ~7.30s on my AArch64 workstation (with SVE): llvm-lit <llvm-project>/mlir/test/Integration/Dialect/SparseTensor/CPU/ This timing doesn't change no matter what the value of the following CMake variable is (that should disable some tests): MLIR_RUN_ARM_SVE_TESTS With this patch, the execution time will indeed depend on the value of the above CMake variable: * with `MLIR_RUN_ARM_SVE_TESTS=true` the timing remains intact, * with `MLIR_RUN_ARM_SVE_TESTS=false` the timing drops to ~5.40s (~25% improvement). This is expected: * on average there are 4 `RUN` lines per test, * _without this change_ (and with `MLIR_RUN_ARM_SVE_TESTS=false`) the 4th `RUN` line would in most cases duplicate the 3rd `RUN` line, * _with this change) (and with `MLIR_RUN_ARM_SVE_TESTS=false`) the 4th `RUN` line becomes empty. PATCH SIZE ---------- While rather large and touching many files, most changes in this patch are rather mechanical. All test configurations have been preserved and only in a handful of cases new `RUN` lines added. Differential Revision: https://reviews.llvm.org/D156625
-
Yaxun (Sam) Liu authored
Two run lines fail due to missing device libs for gfx902, which are fixed by using gfx1010 which has device lib. The other two spack tests have to be removed since there is no reliable way to make them pass/fail not depending on whether there is ROCm installed on the system. Reviewed by: Fangrui Song, Joseph Huber Differential Revision: https://reviews.llvm.org/D156935
-
MyDeveloperDay authored
* Allow pull request for clang-format changes Remove repo lockdown on clang-format specific directories * Missing / from unittests
-
Fangrui Song authored
"Flags" usually refers to boolean options and is used as such in other places of Options.td (e.g. "Target-dependent compilation options", "<clang-cl ignored options>"). This patch changes some misnomer group DocName from "flags" to "options".
-
Michael Jones authored
Other libc implementations support underscores in NaN(n-char-sequence) strings. Us not supporting that is causing fuzz failures, so this patch solves the problem. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D156927
-
Danila Kutenin authored
CodeGen/X86/pseudo_cmov_lower2.ll fails using libc++ debug mode (D150264) without this change. Reviewed By: MaskRay, aeubanks Differential Revision: https://reviews.llvm.org/D155811
-
Jacek Caban authored
Breaks CSKY tests. This reverts commit 948f205a.
-
Joseph Huber authored
This patch fixes failing tests after checking the return code from the driver. This is mostly due to the ROCm libraries not being present during most compilations. Passing `-nogpuinc` should allow us to compile without it for tests that require it. Additionally, some old tests set the architecture of Nvidia tests to `sm_35` which is officially unsupported in CUDA 12+ so it prints an error. We just increase in this case. Reviewed By: MaskRay, yaxunl Differential Revision: https://reviews.llvm.org/D156930
-
Vitaly Buka authored
Revert "Reapply: [MemCpyOpt] implement single BB stack-move optimization which unify the static unescaped allocas""" Breaks Asan and LTO. This reverts commit ea72b513.
-
Martin Erhart authored
This simplifies the op and avoids unnecessary alias checks introduced during the lowering to memref. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D156807
-
Alex Bradbury authored
These test cases previously caused an error. RISCVInstrInfo::copyPhysReg also needed a tweak in order to account for copying bf16 values in FPR16 registers. Differential Revision: https://reviews.llvm.org/D156883
-
Fangrui Song authored
Otherwise if the default target triple has `HasNativeLLVMSupport() == false`, the %clang command will exit with code 1 due to err_drv_no_linker_llvm_support. The issue is exposed by D156363.
-
Craig Topper authored
I want these to have RISC-V semantics not LLVM IR semantics. Specifically that -0.0 comes before +0.0. This is needed to emulate FMAXIMUM/FMINIMUM for vectors.
-
Fabio D'Urso authored
This reverts commit 145a9290.
-
Tamir Duberstein authored
Review requested by @ast and @yonghong-song. This reverts commit 82bc1839.
-
Augie Fackler authored
ASan catches this easily enough.
-
Blue Gaston authored
This patch enables linking of the static archive when fsanitize-stable-abi is set and stops linking to the asan dylib. To link to the Address Sanitizer stable abi static library use "-fsanitize=address -fsanitize-stable-abi" Updates a test with these flags. rdar://112480890 Differential Revision: https://reviews.llvm.org/D156718
-
Aiden Grossman authored
Currently, the example workspace files do not work properly. The llvm_disable_optional_support_deps option was removed in 7b5d6cd7 and zlib and zstd have been needed-by-default dependencies for a while, so it would make sense to show definitions in the example bazel workspace files, especially given the version sensitivity of the zlib-ng build. This patch removes the use of dated build config flags and adds dependency definitions to both of the example workspaces. Reviewed By: aaronmondal Differential Revision: https://reviews.llvm.org/D156654
-
Tamir Duberstein authored
When compiling Rust code we sometimes see incomplete debug info leading to crashes. Narrow the interfaces so we can see where it happens. Reviewed By: ajwerner Differential Revision: https://reviews.llvm.org/D156443
-
Ethan Luis McDonough authored
This patch applies the semantic checks for executable allocation directives to the new allocators construct. It also introduces a new check that ensures all items in the list appear in the corresponding Fortran allocate statement. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D150428
-
Slava Zakharin authored
For character type with unknown length we end up generating a GEP with the base type `llvm.ptr<i[width]>`. The GEP produces the address of the first element of the slice, and it should be using the offset computed in the number of characters, while we were providing the offset in bytes. Simple reproducer fails with and w/o HLFIR: ``` program test integer,parameter :: ck = 4 character(:,ck),allocatable :: res(:,:) allocate(character(3,ck) :: res(2,2)) res(1,1) = ck_'111' res(1,2) = ck_'222' res(2,1) = ck_'333' res(2,2) = ck_'444' call check(res) contains subroutine check(res) character(:,ck),allocatable :: res(:,:) print *, res(2,:) end subroutine check end program test ``` Reviewed By: clementval Differential Revision: https://reviews.llvm.org/D156849 -
Slava Zakharin authored
A section of a parameter array may be non-contiguous, so the current !IsVariable(expr) check is too optimistic to claim contiguity. This patch fixes issues with incorrect hlfir.designate op generated during lowering: the lowering queries IsContiguous to decide whether to use fir.box<fir.array> or plain fir.ref<fir.array> to represent the designator result. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D156494
-
Augie Fackler authored
-
Daniil Dudkin authored
This patch improves the lowering by changing target LLVM intrinsics from `reduce.fmax` and `reduce.fmin`, which have different semantic for handling NaN, to `reduce.fmaximum` and `reduce.fminimum` ones. Fixes #63969 Depends on D155869 Reviewed By: dcaballe Differential Revision: https://reviews.llvm.org/D155877
-
4vtomat authored
Depends on D141672 Differential Revision: https://reviews.llvm.org/D138809
-
Alex Langford authored
There were some checks removed previously in bc196970. However, all these SPIs are actually defined in macOS 12 and onward, not macOSX 10.12 as the previous commit would suggest. As a result, if you have access to these SPIs lldb will fail to compile correctly. Instead of adding back the __builtin_availability checks, it seems easier just to check the minimum deployment target with Availability macros. Differential Revision: https://reviews.llvm.org/D156838
-
Erick Velez authored
Add ExtractAPI support C++ classes, fields, methods, and various qualifiers and specifiers Differential Revision: https://reviews.llvm.org/D153557
-
Kevin P. Neal authored
This reverts commit d9b1036b. Bots are showing breakage.
-
Kevin P. Neal authored
Correct InstSimplify strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Some of these tests needed the strictfp attribute on function definitions. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do. Test changes verified with D146845.
-
Matt Arsenault authored
These don't really happen with opaque pointers.
-
Nikolas Klauser authored
Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D155261
-
Kevin P. Neal authored
Correct InstCombine strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Mostly these tests just needed the strictfp attribute on function definitions. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do. Test changes verified with D146845.
-
Craig Topper authored
Reviewed By: reames Differential Revision: https://reviews.llvm.org/D156830
-
Philip Reames authored
-
Mark de Wever authored
This should fix an error in the Apple CI.
-
Florian Hahn authored
Update adjustRecipesForReductions to directly use the VPlan def-use chains for in-loop reductions to collect the reduction operations that need adjusting. This allows the removal of * ReductionChainMap * recording of recipes for instruction in the reduction chain * removes late uses of getVPValue * removes to need for removeVPValueFor. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D155845
-