- Aug 03, 2023
-
-
Aart Bik authored
This reverts commit e77e891d. Differential Revision: https://reviews.llvm.org/D156947
-
Augusto Noronha authored
Lots of users use "po" as their default print command. If the type doesn't implement the description function the output is often not what the user wants. Print a hint telling the user that they might prefer using "p" instead. Differential Revision: https://reviews.llvm.org/D153489
-
Nick Desaulniers authored
For code like: struct foo { ... }; struct bar { struct foo foo; }; const struct foo my_foo = { ... }; struct bar my_bar = { .foo = my_foo }; Eli Friedman points out the relevant part of the C standard seems to have some flexibility in what is considered a constant expression: 6.6 paragraph 10: An implementation may accept other forms of constant expressions. GCC 8 added support for these, so clang not supporting them has been a constant thorn in the side of source code portability within the Linux kernel. Fixes: https://github.com/llvm/llvm-project/issues/44502 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D76096 -
Joseph Huber authored
We previously defaulted to `sm_35` for the purpose of unspecified architecture. This was removed in new CUDA versions so we should bump this up. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D156936
-
Matt Arsenault authored
The first trivial example I tried failed to merge due to the user scan logic. Remove the complicated scan of users handling with distance thresholds, with a same block restriction. The actual expansion of sincos is basically the same size as sin or cos individually. Copy the technique the generic optimization uses, which is to just use the input instruction as the insert point or just insert at the start of the entry block. https://reviews.llvm.org/D156706
-
Philip Reames authored
Ran across this when making a change to RISCV memset lowering. Seems very odd that manually merging a store into a vector prevents it from being further merged. Differential Revision: https://reviews.llvm.org/D156349
-
Jakub Kuderski authored
Return gracefully instead of crashing. Add missing type conversion tests. Fixes: https://github.com/llvm/llvm-project/issues/61044 Reviewed By: qedawkins Differential Revision: https://reviews.llvm.org/D156942
-
Justin Bogner authored
We currently spell check options that are listed as unsupported, but this doesn't make much sense. If an option is explicitly unsupported why would one that's spelled similarly be useful? It looks like the reason this was added was that we explicitly mark all `--something` flags as Unsupported rather than just leaving them undefined and treating them as unknown. Drop that handling so that we don't regress on things like misspelling `--help`. Differential Revision: https://reviews.llvm.org/D156925
-
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.
-