- May 10, 2022
-
-
Michael Kruse authored
This fixes the polly-*-plugin buildbots.
-
Peter Klausler authored
The related real number system inquiry functions SPACING() and RRSPACING() can be folded for constant arguments. See 16.9.164 & 16.9.180 in Fortran 2018. Differential Revision: https://reviews.llvm.org/D125100
-
Alexey Bataev authored
This reverts commit 99f31acf and several others to fix detected crashes, reported in https://reviews.llvm.org/D115750
-
Peter Klausler authored
When the result can be known at compilation time, fold it. Success depends on whether the operands are polymorphic. When neither one is polymorphic, the result is known and can be either .TRUE. or .FALSE.; when either one is polymorphic, a .FALSE. result still can be discerned. Differential Revision: https://reviews.llvm.org/D125062
-
Alexey Bataev authored
If the same scalar is inserted several times into the same buildvector, the mask index can be used already. In this case need to check, that this scalar is already part of the vectorized buildvector.
-
Peter Klausler authored
A BACKSPACE statement on a unit after a READ or WRITE with ADVANCE="NO" must reset the position to the beginning of the record, not to the beginning of the previous one. Differential Revision: https://reviews.llvm.org/D125057
-
Peter Klausler authored
I'm emitting zero characters for (G0) formatting of CHARACTER values instead of using their lengths to determine the output field width. Differential Revision: https://reviews.llvm.org/D125056
-
Peter Klausler authored
A repeated format item group with an unlimited ('*') repetition count can appear only as the last item at the top level of a format; it can't be nested in more parentheses and it can't be followed by anything else. Differential Revision: https://reviews.llvm.org/D125054 -
Peter Klausler authored
When formatted CHARACTER input runs into the end of an input record, the runtime usually fills the remainder of the variable with spaces, but this should be conditional, and not done when PAD='NO'. And while here, add some better comments to two members of connection.h to make their non-obvious relationship more clear. Differential Revision: https://reviews.llvm.org/D125053
-
Peter Klausler authored
The closing parenthesis needs to be consumed when a NaN with parenthesized (ignored) information is read on the real input path that preprocesses input characters before passing them to the decimal-to-binary converter. Differential Revision: https://reviews.llvm.org/D125048
-
Thomas Raoux authored
Add attribute to be able to generate the intrinsic version of async copy generating a copy with l1 bypass. This correspond to cp.async.cg.shared.global in ptx. Differential Revision: https://reviews.llvm.org/D125241
-
Florian Hahn authored
This reverts commit 8b482234. This triggers an assertion on a test case mentioned in D123720. Revert while I investigate.
-
Michael Kruse authored
Fix the warning warning: 'polly::ScopViewer' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor] and for several other classes by inserting virtual destructors.
-
Michael Kruse authored
Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D123678
-
Michael Kruse authored
Rename the legacy `DOTGraphTraits{Module,}{Viewer,Printer}` to the corresponding `DOTGraphTraits...WrapperPass`, and implement a new `DOTGraphTraitsViewer` with new pass manager. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D123677 -
Chris Bieneman authored
In supporting opaque pointers we need to re-materialize typed pointers in bitcode emission. Because of how the value-enumerator pre-allocates types and instructions we need to insert some no-op bitcasts in the places that we'll need bitcasts for the pointer types. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D122269
-
Clemens Wasser authored
Inlining `LSAN_BASE` makes the lsan TestCases more consistent to the other sanitizer TestCases. It is also needed on Windows: https://reviews.llvm.org/D115103 Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D124322
-
Stella Stamenova authored
There are a couple of issues with the python bindings on Windows: - `create_symlink` requires special permissions on Windows - using `copy_if_different` instead allows the build to complete and then be usable - the path to the `python_executable` is likely to contain spaces if python is installed in Program Files. llvm's python substitution adds extra quotes in order to account for this case, but mlir's own python substitution does not - the location of the shared libraries is different on windows - if the type is not specified for numpy arrays, they appear to be treated as strings I've implemented the smallest possible changes for each of these in the patch, but I would actually prefer a slightly more comprehensive fix for the python_executable and the shared libraries. For the python substitution, I think it makes sense to leverage the existing %python instead of adding %PYTHON and instead add a new variable for the case when preloading is needed. This would also make it clearer which tests are which and should be skipped on platforms where the preloading won't work. For the shared libraries, I think it would make sense to pass the correct path and extension (possibly even the names) to the python script since these are known by lit and don't have to be hardcoded in the test at all. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D125122
-
Pavel Labath authored
We default to that anyway. It does not work on windows, and since ac7747ef, the flag actually takes effect.
-
Pavel Labath authored
This matches what we do with CFLAGS, and it started to matter 8abfa511, which added some -std=-apending code.
-
Kazu Hirata authored
This patch clarifies the semantics of ADDCARRY/SUBCARRY, specifically stating that both the incoming and outgoing carries are active high. Differential Revision: https://reviews.llvm.org/D125130
-
Kai Nacke authored
The DAG node for the Test Data Class is defined using i64 as the second parameter. However, the code to lower is_fpclass uses `i32` as type. This only works because no type check is generated in the DAG matcher. This PR changes the type of the mask constant to `i64`. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D125230
-
Arthur Eubanks authored
Matches the error message we emit with `-opt -O# --passes=foo`. Otherwise we crash later on. Makes #55320 much less confusing. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D125196
-
Alexey Bataev authored
We can try to vectorize number of stores less than MinVecRegSize / scalar_value_size, if it is allowed by target. Gives an extra opportunity for the vectorization. Fixes PR54985. Differential Revision: https://reviews.llvm.org/D124284
-
Anastasia Stulova authored
-
Jakub Tucholski authored
Issue #55173 Reviewed By: lattner, rriddle Differential Revision: https://reviews.llvm.org/D124791
-
Sam McCall authored
It should be useful clang-fuzzer itself, though my own motivation is to use this in fuzzing clang-pseudo. (clang-tools-extra/pseudo/fuzzer). Differential Revision: https://reviews.llvm.org/D125166
-
Erich Keane authored
This reverts commit a425cac3. There is another libc++ test, that this time causes us to hit an assertion. Reverting, likely for a while this time.
-
Philip Reames authored
These are aimed at a possible miscompile spotted in the vmv.s.x/f mutation case, but it appears this is a latent bug. Or at least, I haven't been able to construct a case with compatible policy flags via intrinsics.
-
- May 09, 2022
-
-
Fraser Cormack authored
These can be selected to unmasked from masked instructions by the post-process DAG step. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D125239
-
Jerry Wu authored
This patch fixed the padding size calculation for Conv2d ops when the stride > 1. It contains the changes below: - Use addBound to add constraint for AffineApplyOp in getUpperBoundForIndex. So the result value can be mapped and retrieved later. - Fixed the bound from AffineMinOp by adding as a closed bound. Originally the bound was added as an open upper bound, which results in the incorrect bounds when we multiply the values. For example: ``` %0 = affine.min affine_map<()[s0] -> (4, -s0 + 11)>()[iv0] %1 = affine.apply affine_map<()[s0] -> (s0 * 2)>()[%0] If we add the affine.min as an open bound, addBound will internally transform it into the close bound "%0 <= 3". The following sliceBounds will derive the bound of %1 as "%1 <= 6" and return the open bound "%1 < 7", while the correct bound should be "%1 <= 8". ``` - In addition to addBound, I also changed sliceBounds to support returning closed upper bound, since for the size computation, we usually care about the closed bounds. - Change the getUpperBoundForIndex to favor constant bounds when required. The sliceBounds will return a tighter but non-constant bounds, which can't be used for padding. The constantRequired option requires getUpperBoundForIndex to get the constant bounds when possible. Reviewed By: hanchung Differential Revision: https://reviews.llvm.org/D124821
-
Ashay Rane authored
This patch augments the `tensor-bufferize` pass by adding a conversion rule to translate ReshapeOp from the `tensor` dialect to the `memref` dialect, in addition to adding a unit test to validate the translation. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D125031
-
Pavel Labath authored
modify the Makefile.rules line which was interfering with the target-specific variable values.
-
Zarko Todorovski authored
Adding the `-ignorelist` option that may eventually replace `-blacklist`. With this patch `sancov` accepts both options. Reviewed By: quinnp Differential Revision: https://reviews.llvm.org/D113514
-
Alex Richardson authored
This flag is added by clang::driver::tools::addLTOOptions() and was causing errors for me when building the llvm-test-suite repository with LTO and -DTEST_SUITE_COLLECT_STATS=ON. This replaces the --stats-file= option added in 1c04b52b since the flag is only used for LTO and should therefore be in the -plugin-opt= namespace. Additionally, this commit fixes the `REQUIRES: asserts` that was added in 948d0532: the feature was never defined in the lld test suite so it effectively disabled the test. Reviewed By: MaskRay, MTC Differential Revision: https://reviews.llvm.org/D124105
-
Simon Pilgrim authored
-
Alexey Bataev authored
Need to use actual index instead of the tree entry position, since the insert index may be different than 0. It mean, that we vectorized part of the buildvector starting from not initial insertelement instruction beause of some reason.
-
Nikita Popov authored
Fold %x umin_seq %y to %x if %x ule %y. This also subsumes the special handling for constant operands, as if %y is constant this folds to umin via implied poison reasoning, and if %x is constant then either %x is not zero and it folds to umin, or it is known zero, in which case it is ule anything.
-
Nikita Popov authored
-
Micah Weston authored
Ensures an -Wenum-conversion warning happens when one of the enums is signed and the other is unsigned. Also adds a test file to verify these warnings. This warning would not happen since the -Wsign-conversion would make a diagnostic then return, never allowing the -Wenum-conversion checks. For example: C enum PE { P = -1 }; enum NE { N }; enum NE conv(enum PE E) { return E; } Before this would only create a diagnostic with -Wsign-conversion and never on -Wenum-conversion. Now it will create a diagnostic for both -Wsign-conversion and -Wenum-conversion. I could change it to just warn on -Wenum-conversion as that was what I initially did. Seeing PR35200 (or GitHub Issue 316268), I let both diagnostics check so that the sign conversion could generate a warning.
-