- Apr 12, 2022
-
-
Liqin Weng authored
Reviewed By: xbolva00, spatel, Chenbing.Zheng Differential Revision: https://reviews.llvm.org/D123486
-
Alexander Shaposhnikov authored
This diff extends foldSelectInstWithICmp to handle the case icmp(X) ? f(X) : C when f(X) is guaranteed to be equal to C for all X in the exact range of the inverse predicate. This addresses the issue https://github.com/llvm/llvm-project/issues/54089. Differential revision: https://reviews.llvm.org/D123159 Test plan: make check-all
-
rdzhabarov authored
Differential Revision: https://reviews.llvm.org/D123558
-
Alexander Shaposhnikov authored
Differential revision: https://reviews.llvm.org/D123430 Test plan: make check-all
-
Craig Topper authored
As far as I know getNode will never return a null SDValue. I'm guessing this was modeled after the FoldConstantArithmetic call earlier. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D123550
-
Vitaly Buka authored
-
Vitaly Buka authored
They didn't match sanitizer_common for 32bit.
-
Matt Arsenault authored
Reject acquire stores and release loads. This matches the restriction imposed by the LLParser and IR verifier.
-
Matt Arsenault authored
Minimizes the test diffs in future changes from introduction of -NEXT.
-
Arthur Eubanks authored
Use the new pass manager. This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn't seem to be tested. No need to initialize passes outside of constructing the PassBuilder with the new pass manager. Reland: Fixed custom calls to `-lower-matrix-intrinsics` in integration tests by replacing them with `-O0 -enable-matrix`. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D123425
-
LLVM GN Syncbot authored
-
Arthur Eubanks authored
This reverts commit b0f7f6f7. Causes test failures: https://lab.llvm.org/buildbot#builders/61/builds/24879
-
Matt Arsenault authored
This is really a replacement for memSizeInBytesNotPow2 that actually does what most every target wants. In particular, since s1 rounds to 1 byte, it wasn't lowered by this predicate. This results in targets needing to think harder and add more matchers to catch all the degenerate cases. Also small bug fix that prevented the correct insertion of G_ASSERT_ZEXT in the AArch64 use case.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
This reverts commit 8a85be80. The unrelated failure this exposed was fixed.
-
Mahesh Ravishankar authored
The method to add elementwise ops fusion patterns pulls in many other patterns by default. The patterns to pull in along with the elementwise op fusion should be upto the caller. Split the method to pull in just the elementwise ops fusion pattern. Other cleanup changes include - Move the pattern for constant folding of generic ops (currently only constant folds transpose) into a separate file, cause it is not related to fusion - Drop the uber LinalgElementwiseFusionOptions. With the populateElementwiseOpsFusionPatterns being split, this has no utility now. - Drop defaults for the control function. - Fusion of splat constants with generic ops doesnt need a control function. It is always good to do. Differential Revision: https://reviews.llvm.org/D123236
-
Arthur Eubanks authored
Use the new pass manager. This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn't seem to be tested. No need to initialize passes outside of constructing the PassBuilder with the new pass manager. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D123425
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Changpeng Fang authored
Summary: In emitting metadata for implicit kernel arguments, we need to be in sync with the actual loads to align the implicit kernel argument segment to 8 byte boundary. In this work, we simply force this alignment through the first implicit argument. In addition, we don't emit metadata for any implicit kernel argument if none of them is actually used. Reviewers: arsenm, b-sumner Differential Revision: https://reviews.llvm.org/D123346
-
River Riddle authored
This avoids emitting errors in situations where the user doesn't have a server setup, and doesn't mean to (e.g. when they merely want syntax highlighting). Differential Revision: https://reviews.llvm.org/D123240
-
River Riddle authored
We currently proactively create language clients for every workspace folder, and every language. This makes startup time more costly, and also emits errors for missing language servers in contexts that the user currently isn't in. For example, if a user opens a .mlir file we don't want to emit errors about .pdll files. We also don't want to emit errors for missing servers in workspace folders that don't even utilize MLIR. This commit refactors client creation to lazy-load when a document that requires the server is opened. Differential Revision: https://reviews.llvm.org/D123184
-
River Riddle authored
In a previous commit we added proper support for separate configurations per workspace folder, but that effectively broke support for processing out-of-workspace files. Given how useful this is (e.g. when iterating on a test case in /tmp), this commit refactors server creation to support this again. We support this case using a "fallback" server that specifically handles files not within the workspace. This uses the configuration settings for the current workspace itself (not the specific folder). Differential Revision: https://reviews.llvm.org/D123183
-
Luboš Luňák authored
Places calling LoadModuleAtAddress() already call ModulesDidLoad() after a loop calling LoadModuleAtAddress(), so it's not necessary to call it from there, and the batched ModulesDidLoad() may be more efficient than this place calling it one after one. This also makes the ModuleLoadedNotifys test pass on Linux now that the duplicates no longer bring down the average of modules notified per call. Differential Revision: https://reviews.llvm.org/D123128
-
River Riddle authored
We don't actually have any documentation today for how to declaratively define a dialect. This commit rectifies that and properly documents how to define a Dialect in tablegen, and details all of the possible fields. Differential Revision: https://reviews.llvm.org/D123258
-
River Riddle authored
OpBase is currently extremely overbloated with constructs. This commit continues the current process of cleaning this up, by splitting out dialect definition constructs. This maps the ODS side more closely to the C++ side. Differential Revision: https://reviews.llvm.org/D123257
-
Rahman Lavaee authored
I find that this is useful for finding event hotspots. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D123067
-
Ben Barham authored
If the `ExternalFS` has already remapped to an external path then `RedirectingFileSystem` should not change it to the originally provided path. This fixes the original path always being used if multiple VFS overlays were provided and the path wasn't found in the highest (ie. first in the chain). For now this is accomplished through the use of a new `ExposesExternalVFSPath` field on `vfs::Status`. This flag is true when the `Status` has an external path that's different from its virtual path, ie. the contained path is the external path. See the plan in `FileManager::getFileRef` for where this is going - eventually we won't need `IsVFSMapped` any more and all returned paths should be virtual. Resolves rdar://90578880 and llvm-project#53306. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D123398
-
Louis Dionne authored
If a single test has been running for more than 20 minutes on a CI node, something is wrong and it should time-out instead of running until the node potentially times out itself. Differential Revision: https://reviews.llvm.org/D114896
-
Fangrui Song authored
The only user was removed by d351f54a.
-
Craig Topper authored
Materializing constants on RISCV is simpler if the constant is sign extended from i32. By default i32 constant operands of phis are zero extended. This patch adds a hook to allow RISCV to override this for i32. We have an existing isSExtCheaperThanZExt, but it operates on EVT which we don't have at these places in the code. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D122951
-
Tue Ly authored
The FMA header was included inside namespaces in multiply_add.h. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D123539
-
Joseph Huber authored
Summary: A previous patch added the option to use the default pipeline when perfomring LTO rather than the regular LTO pipeline. This greatly improved performance regressions we were observing with the LTO pipeline. However, this should not be used if the user explicitly disables optimizations as the default pipeline expects some optimizatoins to be perfomed.
-
Fangrui Song authored
lib/Support/ThreadLocal.cpp has been uncompilable since rL158346 (2012-06) when `data` became a char array. The error looks like ``` ...llvm/lib/Support/Unix/ThreadLocal.inc:66:57: error: array type 'char[8]' is not assignable void ThreadLocalImpl::setInstance(const void* d) { data = const_cast<void*>(d);} ``` -
Florian Mayer authored
Tested on an example callstack with misplaced binaries from Android. Tested Regex against callstack without Build ID to confirm it still works. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D123437
-